
/* WARNING: Function: __x86.get_pc_thunk.ax replaced with injection: get_pc_thunk_ax */
/* DWARF original prototype: void Versions(Versions * this, Version_script_info * version_script,
   Stringpool * dynpool) */

void __thiscall
gold::Versions::Versions(Versions *this,Version_script_info *version_script,Stringpool *dynpool)

{
  pointer ppVVar1;
  pointer pcVar2;
  iterator __position;
  Key KVar3;
  pointer pbVar4;
  uint uVar5;
  char *version;
  Verdef *pVVar6;
  uint uVar7;
  undefined4 *__n_elt;
  __node_base *p_Var8;
  pointer pbVar9;
  pointer pbVar10;
  __node_type *__node;
  basic_string<char,_std::char_traits<char>,_std::allocator<char>_> *local_50;
  uint local_4c;
  basic_string<char,_std::char_traits<char>,_std::allocator<char>_> *local_44;
  undefined1 local_40 [4];
  Key version_key;
  Verdef *vd;
  vector<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>
  versions;
  vector<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>
  local_28 [2];
  
  (this->defs_).super__Vector_base<gold::Verdef*,_std::allocator<gold::Verdef*>_>._M_impl._M_start =
       (pointer)0x0;
  (this->defs_).super__Vector_base<gold::Verdef*,_std::allocator<gold::Verdef*>_>._M_impl._M_finish
       = (pointer)0x0;
  (this->defs_).super__Vector_base<gold::Verdef*,_std::allocator<gold::Verdef*>_>._M_impl.
  _M_end_of_storage = (pointer)0x0;
  (this->needs_).super__Vector_base<gold::Verneed*,_std::allocator<gold::Verneed*>_>._M_impl.
  _M_start = (pointer)0x0;
  (this->needs_).super__Vector_base<gold::Verneed*,_std::allocator<gold::Verneed*>_>._M_impl.
  _M_finish = (pointer)0x0;
  (this->needs_).super__Vector_base<gold::Verneed*,_std::allocator<gold::Verneed*>_>._M_impl.
  _M_end_of_storage = (pointer)0x0;
  uVar5 = 0;
  do {
    *(undefined4 *)((int)&(this->version_table_)._M_h._M_buckets + uVar5) = 0;
    uVar5 = uVar5 + 4;
  } while (uVar5 < 0x1c);
  (this->version_table_)._M_h._M_bucket_count = 1;
  (this->version_table_)._M_h._M_buckets = &(this->version_table_)._M_h._M_single_bucket;
  ppVVar1 = (version_script->version_trees_).
            super__Vector_base<gold::Version_tree*,_std::allocator<gold::Version_tree*>_>._M_impl.
            _M_finish;
  (this->version_table_)._M_h._M_before_begin._M_nxt = (_Hash_node_base *)0x0;
  (this->version_table_)._M_h._M_element_count = 0;
  (this->version_table_)._M_h._M_rehash_policy._M_max_load_factor = 1.0;
  (this->version_table_)._M_h._M_rehash_policy._M_next_resize = 0;
  (this->version_table_)._M_h._M_single_bucket = (__bucket_type)0x0;
  this->is_finalized_ = false;
  this->version_script_ = version_script;
  this->needs_base_version_ = true;
  if ((version_script->version_trees_).
      super__Vector_base<gold::Version_tree*,_std::allocator<gold::Version_tree*>_>._M_impl._M_start
      == ppVVar1) {
    return;
  }
                    /* try { // try from 00146833 to 00146837 has its CatchHandler @ 00146b55 */
  Version_script_info::get_versions(&versions,version_script);
  if (this->needs_base_version_ != false) {
    pbVar9 = versions.
             super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>
             ._M_impl._M_finish;
    if (versions.
        super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>
        ._M_impl._M_start ==
        versions.
        super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>
        ._M_impl._M_finish) goto LAB_00146aca;
                    /* try { // try from 00146864 to 001468d6 has its CatchHandler @ 00146b47 */
    define_base_version(this,dynpool);
  }
  local_4c = 0;
  pbVar9 = versions.
           super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>
           ._M_impl._M_start;
  if (versions.
      super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>
      ._M_impl._M_start !=
      versions.
      super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>
      ._M_impl._M_finish) {
    do {
      version = Stringpool_template<char>::add
                          (dynpool,versions.
                                   super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>
                                   ._M_impl._M_start[local_4c]._M_dataplus._M_p,true,&version_key);
      Version_script_info::get_dependencies(local_28,this->version_script_,version);
                    /* try { // try from 001468d9 to 001468dd has its CatchHandler @ 00146b4e */
      pVVar6 = (Verdef *)operator_new(0x1c);
      (pVVar6->super_Version_base).index_ = 0xffffffff;
      pVVar6->name_ = version;
      (pVVar6->super_Version_base)._vptr_Version_base = (_func_int_varargs **)&PTR__Verdef_002f9e60;
      (pVVar6->deps_).
      super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>
      ._M_impl._M_start = (pointer)0x0;
      uVar5 = (int)local_28[0].
                   super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>
                   ._M_impl._M_finish -
              (int)local_28[0].
                   super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>
                   ._M_impl._M_start;
      (pVVar6->deps_).
      super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>
      ._M_impl._M_finish = (pointer)0x0;
      uVar7 = ((int)uVar5 >> 3) * -0x55555555;
      (pVVar6->deps_).
      super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>
      ._M_impl._M_end_of_storage = (pointer)0x0;
      if (uVar7 == 0) {
        local_50 = (basic_string<char,_std::char_traits<char>,_std::allocator<char>_> *)0x0;
      }
      else {
        if (0xaaaaaaa < uVar7) {
                    /* WARNING: Subroutine does not return */
                    /* try { // try from 00146b42 to 00146b46 has its CatchHandler @ 00146b6a */
          std::__throw_bad_alloc();
        }
                    /* try { // try from 00146939 to 0014693d has its CatchHandler @ 00146b6a */
        local_50 = (basic_string<char,_std::char_traits<char>,_std::allocator<char>_> *)
                   operator_new(uVar5);
      }
      pbVar9 = local_28[0].
               super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>
               ._M_impl._M_finish;
      (pVVar6->deps_).
      super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>
      ._M_impl._M_start = local_50;
      (pVVar6->deps_).
      super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>
      ._M_impl._M_finish = local_50;
      (pVVar6->deps_).
      super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>
      ._M_impl._M_end_of_storage = (pointer)(uVar5 + (int)local_50);
      if (local_28[0].
          super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>
          ._M_impl._M_start ==
          local_28[0].
          super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>
          ._M_impl._M_finish) {
        pVVar6->is_base_ = false;
        pVVar6->is_weak_ = false;
        pVVar6->is_info_ = false;
        pVVar6->is_symbol_created_ = false;
        vd = pVVar6;
      }
      else {
        local_44 = local_50;
        pbVar10 = local_28[0].
                  super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>
                  ._M_impl._M_start;
        do {
          (local_44->_M_dataplus)._M_p = (pointer)&local_44->field_2;
          pcVar2 = (pbVar10->_M_dataplus)._M_p;
                    /* try { // try from 00146984 to 00146988 has its CatchHandler @ 00146b65 */
          std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::
          _M_construct<char*>(local_44,pcVar2,pcVar2 + pbVar10->_M_string_length,0);
          pbVar4 = local_28[0].
                   super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>
                   ._M_impl._M_finish;
          pbVar10 = pbVar10 + 1;
          local_44 = local_44 + 1;
        } while (pbVar9 != pbVar10);
        pVVar6->is_base_ = false;
        pVVar6->is_weak_ = false;
        pVVar6->is_info_ = false;
        pVVar6->is_symbol_created_ = false;
        (pVVar6->deps_).
        super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>
        ._M_impl._M_finish = local_44;
        vd = pVVar6;
        pbVar9 = local_28[0].
                 super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>
                 ._M_impl._M_finish;
        for (pbVar10 = local_28[0].
                       super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>
                       ._M_impl._M_start; pbVar10 != pbVar4; pbVar10 = pbVar10 + 1) {
          pcVar2 = (pbVar10->_M_dataplus)._M_p;
          if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9
               *)pcVar2 != &pbVar10->field_2) {
            operator_delete(pcVar2);
          }
          pbVar9 = local_28[0].
                   super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>
                   ._M_impl._M_start;
        }
      }
      if (pbVar9 != (pointer)0x0) {
        operator_delete(pbVar9);
      }
      __position._M_current =
           (this->defs_).super__Vector_base<gold::Verdef*,_std::allocator<gold::Verdef*>_>._M_impl.
           _M_finish;
      if (__position._M_current ==
          (this->defs_).super__Vector_base<gold::Verdef*,_std::allocator<gold::Verdef*>_>._M_impl.
          _M_end_of_storage) {
        std::vector<gold::Verdef*,_std::allocator<gold::Verdef*>_>::
        _M_realloc_insert<gold::Verdef*_const&>(&this->defs_,__position,&vd);
      }
      else {
        *__position._M_current = vd;
        (this->defs_).super__Vector_base<gold::Verdef*,_std::allocator<gold::Verdef*>_>._M_impl.
        _M_finish = __position._M_current + 1;
      }
      pVVar6 = vd;
      KVar3 = version_key;
                    /* try { // try from 00146a19 to 00146b27 has its CatchHandler @ 00146b47 */
      __n_elt = (undefined4 *)operator_new(0x14);
      local_28[0].
      super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>
      ._M_impl._M_finish = (pointer)0x0;
      *__n_elt = 0;
      local_28[0].
      super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>
      ._M_impl._M_start = (pointer)KVar3;
      __n_elt[2] = 0;
      __node = (__node_type *)(KVar3 + __n_elt[2]);
      __n_elt[3] = pVVar6;
      __n_elt[1] = KVar3;
      uVar5 = (uint)__node % (this->version_table_)._M_h._M_bucket_count;
      p_Var8 = std::
               _Hashtable<std::pair<unsigned_int,_unsigned_int>,_std::pair<const_std::pair<unsigned_int,_unsigned_int>,_gold::Version_base*>,_std::allocator<std::pair<const_std::pair<unsigned_int,_unsigned_int>,_gold::Version_base*>_>,_std::__detail::_Select1st,_gold::Versions::Version_table_eq,_gold::Versions::Version_table_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<std::pair<unsigned_int,_unsigned_int>,_std::pair<const_std::pair<unsigned_int,_unsigned_int>,_gold::Version_base*>,_std::allocator<std::pair<const_std::pair<unsigned_int,_unsigned_int>,_gold::Version_base*>_>,_std::__detail::_Select1st,_gold::Versions::Version_table_eq,_gold::Versions::Version_table_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>
                           *)&this->version_table_,uVar5,(key_type *)(__n_elt + 1),
                          (__hash_code)__node);
      if ((p_Var8 == (__node_base *)0x0) || (p_Var8->_M_nxt == (_Hash_node_base *)0x0)) {
        std::
        _Hashtable<std::pair<unsigned_int,_unsigned_int>,_std::pair<const_std::pair<unsigned_int,_unsigned_int>,_gold::Version_base*>,_std::allocator<std::pair<const_std::pair<unsigned_int,_unsigned_int>,_gold::Version_base*>_>,_std::__detail::_Select1st,_gold::Versions::Version_table_eq,_gold::Versions::Version_table_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>
        ::_M_insert_unique_node
                  ((_Hashtable<std::pair<unsigned_int,_unsigned_int>,_std::pair<const_std::pair<unsigned_int,_unsigned_int>,_gold::Version_base*>,_std::allocator<std::pair<const_std::pair<unsigned_int,_unsigned_int>,_gold::Version_base*>_>,_std::__detail::_Select1st,_gold::Versions::Version_table_eq,_gold::Versions::Version_table_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>
                    *)local_40,(size_type)&this->version_table_,uVar5,__node,(size_type)__n_elt);
      }
      else {
        operator_delete(__n_elt);
      }
      local_4c = local_4c + 1;
      pbVar10 = versions.
                super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>
                ._M_impl._M_start;
      pbVar9 = versions.
               super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>
               ._M_impl._M_start;
    } while (local_4c <
             (uint)(((int)versions.
                          super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>
                          ._M_impl._M_finish -
                     (int)versions.
                          super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>
                          ._M_impl._M_start >> 3) * -0x55555555));
    for (; pbVar10 !=
           versions.
           super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>
           ._M_impl._M_finish; pbVar10 = pbVar10 + 1) {
      pcVar2 = (pbVar10->_M_dataplus)._M_p;
      versions.
      super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>
      ._M_impl._M_start = pbVar9;
      if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9
           *)pcVar2 != &pbVar10->field_2) {
        operator_delete(pcVar2);
      }
      pbVar9 = versions.
               super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>
               ._M_impl._M_start;
    }
  }
LAB_00146aca:
  if (pbVar9 != (pointer)0x0) {
    operator_delete(pbVar9);
  }
  return;
}



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

void FUN_00146780(undefined4 *param_1,int param_2,undefined4 param_3)

{
  int *piVar1;
  uint uVar2;
  int iVar3;
  int *piVar4;
  undefined4 *puVar5;
  int *piVar6;
  undefined1 *puVar7;
  undefined1 *puVar8;
  uint uVar9;
  int *piVar10;
  undefined1 auStack_70 [12];
  int **local_64;
  undefined **local_60;
  int **local_5c;
  int **local_58;
  undefined4 *local_54;
  int *local_50;
  uint local_4c;
  undefined **local_48;
  int *local_44;
  undefined1 local_40 [4];
  int *local_3c;
  int *local_38;
  int *local_34;
  int *local_30;
  int *local_28;
  int *local_24;
  
  local_48 = &__DT_PLTGOT;
  *param_1 = 0;
  param_1[1] = 0;
  param_1[2] = 0;
  param_1[3] = 0;
  param_1[4] = 0;
  param_1[5] = 0;
  uVar2 = 0;
  do {
    *(undefined4 *)((int)param_1 + uVar2 + 0x18) = 0;
    uVar2 = uVar2 + 4;
  } while (uVar2 < 0x1c);
  param_1[7] = 1;
  param_1[6] = param_1 + 0xc;
  iVar3 = *(int *)(param_2 + 0x1c);
  param_1[8] = 0;
  param_1[9] = 0;
  param_1[10] = 0x3f800000;
  param_1[0xb] = 0;
  param_1[0xc] = 0;
  *(undefined1 *)(param_1 + 0xd) = 0;
  param_1[0xe] = param_2;
  *(undefined1 *)(param_1 + 0xf) = 1;
  if (*(int *)(param_2 + 0x18) == iVar3) {
    return;
  }
  local_64 = &local_34;
                    /* try { // try from 00146833 to 00146837 has its CatchHandler @ 00146b55 */
  FUN_00119630(local_64,param_2);
  puVar8 = auStack_70;
  if (*(char *)(param_1 + 0xf) != '\0') {
    piVar4 = local_30;
    if (local_34 == local_30) goto LAB_00146aca;
    local_54 = param_1 + 6;
                    /* try { // try from 00146864 to 001468d6 has its CatchHandler @ 00146b47 */
    FUN_001463c0(param_1,param_3);
  }
  puVar8 = auStack_70;
  puVar7 = auStack_70;
  local_4c = 0;
  local_54 = param_1 + 6;
  local_58 = &local_28;
  local_5c = &local_3c;
  local_60 = local_48 + -0x2068;
  piVar4 = local_34;
  if (local_34 != local_30) {
    do {
      *(int ***)(puVar7 + -4) = local_5c;
      *(undefined4 *)(puVar7 + -8) = 1;
      *(int *)(puVar7 + -0xc) = local_34[local_4c * 6];
      *(undefined4 *)(puVar7 + -0x10) = param_3;
      *(undefined4 *)(puVar7 + -0x14) = 0x1468c3;
      iVar3 = FUN_001200e0();
      *(int *)(puVar7 + -8) = iVar3;
      *(undefined4 *)(puVar7 + -0xc) = param_1[0xe];
      *(int ***)(puVar7 + -0x10) = local_58;
      *(undefined4 *)(puVar7 + -0x14) = 0x1468d7;
      FUN_00118dd0();
      *(undefined4 *)(puVar7 + -0x14) = 0x1c;
                    /* try { // try from 001468d9 to 001468dd has its CatchHandler @ 00146b4e */
      *(undefined4 *)(puVar7 + -0x18) = 0x1468de;
      piVar4 = (int *)FUN_0017ebf0();
      piVar4[1] = -1;
      piVar4[2] = iVar3;
      *piVar4 = (int)local_60;
      piVar4[3] = 0;
      local_44 = (int *)((int)local_24 - (int)local_28);
      piVar4[4] = 0;
      uVar2 = ((int)local_44 >> 3) * -0x55555555;
      piVar4[5] = 0;
      if (uVar2 == 0) {
        local_50 = (int *)0x0;
      }
      else {
        if (0xaaaaaaa < uVar2) {
                    /* WARNING: Subroutine does not return */
                    /* try { // try from 00146b42 to 00146b46 has its CatchHandler @ 00146b6a */
          *(undefined1 **)(puVar7 + -8) = &LAB_00146b47;
          FUN_001c5fe0();
        }
        *(int **)(puVar7 + -0x14) = local_44;
                    /* try { // try from 00146939 to 0014693d has its CatchHandler @ 00146b6a */
        *(undefined4 *)(puVar7 + -0x18) = 0x14693e;
        local_50 = (int *)FUN_0017ebf0();
      }
      piVar10 = local_24;
      puVar8 = puVar7 + -4;
      piVar4[3] = (int)local_50;
      piVar4[4] = (int)local_50;
      piVar4[5] = (int)local_44 + (int)local_50;
      if (local_28 == local_24) {
        piVar4[6] = 0;
        local_38 = piVar4;
      }
      else {
        local_44 = local_50;
        piVar6 = local_28;
        do {
          *local_44 = (int)(local_44 + 2);
          iVar3 = *piVar6;
          *(undefined4 *)(puVar7 + -8) = 0;
          *(int *)(puVar7 + -0xc) = piVar6[1] + iVar3;
          *(int *)(puVar7 + -0x10) = iVar3;
          *(int **)(puVar7 + -0x14) = local_44;
                    /* try { // try from 00146984 to 00146988 has its CatchHandler @ 00146b65 */
          *(undefined4 *)(puVar7 + -0x18) = 0x146989;
          FUN_0004d4e0();
          piVar1 = local_24;
          piVar6 = piVar6 + 6;
          local_44 = local_44 + 6;
        } while (piVar10 != piVar6);
        piVar4[6] = 0;
        piVar4[4] = (int)local_44;
        local_38 = piVar4;
        piVar10 = local_24;
        for (piVar4 = local_28; piVar4 != piVar1; piVar4 = piVar4 + 6) {
          if ((int *)*piVar4 != piVar4 + 2) {
            *(int **)(puVar7 + -0x14) = (int *)*piVar4;
            *(undefined4 *)(puVar7 + -0x18) = 0x1469cd;
            FUN_001807a0();
          }
          piVar10 = local_28;
        }
      }
      if (piVar10 != (int *)0x0) {
        *(int **)(puVar7 + -0x14) = piVar10;
        *(undefined4 *)(puVar7 + -0x18) = 0x1469ea;
        FUN_001807a0();
      }
      puVar5 = (undefined4 *)param_1[1];
      if (puVar5 == (undefined4 *)param_1[2]) {
        *(int ***)(puVar7 + -0xc) = &local_38;
        *(undefined4 **)(puVar7 + -0x10) = puVar5;
        *(undefined4 **)(puVar7 + -0x14) = param_1;
        *(undefined4 *)(puVar7 + -0x18) = 0x146b28;
        FUN_00149250();
      }
      else {
        *puVar5 = local_38;
        param_1[1] = puVar5 + 1;
      }
      piVar10 = local_38;
      piVar4 = local_3c;
      *(undefined4 *)(puVar7 + -0x14) = 0x14;
                    /* try { // try from 00146a19 to 00146b27 has its CatchHandler @ 00146b47 */
      *(undefined4 *)(puVar7 + -0x18) = 0x146a1e;
      puVar5 = (undefined4 *)FUN_0017ebf0();
      local_24 = (int *)0x0;
      *puVar5 = 0;
      local_28 = piVar4;
      puVar5[2] = 0;
      uVar9 = (int)piVar4 + puVar5[2];
      puVar5[3] = piVar10;
      puVar5[1] = piVar4;
      uVar2 = param_1[7];
      *(uint *)(puVar7 + -8) = uVar9;
      *(undefined4 **)(puVar7 + -0xc) = puVar5 + 1;
      *(uint *)(puVar7 + -0x10) = uVar9 % uVar2;
      *(undefined4 **)(puVar7 + -0x14) = local_54;
      *(undefined4 *)(puVar7 + -0x18) = 0x146a5f;
      piVar4 = (int *)FUN_0014d100();
      if ((piVar4 == (int *)0x0) || (*piVar4 == 0)) {
        *(undefined4 *)(puVar7 + -0x10) = 1;
        *(undefined4 **)(puVar7 + -0x14) = puVar5;
        *(uint *)(puVar7 + -0x18) = uVar9;
        *(uint *)(puVar7 + -0x1c) = uVar9 % uVar2;
        *(undefined4 **)(puVar7 + -0x20) = local_54;
        *(undefined1 **)(puVar7 + -0x24) = local_40;
        *(undefined4 *)(puVar7 + -0x28) = 0x146afc;
        FUN_0014ced0();
        puVar8 = puVar7 + -8;
      }
      else {
        *(undefined4 **)(puVar7 + -0x14) = puVar5;
        *(undefined4 *)(puVar7 + -0x18) = 0x146a7c;
        FUN_001807a0();
      }
      local_4c = local_4c + 1;
      puVar7 = puVar8;
      piVar10 = local_34;
      piVar4 = local_34;
    } while (local_4c < (uint)(((int)local_30 - (int)local_34 >> 3) * -0x55555555));
    for (; piVar10 != local_30; piVar10 = piVar10 + 6) {
      local_34 = piVar4;
      if ((int *)*piVar10 != piVar10 + 2) {
        *(int **)(puVar8 + -0x10) = (int *)*piVar10;
        *(undefined4 *)(puVar8 + -0x14) = 0x146abd;
        FUN_001807a0();
      }
      piVar4 = local_34;
    }
  }
LAB_00146aca:
  if (piVar4 != (int *)0x0) {
    *(int **)(puVar8 + -0x10) = piVar4;
    *(undefined4 *)(puVar8 + -0x14) = 0x146ada;
    FUN_001807a0();
  }
  return;
}


CALL 0x0004fb76
ADD EAX,0x1bb87b
PUSH EBP
XOR EDX,EDX
MOV EBP,ESP
PUSH EDI
PUSH ESI
PUSH EBX
SUB ESP,0x5c
MOV ECX,dword ptr [EBP + 0xc]
MOV EBX,dword ptr [EBP + 0x8]
MOV dword ptr [EBP + -0x44],EAX
MOV EAX,dword ptr [EBP + 0x8]
MOV dword ptr [EAX],0x0
MOV dword ptr [EAX + 0x4],0x0
MOV dword ptr [EAX + 0x8],0x0
MOV dword ptr [EAX + 0xc],0x0
MOV dword ptr [EAX + 0x10],0x0
MOV dword ptr [EAX + 0x14],0x0
XOR EAX,EAX
MOV dword ptr [EBX + EAX*0x1 + 0x18],EDX
ADD EAX,0x4
CMP EAX,0x1c
JC 0x001467cc
MOV EAX,dword ptr [EBP + 0x8]
MOV EBX,dword ptr [EBP + 0x8]
ADD EAX,0x30
MOV dword ptr [EBX + 0x1c],0x1
MOV dword ptr [EBX + 0x18],EAX
MOV EAX,dword ptr [ECX + 0x1c]
MOV dword ptr [EBX + 0x20],0x0
MOV dword ptr [EBX + 0x24],0x0
MOV dword ptr [EBX + 0x28],0x3f800000
MOV dword ptr [EBX + 0x2c],0x0
MOV dword ptr [EBX + 0x30],0x0
MOV byte ptr [EBX + 0x34],0x0
MOV dword ptr [EBX + 0x38],ECX
MOV byte ptr [EBX + 0x3c],0x1
CMP dword ptr [ECX + 0x18],EAX
JZ 0x00146add
LEA EAX,[EBP + -0x30]
SUB ESP,0x8
MOV EBX,dword ptr [EBP + -0x44]
PUSH ECX
PUSH EAX
MOV dword ptr [EBP + -0x60],EAX
CALL 0x00119630
MOV EDX,dword ptr [EBP + 0x8]
ADD ESP,0xc
MOV EAX,dword ptr [EBP + -0x2c]
MOV ESI,dword ptr [EBP + -0x30]
CMP byte ptr [EDX + 0x3c],0x0
JZ 0x00146872
CMP ESI,EAX
JZ 0x00146aca
SUB ESP,0x8
MOV EAX,dword ptr [EBP + 0x8]
PUSH dword ptr [EBP + 0x10]
PUSH dword ptr [EBP + 0x8]
ADD EAX,0x18
MOV dword ptr [EBP + -0x50],EAX
CALL 0x001463c0
MOV ESI,dword ptr [EBP + -0x30]
MOV EAX,dword ptr [EBP + -0x2c]
ADD ESP,0x10
MOV EBX,dword ptr [EBP + 0x8]
MOV dword ptr [EBP + -0x48],0x0
LEA EDX,[EBX + 0x18]
LEA EBX,[EBP + -0x24]
MOV dword ptr [EBP + -0x50],EDX
LEA EDX,[EBP + -0x38]
MOV dword ptr [EBP + -0x58],EDX
MOV EDX,dword ptr [EBP + -0x44]
MOV dword ptr [EBP + -0x54],EBX
LEA EBX,[EDX + 0xffff7e60]
MOV dword ptr [EBP + -0x5c],EBX
CMP ESI,EAX
JZ 0x00146ac7
LEA ESI,[ESI]
MOV EAX,dword ptr [EBP + -0x48]
PUSH dword ptr [EBP + -0x58]
PUSH 0x1
LEA EAX,[EAX + EAX*0x2]
PUSH dword ptr [ESI + EAX*0x8]
MOV ESI,dword ptr [EBP + -0x44]
PUSH dword ptr [EBP + 0x10]
MOV EBX,ESI
CALL 0x001200e0
ADD ESP,0xc
MOV EDI,EAX
PUSH EAX
MOV EAX,dword ptr [EBP + 0x8]
PUSH dword ptr [EAX + 0x38]
PUSH dword ptr [EBP + -0x54]
CALL 0x00118dd0
PUSH 0x1c
CALL 0x0017ebf0
MOV ESI,EAX
MOV dword ptr [EAX + 0x4],0xffffffff
MOV EAX,dword ptr [EBP + -0x5c]
ADD ESP,0x10
MOV dword ptr [ESI + 0x8],EDI
MOV EDI,dword ptr [EBP + -0x20]
MOV EBX,dword ptr [EBP + -0x24]
MOV dword ptr [ESI],EAX
MOV EAX,EDI
MOV dword ptr [ESI + 0xc],0x0
SUB EAX,EBX
MOV dword ptr [ESI + 0x10],0x0
MOV dword ptr [EBP + -0x40],EAX
SAR EAX,0x3
IMUL EAX,EAX,-0x55555555
MOV dword ptr [ESI + 0x14],0x0
TEST EAX,EAX
JZ 0x00146b08
CMP EAX,0xaaaaaaa
JA 0x00146b3f
SUB ESP,0xc
PUSH dword ptr [EBP + -0x40]
MOV EBX,dword ptr [EBP + -0x44]
CALL 0x0017ebf0
MOV EDI,dword ptr [EBP + -0x20]
MOV EBX,dword ptr [EBP + -0x24]
MOV dword ptr [EBP + -0x4c],EAX
ADD ESP,0x10
MOV EAX,dword ptr [EBP + -0x4c]
MOV EDX,dword ptr [EBP + -0x40]
ADD EDX,EAX
MOV dword ptr [ESI + 0xc],EAX
MOV dword ptr [ESI + 0x10],EAX
MOV dword ptr [ESI + 0x14],EDX
CMP EBX,EDI
JZ 0x00146b30
MOV dword ptr [EBP + -0x40],EAX
LEA ESI,[ESI]
LEA ESI,[ESI]
MOV ECX,dword ptr [EBP + -0x40]
LEA EAX,[ECX + 0x8]
MOV dword ptr [ECX],EAX
MOV EAX,dword ptr [EBX]
PUSH 0x0
MOV EDX,dword ptr [EBX + 0x4]
ADD EDX,EAX
PUSH EDX
PUSH EAX
PUSH ECX
CALL 0x0004d4e0
ADD EBX,0x18
ADD ESP,0x10
ADD dword ptr [EBP + -0x40],0x18
CMP EDI,EBX
JNZ 0x00146970
MOV EDX,dword ptr [EBP + -0x40]
MOV EDI,dword ptr [EBP + -0x20]
MOV dword ptr [EBP + -0x34],ESI
MOV EAX,dword ptr [EBP + -0x24]
MOV dword ptr [ESI + 0x18],0x0
MOV dword ptr [ESI + 0x10],EDX
CMP EAX,EDI
JZ 0x001469da
MOV ESI,EAX
LEA ESI,[ESI]
NOP
MOV EAX,dword ptr [ESI]
LEA EDX,[ESI + 0x8]
CMP EAX,EDX
JZ 0x001469d0
SUB ESP,0xc
MOV EBX,dword ptr [EBP + -0x44]
PUSH EAX
CALL 0x001807a0
ADD ESP,0x10
ADD ESI,0x18
CMP ESI,EDI
JNZ 0x001469b8
MOV EDI,dword ptr [EBP + -0x24]
TEST EDI,EDI
JZ 0x001469ed
SUB ESP,0xc
MOV EBX,dword ptr [EBP + -0x44]
PUSH EDI
CALL 0x001807a0
ADD ESP,0x10
MOV EAX,dword ptr [EBP + 0x8]
MOV EDI,dword ptr [EBP + 0x8]
MOV EAX,dword ptr [EAX + 0x4]
CMP EAX,dword ptr [EDI + 0x8]
JZ 0x00146b18
MOV EDX,dword ptr [EBP + -0x34]
ADD EAX,0x4
MOV dword ptr [EAX + -0x4],EDX
MOV dword ptr [EDI + 0x4],EAX
SUB ESP,0xc
MOV EBX,dword ptr [EBP + -0x44]
MOV ESI,dword ptr [EBP + -0x38]
PUSH 0x14
MOV EDI,dword ptr [EBP + -0x34]
CALL 0x0017ebf0
MOV dword ptr [EBP + -0x20],0x0
MOV EDX,dword ptr [EBP + -0x20]
MOV EBX,EAX
ADD ESP,0x10
MOV dword ptr [EAX],0x0
MOV dword ptr [EBP + -0x24],ESI
MOV EAX,dword ptr [EBP + -0x24]
MOV dword ptr [EBX + 0x8],EDX
ADD ESI,dword ptr [EBX + 0x8]
XOR EDX,EDX
MOV dword ptr [EBX + 0xc],EDI
MOV EDI,dword ptr [EBP + 0x8]
MOV dword ptr [EBX + 0x4],EAX
MOV EAX,ESI
DIV dword ptr [EDI + 0x1c]
PUSH ESI
LEA EAX,[EBX + 0x4]
PUSH EAX
PUSH EDX
MOV EDI,EDX
PUSH dword ptr [EBP + -0x50]
CALL 0x0014d100
ADD ESP,0x10
TEST EAX,EAX
JZ 0x00146ae8
MOV EDX,dword ptr [EAX]
TEST EDX,EDX
JZ 0x00146ae8
SUB ESP,0xc
PUSH EBX
MOV EBX,dword ptr [EBP + -0x44]
CALL 0x001807a0
ADD ESP,0x10
MOV EDI,dword ptr [EBP + -0x2c]
MOV ESI,dword ptr [EBP + -0x30]
ADD dword ptr [EBP + -0x48],0x1
MOV EDX,dword ptr [EBP + -0x48]
MOV EAX,EDI
SUB EAX,ESI
SAR EAX,0x3
IMUL EAX,EAX,-0x55555555
CMP EDX,EAX
JC 0x001468a8
CMP ESI,EDI
JZ 0x00146ac7
LEA ESI,[ESI]
MOV EAX,dword ptr [ESI]
LEA EDX,[ESI + 0x8]
CMP EAX,EDX
JZ 0x00146ac0
SUB ESP,0xc
MOV EBX,dword ptr [EBP + -0x44]
PUSH EAX
CALL 0x001807a0
ADD ESP,0x10
ADD ESI,0x18
CMP EDI,ESI
JNZ 0x00146aa8
MOV EAX,dword ptr [EBP + -0x30]
TEST EAX,EAX
JZ 0x00146add
SUB ESP,0xc
MOV EBX,dword ptr [EBP + -0x44]
PUSH EAX
CALL 0x001807a0
ADD ESP,0x10
LEA ESP,[EBP + -0xc]
POP EBX
POP ESI
POP EDI
POP EBP
RET
SUB ESP,0x8
LEA EAX,[EBP + -0x3c]
PUSH 0x1
PUSH EBX
PUSH ESI
PUSH EDI
PUSH dword ptr [EBP + -0x50]
PUSH EAX
CALL 0x0014ced0
ADD ESP,0x1c
JMP 0x00146a7f
MOV dword ptr [EBP + -0x4c],0x0
JMP 0x0014694a
SUB ESP,0x4
LEA EDX,[EBP + -0x34]
PUSH EDX
PUSH EAX
PUSH dword ptr [EBP + 0x8]
CALL 0x00149250
ADD ESP,0x10
JMP 0x00146a0b
MOV dword ptr [ESI + 0x18],0x0
MOV dword ptr [EBP + -0x34],ESI
JMP 0x001469da
MOV EBX,dword ptr [EBP + -0x44]
CALL 0x001c5fe0
(translation_unit "/* WARNING: Function: __i686.get_pc_thunk.ax replaced with injection: get_pc_thunk_ax */\n\nvoid FUN_00146780(undefined4 *param_1,int param_2,undefined4 param_3)\n\n{\n  int *piVar1;\n  uint uVar2;\n  int iVar3;\n  int *piVar4;\n  undefined4 *puVar5;\n  int *piVar6;\n  undefined1 *puVar7;\n  undefined1 *puVar8;\n  uint uVar9;\n  int *piVar10;\n  undefined1 auStack_70 [12];\n  int **local_64;\n  undefined **local_60;\n  int **local_5c;\n  int **local_58;\n  undefined4 *local_54;\n  int *local_50;\n  uint local_4c;\n  undefined **local_48;\n  int *local_44;\n  undefined1 local_40 [4];\n  int *local_3c;\n  int *local_38;\n  int *local_34;\n  int *local_30;\n  int *local_28;\n  int *local_24;\n  \n  local_48 = &__DT_PLTGOT;\n  *param_1 = 0;\n  param_1[1] = 0;\n  param_1[2] = 0;\n  param_1[3] = 0;\n  param_1[4] = 0;\n  param_1[5] = 0;\n  uVar2 = 0;\n  do {\n    *(undefined4 *)((int)param_1 + uVar2 + 0x18) = 0;\n    uVar2 = uVar2 + 4;\n  } while (uVar2 < 0x1c);\n  param_1[7] = 1;\n  param_1[6] = param_1 + 0xc;\n  iVar3 = *(int *)(param_2 + 0x1c);\n  param_1[8] = 0;\n  param_1[9] = 0;\n  param_1[10] = 0x3f800000;\n  param_1[0xb] = 0;\n  param_1[0xc] = 0;\n  *(undefined1 *)(param_1 + 0xd) = 0;\n  param_1[0xe] = param_2;\n  *(undefined1 *)(param_1 + 0xf) = 1;\n  if (*(int *)(param_2 + 0x18) == iVar3) {\n    return;\n  }\n  local_64 = &local_34;\n                    /* try { // try from 00146833 to 00146837 has its CatchHandler @ 00146b55 */\n  FUN_00119630(local_64,param_2);\n  puVar8 = auStack_70;\n  if (*(char *)(param_1 + 0xf) != '\0') {\n    piVar4 = local_30;\n    if (local_34 == local_30) goto LAB_00146aca;\n    local_54 = param_1 + 6;\n                    /* try { // try from 00146864 to 001468d6 has its CatchHandler @ 00146b47 */\n    FUN_001463c0(param_1,param_3);\n  }\n  puVar8 = auStack_70;\n  puVar7 = auStack_70;\n  local_4c = 0;\n  local_54 = param_1 + 6;\n  local_58 = &local_28;\n  local_5c = &local_3c;\n  local_60 = local_48 + -0x2068;\n  piVar4 = local_34;\n  if (local_34 != local_30) {\n    do {\n      *(int ***)(puVar7 + -4) = local_5c;\n      *(undefined4 *)(puVar7 + -8) = 1;\n      *(int *)(puVar7 + -0xc) = local_34[local_4c * 6];\n      *(undefined4 *)(puVar7 + -0x10) = param_3;\n      *(undefined4 *)(puVar7 + -0x14) = 0x1468c3;\n      iVar3 = FUN_001200e0();\n      *(int *)(puVar7 + -8) = iVar3;\n      *(undefined4 *)(puVar7 + -0xc) = param_1[0xe];\n      *(int ***)(puVar7 + -0x10) = local_58;\n      *(undefined4 *)(puVar7 + -0x14) = 0x1468d7;\n      FUN_00118dd0();\n      *(undefined4 *)(puVar7 + -0x14) = 0x1c;\n                    /* try { // try from 001468d9 to 001468dd has its CatchHandler @ 00146b4e */\n      *(undefined4 *)(puVar7 + -0x18) = 0x1468de;\n      piVar4 = (int *)FUN_0017ebf0();\n      piVar4[1] = -1;\n      piVar4[2] = iVar3;\n      *piVar4 = (int)local_60;\n      piVar4[3] = 0;\n      local_44 = (int *)((int)local_24 - (int)local_28);\n      piVar4[4] = 0;\n      uVar2 = ((int)local_44 >> 3) * -0x55555555;\n      piVar4[5] = 0;\n      if (uVar2 == 0) {\n        local_50 = (int *)0x0;\n      }\n      else {\n        if (0xaaaaaaa < uVar2) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 00146b42 to 00146b46 has its CatchHandler @ 00146b6a */\n          *(undefined1 **)(puVar7 + -8) = &LAB_00146b47;\n          FUN_001c5fe0();\n        }\n        *(int **)(puVar7 + -0x14) = local_44;\n                    /* try { // try from 00146939 to 0014693d has its CatchHandler @ 00146b6a */\n        *(undefined4 *)(puVar7 + -0x18) = 0x14693e;\n        local_50 = (int *)FUN_0017ebf0();\n      }\n      piVar10 = local_24;\n      puVar8 = puVar7 + -4;\n      piVar4[3] = (int)local_50;\n      piVar4[4] = (int)local_50;\n      piVar4[5] = (int)local_44 + (int)local_50;\n      if (local_28 == local_24) {\n        piVar4[6] = 0;\n        local_38 = piVar4;\n      }\n      else {\n        local_44 = local_50;\n        piVar6 = local_28;\n        do {\n          *local_44 = (int)(local_44 + 2);\n          iVar3 = *piVar6;\n          *(undefined4 *)(puVar7 + -8) = 0;\n          *(int *)(puVar7 + -0xc) = piVar6[1] + iVar3;\n          *(int *)(puVar7 + -0x10) = iVar3;\n          *(int **)(puVar7 + -0x14) = local_44;\n                    /* try { // try from 00146984 to 00146988 has its CatchHandler @ 00146b65 */\n          *(undefined4 *)(puVar7 + -0x18) = 0x146989;\n          FUN_0004d4e0();\n          piVar1 = local_24;\n          piVar6 = piVar6 + 6;\n          local_44 = local_44 + 6;\n        } while (piVar10 != piVar6);\n        piVar4[6] = 0;\n        piVar4[4] = (int)local_44;\n        local_38 = piVar4;\n        piVar10 = local_24;\n        for (piVar4 = local_28; piVar4 != piVar1; piVar4 = piVar4 + 6) {\n          if ((int *)*piVar4 != piVar4 + 2) {\n            *(int **)(puVar7 + -0x14) = (int *)*piVar4;\n            *(undefined4 *)(puVar7 + -0x18) = 0x1469cd;\n            FUN_001807a0();\n          }\n          piVar10 = local_28;\n        }\n      }\n      if (piVar10 != (int *)0x0) {\n        *(int **)(puVar7 + -0x14) = piVar10;\n        *(undefined4 *)(puVar7 + -0x18) = 0x1469ea;\n        FUN_001807a0();\n      }\n      puVar5 = (undefined4 *)param_1[1];\n      if (puVar5 == (undefined4 *)param_1[2]) {\n        *(int ***)(puVar7 + -0xc) = &local_38;\n        *(undefined4 **)(puVar7 + -0x10) = puVar5;\n        *(undefined4 **)(puVar7 + -0x14) = param_1;\n        *(undefined4 *)(puVar7 + -0x18) = 0x146b28;\n        FUN_00149250();\n      }\n      else {\n        *puVar5 = local_38;\n        param_1[1] = puVar5 + 1;\n      }\n      piVar10 = local_38;\n      piVar4 = local_3c;\n      *(undefined4 *)(puVar7 + -0x14) = 0x14;\n                    /* try { // try from 00146a19 to 00146b27 has its CatchHandler @ 00146b47 */\n      *(undefined4 *)(puVar7 + -0x18) = 0x146a1e;\n      puVar5 = (undefined4 *)FUN_0017ebf0();\n      local_24 = (int *)0x0;\n      *puVar5 = 0;\n      local_28 = piVar4;\n      puVar5[2] = 0;\n      uVar9 = (int)piVar4 + puVar5[2];\n      puVar5[3] = piVar10;\n      puVar5[1] = piVar4;\n      uVar2 = param_1[7];\n      *(uint *)(puVar7 + -8) = uVar9;\n      *(undefined4 **)(puVar7 + -0xc) = puVar5 + 1;\n      *(uint *)(puVar7 + -0x10) = uVar9 % uVar2;\n      *(undefined4 **)(puVar7 + -0x14) = local_54;\n      *(undefined4 *)(puVar7 + -0x18) = 0x146a5f;\n      piVar4 = (int *)FUN_0014d100();\n      if ((piVar4 == (int *)0x0) || (*piVar4 == 0)) {\n        *(undefined4 *)(puVar7 + -0x10) = 1;\n        *(undefined4 **)(puVar7 + -0x14) = puVar5;\n        *(uint *)(puVar7 + -0x18) = uVar9;\n        *(uint *)(puVar7 + -0x1c) = uVar9 % uVar2;\n        *(undefined4 **)(puVar7 + -0x20) = local_54;\n        *(undefined1 **)(puVar7 + -0x24) = local_40;\n        *(undefined4 *)(puVar7 + -0x28) = 0x146afc;\n        FUN_0014ced0();\n        puVar8 = puVar7 + -8;\n      }\n      else {\n        *(undefined4 **)(puVar7 + -0x14) = puVar5;\n        *(undefined4 *)(puVar7 + -0x18) = 0x146a7c;\n        FUN_001807a0();\n      }\n      local_4c = local_4c + 1;\n      puVar7 = puVar8;\n      piVar10 = local_34;\n      piVar4 = local_34;\n    } while (local_4c < (uint)(((int)local_30 - (int)local_34 >> 3) * -0x55555555));\n    for (; piVar10 != local_30; piVar10 = piVar10 + 6) {\n      local_34 = piVar4;\n      if ((int *)*piVar10 != piVar10 + 2) {\n        *(int **)(puVar8 + -0x10) = (int *)*piVar10;\n        *(undefined4 *)(puVar8 + -0x14) = 0x146abd;\n        FUN_001807a0();\n      }\n      piVar4 = local_34;\n    }\n  }\nLAB_00146aca:\n  if (piVar4 != (int *)0x0) {\n    *(int **)(puVar8 + -0x10) = piVar4;\n    *(undefined4 *)(puVar8 + -0x14) = 0x146ada;\n    FUN_001807a0();\n  }\n  return;\n}\n\n" comment (function_definition "void FUN_00146780(undefined4 *param_1,int param_2,undefined4 param_3)\n\n{\n  int *piVar1;\n  uint uVar2;\n  int iVar3;\n  int *piVar4;\n  undefined4 *puVar5;\n  int *piVar6;\n  undefined1 *puVar7;\n  undefined1 *puVar8;\n  uint uVar9;\n  int *piVar10;\n  undefined1 auStack_70 [12];\n  int **local_64;\n  undefined **local_60;\n  int **local_5c;\n  int **local_58;\n  undefined4 *local_54;\n  int *local_50;\n  uint local_4c;\n  undefined **local_48;\n  int *local_44;\n  undefined1 local_40 [4];\n  int *local_3c;\n  int *local_38;\n  int *local_34;\n  int *local_30;\n  int *local_28;\n  int *local_24;\n  \n  local_48 = &__DT_PLTGOT;\n  *param_1 = 0;\n  param_1[1] = 0;\n  param_1[2] = 0;\n  param_1[3] = 0;\n  param_1[4] = 0;\n  param_1[5] = 0;\n  uVar2 = 0;\n  do {\n    *(undefined4 *)((int)param_1 + uVar2 + 0x18) = 0;\n    uVar2 = uVar2 + 4;\n  } while (uVar2 < 0x1c);\n  param_1[7] = 1;\n  param_1[6] = param_1 + 0xc;\n  iVar3 = *(int *)(param_2 + 0x1c);\n  param_1[8] = 0;\n  param_1[9] = 0;\n  param_1[10] = 0x3f800000;\n  param_1[0xb] = 0;\n  param_1[0xc] = 0;\n  *(undefined1 *)(param_1 + 0xd) = 0;\n  param_1[0xe] = param_2;\n  *(undefined1 *)(param_1 + 0xf) = 1;\n  if (*(int *)(param_2 + 0x18) == iVar3) {\n    return;\n  }\n  local_64 = &local_34;\n                    /* try { // try from 00146833 to 00146837 has its CatchHandler @ 00146b55 */\n  FUN_00119630(local_64,param_2);\n  puVar8 = auStack_70;\n  if (*(char *)(param_1 + 0xf) != '\0') {\n    piVar4 = local_30;\n    if (local_34 == local_30) goto LAB_00146aca;\n    local_54 = param_1 + 6;\n                    /* try { // try from 00146864 to 001468d6 has its CatchHandler @ 00146b47 */\n    FUN_001463c0(param_1,param_3);\n  }\n  puVar8 = auStack_70;\n  puVar7 = auStack_70;\n  local_4c = 0;\n  local_54 = param_1 + 6;\n  local_58 = &local_28;\n  local_5c = &local_3c;\n  local_60 = local_48 + -0x2068;\n  piVar4 = local_34;\n  if (local_34 != local_30) {\n    do {\n      *(int ***)(puVar7 + -4) = local_5c;\n      *(undefined4 *)(puVar7 + -8) = 1;\n      *(int *)(puVar7 + -0xc) = local_34[local_4c * 6];\n      *(undefined4 *)(puVar7 + -0x10) = param_3;\n      *(undefined4 *)(puVar7 + -0x14) = 0x1468c3;\n      iVar3 = FUN_001200e0();\n      *(int *)(puVar7 + -8) = iVar3;\n      *(undefined4 *)(puVar7 + -0xc) = param_1[0xe];\n      *(int ***)(puVar7 + -0x10) = local_58;\n      *(undefined4 *)(puVar7 + -0x14) = 0x1468d7;\n      FUN_00118dd0();\n      *(undefined4 *)(puVar7 + -0x14) = 0x1c;\n                    /* try { // try from 001468d9 to 001468dd has its CatchHandler @ 00146b4e */\n      *(undefined4 *)(puVar7 + -0x18) = 0x1468de;\n      piVar4 = (int *)FUN_0017ebf0();\n      piVar4[1] = -1;\n      piVar4[2] = iVar3;\n      *piVar4 = (int)local_60;\n      piVar4[3] = 0;\n      local_44 = (int *)((int)local_24 - (int)local_28);\n      piVar4[4] = 0;\n      uVar2 = ((int)local_44 >> 3) * -0x55555555;\n      piVar4[5] = 0;\n      if (uVar2 == 0) {\n        local_50 = (int *)0x0;\n      }\n      else {\n        if (0xaaaaaaa < uVar2) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 00146b42 to 00146b46 has its CatchHandler @ 00146b6a */\n          *(undefined1 **)(puVar7 + -8) = &LAB_00146b47;\n          FUN_001c5fe0();\n        }\n        *(int **)(puVar7 + -0x14) = local_44;\n                    /* try { // try from 00146939 to 0014693d has its CatchHandler @ 00146b6a */\n        *(undefined4 *)(puVar7 + -0x18) = 0x14693e;\n        local_50 = (int *)FUN_0017ebf0();\n      }\n      piVar10 = local_24;\n      puVar8 = puVar7 + -4;\n      piVar4[3] = (int)local_50;\n      piVar4[4] = (int)local_50;\n      piVar4[5] = (int)local_44 + (int)local_50;\n      if (local_28 == local_24) {\n        piVar4[6] = 0;\n        local_38 = piVar4;\n      }\n      else {\n        local_44 = local_50;\n        piVar6 = local_28;\n        do {\n          *local_44 = (int)(local_44 + 2);\n          iVar3 = *piVar6;\n          *(undefined4 *)(puVar7 + -8) = 0;\n          *(int *)(puVar7 + -0xc) = piVar6[1] + iVar3;\n          *(int *)(puVar7 + -0x10) = iVar3;\n          *(int **)(puVar7 + -0x14) = local_44;\n                    /* try { // try from 00146984 to 00146988 has its CatchHandler @ 00146b65 */\n          *(undefined4 *)(puVar7 + -0x18) = 0x146989;\n          FUN_0004d4e0();\n          piVar1 = local_24;\n          piVar6 = piVar6 + 6;\n          local_44 = local_44 + 6;\n        } while (piVar10 != piVar6);\n        piVar4[6] = 0;\n        piVar4[4] = (int)local_44;\n        local_38 = piVar4;\n        piVar10 = local_24;\n        for (piVar4 = local_28; piVar4 != piVar1; piVar4 = piVar4 + 6) {\n          if ((int *)*piVar4 != piVar4 + 2) {\n            *(int **)(puVar7 + -0x14) = (int *)*piVar4;\n            *(undefined4 *)(puVar7 + -0x18) = 0x1469cd;\n            FUN_001807a0();\n          }\n          piVar10 = local_28;\n        }\n      }\n      if (piVar10 != (int *)0x0) {\n        *(int **)(puVar7 + -0x14) = piVar10;\n        *(undefined4 *)(puVar7 + -0x18) = 0x1469ea;\n        FUN_001807a0();\n      }\n      puVar5 = (undefined4 *)param_1[1];\n      if (puVar5 == (undefined4 *)param_1[2]) {\n        *(int ***)(puVar7 + -0xc) = &local_38;\n        *(undefined4 **)(puVar7 + -0x10) = puVar5;\n        *(undefined4 **)(puVar7 + -0x14) = param_1;\n        *(undefined4 *)(puVar7 + -0x18) = 0x146b28;\n        FUN_00149250();\n      }\n      else {\n        *puVar5 = local_38;\n        param_1[1] = puVar5 + 1;\n      }\n      piVar10 = local_38;\n      piVar4 = local_3c;\n      *(undefined4 *)(puVar7 + -0x14) = 0x14;\n                    /* try { // try from 00146a19 to 00146b27 has its CatchHandler @ 00146b47 */\n      *(undefined4 *)(puVar7 + -0x18) = 0x146a1e;\n      puVar5 = (undefined4 *)FUN_0017ebf0();\n      local_24 = (int *)0x0;\n      *puVar5 = 0;\n      local_28 = piVar4;\n      puVar5[2] = 0;\n      uVar9 = (int)piVar4 + puVar5[2];\n      puVar5[3] = piVar10;\n      puVar5[1] = piVar4;\n      uVar2 = param_1[7];\n      *(uint *)(puVar7 + -8) = uVar9;\n      *(undefined4 **)(puVar7 + -0xc) = puVar5 + 1;\n      *(uint *)(puVar7 + -0x10) = uVar9 % uVar2;\n      *(undefined4 **)(puVar7 + -0x14) = local_54;\n      *(undefined4 *)(puVar7 + -0x18) = 0x146a5f;\n      piVar4 = (int *)FUN_0014d100();\n      if ((piVar4 == (int *)0x0) || (*piVar4 == 0)) {\n        *(undefined4 *)(puVar7 + -0x10) = 1;\n        *(undefined4 **)(puVar7 + -0x14) = puVar5;\n        *(uint *)(puVar7 + -0x18) = uVar9;\n        *(uint *)(puVar7 + -0x1c) = uVar9 % uVar2;\n        *(undefined4 **)(puVar7 + -0x20) = local_54;\n        *(undefined1 **)(puVar7 + -0x24) = local_40;\n        *(undefined4 *)(puVar7 + -0x28) = 0x146afc;\n        FUN_0014ced0();\n        puVar8 = puVar7 + -8;\n      }\n      else {\n        *(undefined4 **)(puVar7 + -0x14) = puVar5;\n        *(undefined4 *)(puVar7 + -0x18) = 0x146a7c;\n        FUN_001807a0();\n      }\n      local_4c = local_4c + 1;\n      puVar7 = puVar8;\n      piVar10 = local_34;\n      piVar4 = local_34;\n    } while (local_4c < (uint)(((int)local_30 - (int)local_34 >> 3) * -0x55555555));\n    for (; piVar10 != local_30; piVar10 = piVar10 + 6) {\n      local_34 = piVar4;\n      if ((int *)*piVar10 != piVar10 + 2) {\n        *(int **)(puVar8 + -0x10) = (int *)*piVar10;\n        *(undefined4 *)(puVar8 + -0x14) = 0x146abd;\n        FUN_001807a0();\n      }\n      piVar4 = local_34;\n    }\n  }\nLAB_00146aca:\n  if (piVar4 != (int *)0x0) {\n    *(int **)(puVar8 + -0x10) = piVar4;\n    *(undefined4 *)(puVar8 + -0x14) = 0x146ada;\n    FUN_001807a0();\n  }\n  return;\n}" primitive_type (function_declarator "FUN_00146780(undefined4 *param_1,int param_2,undefined4 param_3)" identifier (parameter_list "(undefined4 *param_1,int param_2,undefined4 param_3)" ( (parameter_declaration "undefined4 *param_1" type_identifier (pointer_declarator "*param_1" * identifier)) , (parameter_declaration "int param_2" primitive_type identifier) , (parameter_declaration "undefined4 param_3" type_identifier identifier) ))) (compound_statement "{\n  int *piVar1;\n  uint uVar2;\n  int iVar3;\n  int *piVar4;\n  undefined4 *puVar5;\n  int *piVar6;\n  undefined1 *puVar7;\n  undefined1 *puVar8;\n  uint uVar9;\n  int *piVar10;\n  undefined1 auStack_70 [12];\n  int **local_64;\n  undefined **local_60;\n  int **local_5c;\n  int **local_58;\n  undefined4 *local_54;\n  int *local_50;\n  uint local_4c;\n  undefined **local_48;\n  int *local_44;\n  undefined1 local_40 [4];\n  int *local_3c;\n  int *local_38;\n  int *local_34;\n  int *local_30;\n  int *local_28;\n  int *local_24;\n  \n  local_48 = &__DT_PLTGOT;\n  *param_1 = 0;\n  param_1[1] = 0;\n  param_1[2] = 0;\n  param_1[3] = 0;\n  param_1[4] = 0;\n  param_1[5] = 0;\n  uVar2 = 0;\n  do {\n    *(undefined4 *)((int)param_1 + uVar2 + 0x18) = 0;\n    uVar2 = uVar2 + 4;\n  } while (uVar2 < 0x1c);\n  param_1[7] = 1;\n  param_1[6] = param_1 + 0xc;\n  iVar3 = *(int *)(param_2 + 0x1c);\n  param_1[8] = 0;\n  param_1[9] = 0;\n  param_1[10] = 0x3f800000;\n  param_1[0xb] = 0;\n  param_1[0xc] = 0;\n  *(undefined1 *)(param_1 + 0xd) = 0;\n  param_1[0xe] = param_2;\n  *(undefined1 *)(param_1 + 0xf) = 1;\n  if (*(int *)(param_2 + 0x18) == iVar3) {\n    return;\n  }\n  local_64 = &local_34;\n                    /* try { // try from 00146833 to 00146837 has its CatchHandler @ 00146b55 */\n  FUN_00119630(local_64,param_2);\n  puVar8 = auStack_70;\n  if (*(char *)(param_1 + 0xf) != '\0') {\n    piVar4 = local_30;\n    if (local_34 == local_30) goto LAB_00146aca;\n    local_54 = param_1 + 6;\n                    /* try { // try from 00146864 to 001468d6 has its CatchHandler @ 00146b47 */\n    FUN_001463c0(param_1,param_3);\n  }\n  puVar8 = auStack_70;\n  puVar7 = auStack_70;\n  local_4c = 0;\n  local_54 = param_1 + 6;\n  local_58 = &local_28;\n  local_5c = &local_3c;\n  local_60 = local_48 + -0x2068;\n  piVar4 = local_34;\n  if (local_34 != local_30) {\n    do {\n      *(int ***)(puVar7 + -4) = local_5c;\n      *(undefined4 *)(puVar7 + -8) = 1;\n      *(int *)(puVar7 + -0xc) = local_34[local_4c * 6];\n      *(undefined4 *)(puVar7 + -0x10) = param_3;\n      *(undefined4 *)(puVar7 + -0x14) = 0x1468c3;\n      iVar3 = FUN_001200e0();\n      *(int *)(puVar7 + -8) = iVar3;\n      *(undefined4 *)(puVar7 + -0xc) = param_1[0xe];\n      *(int ***)(puVar7 + -0x10) = local_58;\n      *(undefined4 *)(puVar7 + -0x14) = 0x1468d7;\n      FUN_00118dd0();\n      *(undefined4 *)(puVar7 + -0x14) = 0x1c;\n                    /* try { // try from 001468d9 to 001468dd has its CatchHandler @ 00146b4e */\n      *(undefined4 *)(puVar7 + -0x18) = 0x1468de;\n      piVar4 = (int *)FUN_0017ebf0();\n      piVar4[1] = -1;\n      piVar4[2] = iVar3;\n      *piVar4 = (int)local_60;\n      piVar4[3] = 0;\n      local_44 = (int *)((int)local_24 - (int)local_28);\n      piVar4[4] = 0;\n      uVar2 = ((int)local_44 >> 3) * -0x55555555;\n      piVar4[5] = 0;\n      if (uVar2 == 0) {\n        local_50 = (int *)0x0;\n      }\n      else {\n        if (0xaaaaaaa < uVar2) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 00146b42 to 00146b46 has its CatchHandler @ 00146b6a */\n          *(undefined1 **)(puVar7 + -8) = &LAB_00146b47;\n          FUN_001c5fe0();\n        }\n        *(int **)(puVar7 + -0x14) = local_44;\n                    /* try { // try from 00146939 to 0014693d has its CatchHandler @ 00146b6a */\n        *(undefined4 *)(puVar7 + -0x18) = 0x14693e;\n        local_50 = (int *)FUN_0017ebf0();\n      }\n      piVar10 = local_24;\n      puVar8 = puVar7 + -4;\n      piVar4[3] = (int)local_50;\n      piVar4[4] = (int)local_50;\n      piVar4[5] = (int)local_44 + (int)local_50;\n      if (local_28 == local_24) {\n        piVar4[6] = 0;\n        local_38 = piVar4;\n      }\n      else {\n        local_44 = local_50;\n        piVar6 = local_28;\n        do {\n          *local_44 = (int)(local_44 + 2);\n          iVar3 = *piVar6;\n          *(undefined4 *)(puVar7 + -8) = 0;\n          *(int *)(puVar7 + -0xc) = piVar6[1] + iVar3;\n          *(int *)(puVar7 + -0x10) = iVar3;\n          *(int **)(puVar7 + -0x14) = local_44;\n                    /* try { // try from 00146984 to 00146988 has its CatchHandler @ 00146b65 */\n          *(undefined4 *)(puVar7 + -0x18) = 0x146989;\n          FUN_0004d4e0();\n          piVar1 = local_24;\n          piVar6 = piVar6 + 6;\n          local_44 = local_44 + 6;\n        } while (piVar10 != piVar6);\n        piVar4[6] = 0;\n        piVar4[4] = (int)local_44;\n        local_38 = piVar4;\n        piVar10 = local_24;\n        for (piVar4 = local_28; piVar4 != piVar1; piVar4 = piVar4 + 6) {\n          if ((int *)*piVar4 != piVar4 + 2) {\n            *(int **)(puVar7 + -0x14) = (int *)*piVar4;\n            *(undefined4 *)(puVar7 + -0x18) = 0x1469cd;\n            FUN_001807a0();\n          }\n          piVar10 = local_28;\n        }\n      }\n      if (piVar10 != (int *)0x0) {\n        *(int **)(puVar7 + -0x14) = piVar10;\n        *(undefined4 *)(puVar7 + -0x18) = 0x1469ea;\n        FUN_001807a0();\n      }\n      puVar5 = (undefined4 *)param_1[1];\n      if (puVar5 == (undefined4 *)param_1[2]) {\n        *(int ***)(puVar7 + -0xc) = &local_38;\n        *(undefined4 **)(puVar7 + -0x10) = puVar5;\n        *(undefined4 **)(puVar7 + -0x14) = param_1;\n        *(undefined4 *)(puVar7 + -0x18) = 0x146b28;\n        FUN_00149250();\n      }\n      else {\n        *puVar5 = local_38;\n        param_1[1] = puVar5 + 1;\n      }\n      piVar10 = local_38;\n      piVar4 = local_3c;\n      *(undefined4 *)(puVar7 + -0x14) = 0x14;\n                    /* try { // try from 00146a19 to 00146b27 has its CatchHandler @ 00146b47 */\n      *(undefined4 *)(puVar7 + -0x18) = 0x146a1e;\n      puVar5 = (undefined4 *)FUN_0017ebf0();\n      local_24 = (int *)0x0;\n      *puVar5 = 0;\n      local_28 = piVar4;\n      puVar5[2] = 0;\n      uVar9 = (int)piVar4 + puVar5[2];\n      puVar5[3] = piVar10;\n      puVar5[1] = piVar4;\n      uVar2 = param_1[7];\n      *(uint *)(puVar7 + -8) = uVar9;\n      *(undefined4 **)(puVar7 + -0xc) = puVar5 + 1;\n      *(uint *)(puVar7 + -0x10) = uVar9 % uVar2;\n      *(undefined4 **)(puVar7 + -0x14) = local_54;\n      *(undefined4 *)(puVar7 + -0x18) = 0x146a5f;\n      piVar4 = (int *)FUN_0014d100();\n      if ((piVar4 == (int *)0x0) || (*piVar4 == 0)) {\n        *(undefined4 *)(puVar7 + -0x10) = 1;\n        *(undefined4 **)(puVar7 + -0x14) = puVar5;\n        *(uint *)(puVar7 + -0x18) = uVar9;\n        *(uint *)(puVar7 + -0x1c) = uVar9 % uVar2;\n        *(undefined4 **)(puVar7 + -0x20) = local_54;\n        *(undefined1 **)(puVar7 + -0x24) = local_40;\n        *(undefined4 *)(puVar7 + -0x28) = 0x146afc;\n        FUN_0014ced0();\n        puVar8 = puVar7 + -8;\n      }\n      else {\n        *(undefined4 **)(puVar7 + -0x14) = puVar5;\n        *(undefined4 *)(puVar7 + -0x18) = 0x146a7c;\n        FUN_001807a0();\n      }\n      local_4c = local_4c + 1;\n      puVar7 = puVar8;\n      piVar10 = local_34;\n      piVar4 = local_34;\n    } while (local_4c < (uint)(((int)local_30 - (int)local_34 >> 3) * -0x55555555));\n    for (; piVar10 != local_30; piVar10 = piVar10 + 6) {\n      local_34 = piVar4;\n      if ((int *)*piVar10 != piVar10 + 2) {\n        *(int **)(puVar8 + -0x10) = (int *)*piVar10;\n        *(undefined4 *)(puVar8 + -0x14) = 0x146abd;\n        FUN_001807a0();\n      }\n      piVar4 = local_34;\n    }\n  }\nLAB_00146aca:\n  if (piVar4 != (int *)0x0) {\n    *(int **)(puVar8 + -0x10) = piVar4;\n    *(undefined4 *)(puVar8 + -0x14) = 0x146ada;\n    FUN_001807a0();\n  }\n  return;\n}" { (declaration "int *piVar1;" primitive_type (pointer_declarator "*piVar1" * identifier) ;) (declaration "uint uVar2;" type_identifier identifier ;) (declaration "int iVar3;" primitive_type identifier ;) (declaration "int *piVar4;" primitive_type (pointer_declarator "*piVar4" * identifier) ;) (declaration "undefined4 *puVar5;" type_identifier (pointer_declarator "*puVar5" * identifier) ;) (declaration "int *piVar6;" primitive_type (pointer_declarator "*piVar6" * identifier) ;) (declaration "undefined1 *puVar7;" type_identifier (pointer_declarator "*puVar7" * identifier) ;) (declaration "undefined1 *puVar8;" type_identifier (pointer_declarator "*puVar8" * identifier) ;) (declaration "uint uVar9;" type_identifier identifier ;) (declaration "int *piVar10;" primitive_type (pointer_declarator "*piVar10" * identifier) ;) (declaration "undefined1 auStack_70 [12];" type_identifier (array_declarator "auStack_70 [12]" identifier [ number_literal ]) ;) (declaration "int **local_64;" primitive_type (pointer_declarator "**local_64" * (pointer_declarator "*local_64" * identifier)) ;) (declaration "undefined **local_60;" type_identifier (pointer_declarator "**local_60" * (pointer_declarator "*local_60" * identifier)) ;) (declaration "int **local_5c;" primitive_type (pointer_declarator "**local_5c" * (pointer_declarator "*local_5c" * identifier)) ;) (declaration "int **local_58;" primitive_type (pointer_declarator "**local_58" * (pointer_declarator "*local_58" * identifier)) ;) (declaration "undefined4 *local_54;" type_identifier (pointer_declarator "*local_54" * identifier) ;) (declaration "int *local_50;" primitive_type (pointer_declarator "*local_50" * identifier) ;) (declaration "uint local_4c;" type_identifier identifier ;) (declaration "undefined **local_48;" type_identifier (pointer_declarator "**local_48" * (pointer_declarator "*local_48" * identifier)) ;) (declaration "int *local_44;" primitive_type (pointer_declarator "*local_44" * identifier) ;) (declaration "undefined1 local_40 [4];" type_identifier (array_declarator "local_40 [4]" identifier [ number_literal ]) ;) (declaration "int *local_3c;" primitive_type (pointer_declarator "*local_3c" * identifier) ;) (declaration "int *local_38;" primitive_type (pointer_declarator "*local_38" * identifier) ;) (declaration "int *local_34;" primitive_type (pointer_declarator "*local_34" * identifier) ;) (declaration "int *local_30;" primitive_type (pointer_declarator "*local_30" * identifier) ;) (declaration "int *local_28;" primitive_type (pointer_declarator "*local_28" * identifier) ;) (declaration "int *local_24;" primitive_type (pointer_declarator "*local_24" * identifier) ;) (expression_statement "local_48 = &__DT_PLTGOT;" (assignment_expression "local_48 = &__DT_PLTGOT" identifier = (pointer_expression "&__DT_PLTGOT" & identifier)) ;) (expression_statement "*param_1 = 0;" (assignment_expression "*param_1 = 0" (pointer_expression "*param_1" * identifier) = number_literal) ;) (expression_statement "param_1[1] = 0;" (assignment_expression "param_1[1] = 0" (subscript_expression "param_1[1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[2] = 0;" (assignment_expression "param_1[2] = 0" (subscript_expression "param_1[2]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[3] = 0;" (assignment_expression "param_1[3] = 0" (subscript_expression "param_1[3]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[4] = 0;" (assignment_expression "param_1[4] = 0" (subscript_expression "param_1[4]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[5] = 0;" (assignment_expression "param_1[5] = 0" (subscript_expression "param_1[5]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "uVar2 = 0;" (assignment_expression "uVar2 = 0" identifier = number_literal) ;) (do_statement "do {\n    *(undefined4 *)((int)param_1 + uVar2 + 0x18) = 0;\n    uVar2 = uVar2 + 4;\n  } while (uVar2 < 0x1c);" do (compound_statement "{\n    *(undefined4 *)((int)param_1 + uVar2 + 0x18) = 0;\n    uVar2 = uVar2 + 4;\n  }" { (expression_statement "*(undefined4 *)((int)param_1 + uVar2 + 0x18) = 0;" (assignment_expression "*(undefined4 *)((int)param_1 + uVar2 + 0x18) = 0" (pointer_expression "*(undefined4 *)((int)param_1 + uVar2 + 0x18)" * (cast_expression "(undefined4 *)((int)param_1 + uVar2 + 0x18)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)param_1 + uVar2 + 0x18)" ( (binary_expression "(int)param_1 + uVar2 + 0x18" (binary_expression "(int)param_1 + uVar2" (cast_expression "(int)param_1" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + number_literal) )))) = number_literal) ;) (expression_statement "uVar2 = uVar2 + 4;" (assignment_expression "uVar2 = uVar2 + 4" identifier = (binary_expression "uVar2 + 4" identifier + number_literal)) ;) }) while (parenthesized_expression "(uVar2 < 0x1c)" ( (binary_expression "uVar2 < 0x1c" identifier < number_literal) )) ;) (expression_statement "param_1[7] = 1;" (assignment_expression "param_1[7] = 1" (subscript_expression "param_1[7]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[6] = param_1 + 0xc;" (assignment_expression "param_1[6] = param_1 + 0xc" (subscript_expression "param_1[6]" identifier [ number_literal ]) = (binary_expression "param_1 + 0xc" identifier + number_literal)) ;) (expression_statement "iVar3 = *(int *)(param_2 + 0x1c);" (assignment_expression "iVar3 = *(int *)(param_2 + 0x1c)" identifier = (pointer_expression "*(int *)(param_2 + 0x1c)" * (cast_expression "(int *)(param_2 + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x1c)" ( (binary_expression "param_2 + 0x1c" identifier + number_literal) ))))) ;) (expression_statement "param_1[8] = 0;" (assignment_expression "param_1[8] = 0" (subscript_expression "param_1[8]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[9] = 0;" (assignment_expression "param_1[9] = 0" (subscript_expression "param_1[9]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[10] = 0x3f800000;" (assignment_expression "param_1[10] = 0x3f800000" (subscript_expression "param_1[10]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[0xb] = 0;" (assignment_expression "param_1[0xb] = 0" (subscript_expression "param_1[0xb]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[0xc] = 0;" (assignment_expression "param_1[0xc] = 0" (subscript_expression "param_1[0xc]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "*(undefined1 *)(param_1 + 0xd) = 0;" (assignment_expression "*(undefined1 *)(param_1 + 0xd) = 0" (pointer_expression "*(undefined1 *)(param_1 + 0xd)" * (cast_expression "(undefined1 *)(param_1 + 0xd)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0xd)" ( (binary_expression "param_1 + 0xd" identifier + number_literal) )))) = number_literal) ;) (expression_statement "param_1[0xe] = param_2;" (assignment_expression "param_1[0xe] = param_2" (subscript_expression "param_1[0xe]" identifier [ number_literal ]) = identifier) ;) (expression_statement "*(undefined1 *)(param_1 + 0xf) = 1;" (assignment_expression "*(undefined1 *)(param_1 + 0xf) = 1" (pointer_expression "*(undefined1 *)(param_1 + 0xf)" * (cast_expression "(undefined1 *)(param_1 + 0xf)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0xf)" ( (binary_expression "param_1 + 0xf" identifier + number_literal) )))) = number_literal) ;) (if_statement "if (*(int *)(param_2 + 0x18) == iVar3) {\n    return;\n  }" if (parenthesized_expression "(*(int *)(param_2 + 0x18) == iVar3)" ( (binary_expression "*(int *)(param_2 + 0x18) == iVar3" (pointer_expression "*(int *)(param_2 + 0x18)" * (cast_expression "(int *)(param_2 + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x18)" ( (binary_expression "param_2 + 0x18" identifier + number_literal) )))) == identifier) )) (compound_statement "{\n    return;\n  }" { (return_statement "return;" return ;) })) (expression_statement "local_64 = &local_34;" (assignment_expression "local_64 = &local_34" identifier = (pointer_expression "&local_34" & identifier)) ;) comment (expression_statement "FUN_00119630(local_64,param_2);" (call_expression "FUN_00119630(local_64,param_2)" identifier (argument_list "(local_64,param_2)" ( identifier , identifier ))) ;) (expression_statement "puVar8 = auStack_70;" (assignment_expression "puVar8 = auStack_70" identifier = identifier) ;) (if_statement "if (*(char *)(param_1 + 0xf) != '\0') {\n    piVar4 = local_30;\n    if (local_34 == local_30) goto LAB_00146aca;\n    local_54 = param_1 + 6;\n                    /* try { // try from 00146864 to 001468d6 has its CatchHandler @ 00146b47 */\n    FUN_001463c0(param_1,param_3);\n  }" if (parenthesized_expression "(*(char *)(param_1 + 0xf) != '\0')" ( (binary_expression "*(char *)(param_1 + 0xf) != '\0'" (pointer_expression "*(char *)(param_1 + 0xf)" * (cast_expression "(char *)(param_1 + 0xf)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0xf)" ( (binary_expression "param_1 + 0xf" identifier + number_literal) )))) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n    piVar4 = local_30;\n    if (local_34 == local_30) goto LAB_00146aca;\n    local_54 = param_1 + 6;\n                    /* try { // try from 00146864 to 001468d6 has its CatchHandler @ 00146b47 */\n    FUN_001463c0(param_1,param_3);\n  }" { (expression_statement "piVar4 = local_30;" (assignment_expression "piVar4 = local_30" identifier = identifier) ;) (if_statement "if (local_34 == local_30) goto LAB_00146aca;" if (parenthesized_expression "(local_34 == local_30)" ( (binary_expression "local_34 == local_30" identifier == identifier) )) (goto_statement "goto LAB_00146aca;" goto statement_identifier ;)) (expression_statement "local_54 = param_1 + 6;" (assignment_expression "local_54 = param_1 + 6" identifier = (binary_expression "param_1 + 6" identifier + number_literal)) ;) comment (expression_statement "FUN_001463c0(param_1,param_3);" (call_expression "FUN_001463c0(param_1,param_3)" identifier (argument_list "(param_1,param_3)" ( identifier , identifier ))) ;) })) (expression_statement "puVar8 = auStack_70;" (assignment_expression "puVar8 = auStack_70" identifier = identifier) ;) (expression_statement "puVar7 = auStack_70;" (assignment_expression "puVar7 = auStack_70" identifier = identifier) ;) (expression_statement "local_4c = 0;" (assignment_expression "local_4c = 0" identifier = number_literal) ;) (expression_statement "local_54 = param_1 + 6;" (assignment_expression "local_54 = param_1 + 6" identifier = (binary_expression "param_1 + 6" identifier + number_literal)) ;) (expression_statement "local_58 = &local_28;" (assignment_expression "local_58 = &local_28" identifier = (pointer_expression "&local_28" & identifier)) ;) (expression_statement "local_5c = &local_3c;" (assignment_expression "local_5c = &local_3c" identifier = (pointer_expression "&local_3c" & identifier)) ;) (expression_statement "local_60 = local_48 + -0x2068;" (assignment_expression "local_60 = local_48 + -0x2068" identifier = (binary_expression "local_48 + -0x2068" identifier + number_literal)) ;) (expression_statement "piVar4 = local_34;" (assignment_expression "piVar4 = local_34" identifier = identifier) ;) (if_statement "if (local_34 != local_30) {\n    do {\n      *(int ***)(puVar7 + -4) = local_5c;\n      *(undefined4 *)(puVar7 + -8) = 1;\n      *(int *)(puVar7 + -0xc) = local_34[local_4c * 6];\n      *(undefined4 *)(puVar7 + -0x10) = param_3;\n      *(undefined4 *)(puVar7 + -0x14) = 0x1468c3;\n      iVar3 = FUN_001200e0();\n      *(int *)(puVar7 + -8) = iVar3;\n      *(undefined4 *)(puVar7 + -0xc) = param_1[0xe];\n      *(int ***)(puVar7 + -0x10) = local_58;\n      *(undefined4 *)(puVar7 + -0x14) = 0x1468d7;\n      FUN_00118dd0();\n      *(undefined4 *)(puVar7 + -0x14) = 0x1c;\n                    /* try { // try from 001468d9 to 001468dd has its CatchHandler @ 00146b4e */\n      *(undefined4 *)(puVar7 + -0x18) = 0x1468de;\n      piVar4 = (int *)FUN_0017ebf0();\n      piVar4[1] = -1;\n      piVar4[2] = iVar3;\n      *piVar4 = (int)local_60;\n      piVar4[3] = 0;\n      local_44 = (int *)((int)local_24 - (int)local_28);\n      piVar4[4] = 0;\n      uVar2 = ((int)local_44 >> 3) * -0x55555555;\n      piVar4[5] = 0;\n      if (uVar2 == 0) {\n        local_50 = (int *)0x0;\n      }\n      else {\n        if (0xaaaaaaa < uVar2) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 00146b42 to 00146b46 has its CatchHandler @ 00146b6a */\n          *(undefined1 **)(puVar7 + -8) = &LAB_00146b47;\n          FUN_001c5fe0();\n        }\n        *(int **)(puVar7 + -0x14) = local_44;\n                    /* try { // try from 00146939 to 0014693d has its CatchHandler @ 00146b6a */\n        *(undefined4 *)(puVar7 + -0x18) = 0x14693e;\n        local_50 = (int *)FUN_0017ebf0();\n      }\n      piVar10 = local_24;\n      puVar8 = puVar7 + -4;\n      piVar4[3] = (int)local_50;\n      piVar4[4] = (int)local_50;\n      piVar4[5] = (int)local_44 + (int)local_50;\n      if (local_28 == local_24) {\n        piVar4[6] = 0;\n        local_38 = piVar4;\n      }\n      else {\n        local_44 = local_50;\n        piVar6 = local_28;\n        do {\n          *local_44 = (int)(local_44 + 2);\n          iVar3 = *piVar6;\n          *(undefined4 *)(puVar7 + -8) = 0;\n          *(int *)(puVar7 + -0xc) = piVar6[1] + iVar3;\n          *(int *)(puVar7 + -0x10) = iVar3;\n          *(int **)(puVar7 + -0x14) = local_44;\n                    /* try { // try from 00146984 to 00146988 has its CatchHandler @ 00146b65 */\n          *(undefined4 *)(puVar7 + -0x18) = 0x146989;\n          FUN_0004d4e0();\n          piVar1 = local_24;\n          piVar6 = piVar6 + 6;\n          local_44 = local_44 + 6;\n        } while (piVar10 != piVar6);\n        piVar4[6] = 0;\n        piVar4[4] = (int)local_44;\n        local_38 = piVar4;\n        piVar10 = local_24;\n        for (piVar4 = local_28; piVar4 != piVar1; piVar4 = piVar4 + 6) {\n          if ((int *)*piVar4 != piVar4 + 2) {\n            *(int **)(puVar7 + -0x14) = (int *)*piVar4;\n            *(undefined4 *)(puVar7 + -0x18) = 0x1469cd;\n            FUN_001807a0();\n          }\n          piVar10 = local_28;\n        }\n      }\n      if (piVar10 != (int *)0x0) {\n        *(int **)(puVar7 + -0x14) = piVar10;\n        *(undefined4 *)(puVar7 + -0x18) = 0x1469ea;\n        FUN_001807a0();\n      }\n      puVar5 = (undefined4 *)param_1[1];\n      if (puVar5 == (undefined4 *)param_1[2]) {\n        *(int ***)(puVar7 + -0xc) = &local_38;\n        *(undefined4 **)(puVar7 + -0x10) = puVar5;\n        *(undefined4 **)(puVar7 + -0x14) = param_1;\n        *(undefined4 *)(puVar7 + -0x18) = 0x146b28;\n        FUN_00149250();\n      }\n      else {\n        *puVar5 = local_38;\n        param_1[1] = puVar5 + 1;\n      }\n      piVar10 = local_38;\n      piVar4 = local_3c;\n      *(undefined4 *)(puVar7 + -0x14) = 0x14;\n                    /* try { // try from 00146a19 to 00146b27 has its CatchHandler @ 00146b47 */\n      *(undefined4 *)(puVar7 + -0x18) = 0x146a1e;\n      puVar5 = (undefined4 *)FUN_0017ebf0();\n      local_24 = (int *)0x0;\n      *puVar5 = 0;\n      local_28 = piVar4;\n      puVar5[2] = 0;\n      uVar9 = (int)piVar4 + puVar5[2];\n      puVar5[3] = piVar10;\n      puVar5[1] = piVar4;\n      uVar2 = param_1[7];\n      *(uint *)(puVar7 + -8) = uVar9;\n      *(undefined4 **)(puVar7 + -0xc) = puVar5 + 1;\n      *(uint *)(puVar7 + -0x10) = uVar9 % uVar2;\n      *(undefined4 **)(puVar7 + -0x14) = local_54;\n      *(undefined4 *)(puVar7 + -0x18) = 0x146a5f;\n      piVar4 = (int *)FUN_0014d100();\n      if ((piVar4 == (int *)0x0) || (*piVar4 == 0)) {\n        *(undefined4 *)(puVar7 + -0x10) = 1;\n        *(undefined4 **)(puVar7 + -0x14) = puVar5;\n        *(uint *)(puVar7 + -0x18) = uVar9;\n        *(uint *)(puVar7 + -0x1c) = uVar9 % uVar2;\n        *(undefined4 **)(puVar7 + -0x20) = local_54;\n        *(undefined1 **)(puVar7 + -0x24) = local_40;\n        *(undefined4 *)(puVar7 + -0x28) = 0x146afc;\n        FUN_0014ced0();\n        puVar8 = puVar7 + -8;\n      }\n      else {\n        *(undefined4 **)(puVar7 + -0x14) = puVar5;\n        *(undefined4 *)(puVar7 + -0x18) = 0x146a7c;\n        FUN_001807a0();\n      }\n      local_4c = local_4c + 1;\n      puVar7 = puVar8;\n      piVar10 = local_34;\n      piVar4 = local_34;\n    } while (local_4c < (uint)(((int)local_30 - (int)local_34 >> 3) * -0x55555555));\n    for (; piVar10 != local_30; piVar10 = piVar10 + 6) {\n      local_34 = piVar4;\n      if ((int *)*piVar10 != piVar10 + 2) {\n        *(int **)(puVar8 + -0x10) = (int *)*piVar10;\n        *(undefined4 *)(puVar8 + -0x14) = 0x146abd;\n        FUN_001807a0();\n      }\n      piVar4 = local_34;\n    }\n  }" if (parenthesized_expression "(local_34 != local_30)" ( (binary_expression "local_34 != local_30" identifier != identifier) )) (compound_statement "{\n    do {\n      *(int ***)(puVar7 + -4) = local_5c;\n      *(undefined4 *)(puVar7 + -8) = 1;\n      *(int *)(puVar7 + -0xc) = local_34[local_4c * 6];\n      *(undefined4 *)(puVar7 + -0x10) = param_3;\n      *(undefined4 *)(puVar7 + -0x14) = 0x1468c3;\n      iVar3 = FUN_001200e0();\n      *(int *)(puVar7 + -8) = iVar3;\n      *(undefined4 *)(puVar7 + -0xc) = param_1[0xe];\n      *(int ***)(puVar7 + -0x10) = local_58;\n      *(undefined4 *)(puVar7 + -0x14) = 0x1468d7;\n      FUN_00118dd0();\n      *(undefined4 *)(puVar7 + -0x14) = 0x1c;\n                    /* try { // try from 001468d9 to 001468dd has its CatchHandler @ 00146b4e */\n      *(undefined4 *)(puVar7 + -0x18) = 0x1468de;\n      piVar4 = (int *)FUN_0017ebf0();\n      piVar4[1] = -1;\n      piVar4[2] = iVar3;\n      *piVar4 = (int)local_60;\n      piVar4[3] = 0;\n      local_44 = (int *)((int)local_24 - (int)local_28);\n      piVar4[4] = 0;\n      uVar2 = ((int)local_44 >> 3) * -0x55555555;\n      piVar4[5] = 0;\n      if (uVar2 == 0) {\n        local_50 = (int *)0x0;\n      }\n      else {\n        if (0xaaaaaaa < uVar2) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 00146b42 to 00146b46 has its CatchHandler @ 00146b6a */\n          *(undefined1 **)(puVar7 + -8) = &LAB_00146b47;\n          FUN_001c5fe0();\n        }\n        *(int **)(puVar7 + -0x14) = local_44;\n                    /* try { // try from 00146939 to 0014693d has its CatchHandler @ 00146b6a */\n        *(undefined4 *)(puVar7 + -0x18) = 0x14693e;\n        local_50 = (int *)FUN_0017ebf0();\n      }\n      piVar10 = local_24;\n      puVar8 = puVar7 + -4;\n      piVar4[3] = (int)local_50;\n      piVar4[4] = (int)local_50;\n      piVar4[5] = (int)local_44 + (int)local_50;\n      if (local_28 == local_24) {\n        piVar4[6] = 0;\n        local_38 = piVar4;\n      }\n      else {\n        local_44 = local_50;\n        piVar6 = local_28;\n        do {\n          *local_44 = (int)(local_44 + 2);\n          iVar3 = *piVar6;\n          *(undefined4 *)(puVar7 + -8) = 0;\n          *(int *)(puVar7 + -0xc) = piVar6[1] + iVar3;\n          *(int *)(puVar7 + -0x10) = iVar3;\n          *(int **)(puVar7 + -0x14) = local_44;\n                    /* try { // try from 00146984 to 00146988 has its CatchHandler @ 00146b65 */\n          *(undefined4 *)(puVar7 + -0x18) = 0x146989;\n          FUN_0004d4e0();\n          piVar1 = local_24;\n          piVar6 = piVar6 + 6;\n          local_44 = local_44 + 6;\n        } while (piVar10 != piVar6);\n        piVar4[6] = 0;\n        piVar4[4] = (int)local_44;\n        local_38 = piVar4;\n        piVar10 = local_24;\n        for (piVar4 = local_28; piVar4 != piVar1; piVar4 = piVar4 + 6) {\n          if ((int *)*piVar4 != piVar4 + 2) {\n            *(int **)(puVar7 + -0x14) = (int *)*piVar4;\n            *(undefined4 *)(puVar7 + -0x18) = 0x1469cd;\n            FUN_001807a0();\n          }\n          piVar10 = local_28;\n        }\n      }\n      if (piVar10 != (int *)0x0) {\n        *(int **)(puVar7 + -0x14) = piVar10;\n        *(undefined4 *)(puVar7 + -0x18) = 0x1469ea;\n        FUN_001807a0();\n      }\n      puVar5 = (undefined4 *)param_1[1];\n      if (puVar5 == (undefined4 *)param_1[2]) {\n        *(int ***)(puVar7 + -0xc) = &local_38;\n        *(undefined4 **)(puVar7 + -0x10) = puVar5;\n        *(undefined4 **)(puVar7 + -0x14) = param_1;\n        *(undefined4 *)(puVar7 + -0x18) = 0x146b28;\n        FUN_00149250();\n      }\n      else {\n        *puVar5 = local_38;\n        param_1[1] = puVar5 + 1;\n      }\n      piVar10 = local_38;\n      piVar4 = local_3c;\n      *(undefined4 *)(puVar7 + -0x14) = 0x14;\n                    /* try { // try from 00146a19 to 00146b27 has its CatchHandler @ 00146b47 */\n      *(undefined4 *)(puVar7 + -0x18) = 0x146a1e;\n      puVar5 = (undefined4 *)FUN_0017ebf0();\n      local_24 = (int *)0x0;\n      *puVar5 = 0;\n      local_28 = piVar4;\n      puVar5[2] = 0;\n      uVar9 = (int)piVar4 + puVar5[2];\n      puVar5[3] = piVar10;\n      puVar5[1] = piVar4;\n      uVar2 = param_1[7];\n      *(uint *)(puVar7 + -8) = uVar9;\n      *(undefined4 **)(puVar7 + -0xc) = puVar5 + 1;\n      *(uint *)(puVar7 + -0x10) = uVar9 % uVar2;\n      *(undefined4 **)(puVar7 + -0x14) = local_54;\n      *(undefined4 *)(puVar7 + -0x18) = 0x146a5f;\n      piVar4 = (int *)FUN_0014d100();\n      if ((piVar4 == (int *)0x0) || (*piVar4 == 0)) {\n        *(undefined4 *)(puVar7 + -0x10) = 1;\n        *(undefined4 **)(puVar7 + -0x14) = puVar5;\n        *(uint *)(puVar7 + -0x18) = uVar9;\n        *(uint *)(puVar7 + -0x1c) = uVar9 % uVar2;\n        *(undefined4 **)(puVar7 + -0x20) = local_54;\n        *(undefined1 **)(puVar7 + -0x24) = local_40;\n        *(undefined4 *)(puVar7 + -0x28) = 0x146afc;\n        FUN_0014ced0();\n        puVar8 = puVar7 + -8;\n      }\n      else {\n        *(undefined4 **)(puVar7 + -0x14) = puVar5;\n        *(undefined4 *)(puVar7 + -0x18) = 0x146a7c;\n        FUN_001807a0();\n      }\n      local_4c = local_4c + 1;\n      puVar7 = puVar8;\n      piVar10 = local_34;\n      piVar4 = local_34;\n    } while (local_4c < (uint)(((int)local_30 - (int)local_34 >> 3) * -0x55555555));\n    for (; piVar10 != local_30; piVar10 = piVar10 + 6) {\n      local_34 = piVar4;\n      if ((int *)*piVar10 != piVar10 + 2) {\n        *(int **)(puVar8 + -0x10) = (int *)*piVar10;\n        *(undefined4 *)(puVar8 + -0x14) = 0x146abd;\n        FUN_001807a0();\n      }\n      piVar4 = local_34;\n    }\n  }" { (do_statement "do {\n      *(int ***)(puVar7 + -4) = local_5c;\n      *(undefined4 *)(puVar7 + -8) = 1;\n      *(int *)(puVar7 + -0xc) = local_34[local_4c * 6];\n      *(undefined4 *)(puVar7 + -0x10) = param_3;\n      *(undefined4 *)(puVar7 + -0x14) = 0x1468c3;\n      iVar3 = FUN_001200e0();\n      *(int *)(puVar7 + -8) = iVar3;\n      *(undefined4 *)(puVar7 + -0xc) = param_1[0xe];\n      *(int ***)(puVar7 + -0x10) = local_58;\n      *(undefined4 *)(puVar7 + -0x14) = 0x1468d7;\n      FUN_00118dd0();\n      *(undefined4 *)(puVar7 + -0x14) = 0x1c;\n                    /* try { // try from 001468d9 to 001468dd has its CatchHandler @ 00146b4e */\n      *(undefined4 *)(puVar7 + -0x18) = 0x1468de;\n      piVar4 = (int *)FUN_0017ebf0();\n      piVar4[1] = -1;\n      piVar4[2] = iVar3;\n      *piVar4 = (int)local_60;\n      piVar4[3] = 0;\n      local_44 = (int *)((int)local_24 - (int)local_28);\n      piVar4[4] = 0;\n      uVar2 = ((int)local_44 >> 3) * -0x55555555;\n      piVar4[5] = 0;\n      if (uVar2 == 0) {\n        local_50 = (int *)0x0;\n      }\n      else {\n        if (0xaaaaaaa < uVar2) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 00146b42 to 00146b46 has its CatchHandler @ 00146b6a */\n          *(undefined1 **)(puVar7 + -8) = &LAB_00146b47;\n          FUN_001c5fe0();\n        }\n        *(int **)(puVar7 + -0x14) = local_44;\n                    /* try { // try from 00146939 to 0014693d has its CatchHandler @ 00146b6a */\n        *(undefined4 *)(puVar7 + -0x18) = 0x14693e;\n        local_50 = (int *)FUN_0017ebf0();\n      }\n      piVar10 = local_24;\n      puVar8 = puVar7 + -4;\n      piVar4[3] = (int)local_50;\n      piVar4[4] = (int)local_50;\n      piVar4[5] = (int)local_44 + (int)local_50;\n      if (local_28 == local_24) {\n        piVar4[6] = 0;\n        local_38 = piVar4;\n      }\n      else {\n        local_44 = local_50;\n        piVar6 = local_28;\n        do {\n          *local_44 = (int)(local_44 + 2);\n          iVar3 = *piVar6;\n          *(undefined4 *)(puVar7 + -8) = 0;\n          *(int *)(puVar7 + -0xc) = piVar6[1] + iVar3;\n          *(int *)(puVar7 + -0x10) = iVar3;\n          *(int **)(puVar7 + -0x14) = local_44;\n                    /* try { // try from 00146984 to 00146988 has its CatchHandler @ 00146b65 */\n          *(undefined4 *)(puVar7 + -0x18) = 0x146989;\n          FUN_0004d4e0();\n          piVar1 = local_24;\n          piVar6 = piVar6 + 6;\n          local_44 = local_44 + 6;\n        } while (piVar10 != piVar6);\n        piVar4[6] = 0;\n        piVar4[4] = (int)local_44;\n        local_38 = piVar4;\n        piVar10 = local_24;\n        for (piVar4 = local_28; piVar4 != piVar1; piVar4 = piVar4 + 6) {\n          if ((int *)*piVar4 != piVar4 + 2) {\n            *(int **)(puVar7 + -0x14) = (int *)*piVar4;\n            *(undefined4 *)(puVar7 + -0x18) = 0x1469cd;\n            FUN_001807a0();\n          }\n          piVar10 = local_28;\n        }\n      }\n      if (piVar10 != (int *)0x0) {\n        *(int **)(puVar7 + -0x14) = piVar10;\n        *(undefined4 *)(puVar7 + -0x18) = 0x1469ea;\n        FUN_001807a0();\n      }\n      puVar5 = (undefined4 *)param_1[1];\n      if (puVar5 == (undefined4 *)param_1[2]) {\n        *(int ***)(puVar7 + -0xc) = &local_38;\n        *(undefined4 **)(puVar7 + -0x10) = puVar5;\n        *(undefined4 **)(puVar7 + -0x14) = param_1;\n        *(undefined4 *)(puVar7 + -0x18) = 0x146b28;\n        FUN_00149250();\n      }\n      else {\n        *puVar5 = local_38;\n        param_1[1] = puVar5 + 1;\n      }\n      piVar10 = local_38;\n      piVar4 = local_3c;\n      *(undefined4 *)(puVar7 + -0x14) = 0x14;\n                    /* try { // try from 00146a19 to 00146b27 has its CatchHandler @ 00146b47 */\n      *(undefined4 *)(puVar7 + -0x18) = 0x146a1e;\n      puVar5 = (undefined4 *)FUN_0017ebf0();\n      local_24 = (int *)0x0;\n      *puVar5 = 0;\n      local_28 = piVar4;\n      puVar5[2] = 0;\n      uVar9 = (int)piVar4 + puVar5[2];\n      puVar5[3] = piVar10;\n      puVar5[1] = piVar4;\n      uVar2 = param_1[7];\n      *(uint *)(puVar7 + -8) = uVar9;\n      *(undefined4 **)(puVar7 + -0xc) = puVar5 + 1;\n      *(uint *)(puVar7 + -0x10) = uVar9 % uVar2;\n      *(undefined4 **)(puVar7 + -0x14) = local_54;\n      *(undefined4 *)(puVar7 + -0x18) = 0x146a5f;\n      piVar4 = (int *)FUN_0014d100();\n      if ((piVar4 == (int *)0x0) || (*piVar4 == 0)) {\n        *(undefined4 *)(puVar7 + -0x10) = 1;\n        *(undefined4 **)(puVar7 + -0x14) = puVar5;\n        *(uint *)(puVar7 + -0x18) = uVar9;\n        *(uint *)(puVar7 + -0x1c) = uVar9 % uVar2;\n        *(undefined4 **)(puVar7 + -0x20) = local_54;\n        *(undefined1 **)(puVar7 + -0x24) = local_40;\n        *(undefined4 *)(puVar7 + -0x28) = 0x146afc;\n        FUN_0014ced0();\n        puVar8 = puVar7 + -8;\n      }\n      else {\n        *(undefined4 **)(puVar7 + -0x14) = puVar5;\n        *(undefined4 *)(puVar7 + -0x18) = 0x146a7c;\n        FUN_001807a0();\n      }\n      local_4c = local_4c + 1;\n      puVar7 = puVar8;\n      piVar10 = local_34;\n      piVar4 = local_34;\n    } while (local_4c < (uint)(((int)local_30 - (int)local_34 >> 3) * -0x55555555));" do (compound_statement "{\n      *(int ***)(puVar7 + -4) = local_5c;\n      *(undefined4 *)(puVar7 + -8) = 1;\n      *(int *)(puVar7 + -0xc) = local_34[local_4c * 6];\n      *(undefined4 *)(puVar7 + -0x10) = param_3;\n      *(undefined4 *)(puVar7 + -0x14) = 0x1468c3;\n      iVar3 = FUN_001200e0();\n      *(int *)(puVar7 + -8) = iVar3;\n      *(undefined4 *)(puVar7 + -0xc) = param_1[0xe];\n      *(int ***)(puVar7 + -0x10) = local_58;\n      *(undefined4 *)(puVar7 + -0x14) = 0x1468d7;\n      FUN_00118dd0();\n      *(undefined4 *)(puVar7 + -0x14) = 0x1c;\n                    /* try { // try from 001468d9 to 001468dd has its CatchHandler @ 00146b4e */\n      *(undefined4 *)(puVar7 + -0x18) = 0x1468de;\n      piVar4 = (int *)FUN_0017ebf0();\n      piVar4[1] = -1;\n      piVar4[2] = iVar3;\n      *piVar4 = (int)local_60;\n      piVar4[3] = 0;\n      local_44 = (int *)((int)local_24 - (int)local_28);\n      piVar4[4] = 0;\n      uVar2 = ((int)local_44 >> 3) * -0x55555555;\n      piVar4[5] = 0;\n      if (uVar2 == 0) {\n        local_50 = (int *)0x0;\n      }\n      else {\n        if (0xaaaaaaa < uVar2) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 00146b42 to 00146b46 has its CatchHandler @ 00146b6a */\n          *(undefined1 **)(puVar7 + -8) = &LAB_00146b47;\n          FUN_001c5fe0();\n        }\n        *(int **)(puVar7 + -0x14) = local_44;\n                    /* try { // try from 00146939 to 0014693d has its CatchHandler @ 00146b6a */\n        *(undefined4 *)(puVar7 + -0x18) = 0x14693e;\n        local_50 = (int *)FUN_0017ebf0();\n      }\n      piVar10 = local_24;\n      puVar8 = puVar7 + -4;\n      piVar4[3] = (int)local_50;\n      piVar4[4] = (int)local_50;\n      piVar4[5] = (int)local_44 + (int)local_50;\n      if (local_28 == local_24) {\n        piVar4[6] = 0;\n        local_38 = piVar4;\n      }\n      else {\n        local_44 = local_50;\n        piVar6 = local_28;\n        do {\n          *local_44 = (int)(local_44 + 2);\n          iVar3 = *piVar6;\n          *(undefined4 *)(puVar7 + -8) = 0;\n          *(int *)(puVar7 + -0xc) = piVar6[1] + iVar3;\n          *(int *)(puVar7 + -0x10) = iVar3;\n          *(int **)(puVar7 + -0x14) = local_44;\n                    /* try { // try from 00146984 to 00146988 has its CatchHandler @ 00146b65 */\n          *(undefined4 *)(puVar7 + -0x18) = 0x146989;\n          FUN_0004d4e0();\n          piVar1 = local_24;\n          piVar6 = piVar6 + 6;\n          local_44 = local_44 + 6;\n        } while (piVar10 != piVar6);\n        piVar4[6] = 0;\n        piVar4[4] = (int)local_44;\n        local_38 = piVar4;\n        piVar10 = local_24;\n        for (piVar4 = local_28; piVar4 != piVar1; piVar4 = piVar4 + 6) {\n          if ((int *)*piVar4 != piVar4 + 2) {\n            *(int **)(puVar7 + -0x14) = (int *)*piVar4;\n            *(undefined4 *)(puVar7 + -0x18) = 0x1469cd;\n            FUN_001807a0();\n          }\n          piVar10 = local_28;\n        }\n      }\n      if (piVar10 != (int *)0x0) {\n        *(int **)(puVar7 + -0x14) = piVar10;\n        *(undefined4 *)(puVar7 + -0x18) = 0x1469ea;\n        FUN_001807a0();\n      }\n      puVar5 = (undefined4 *)param_1[1];\n      if (puVar5 == (undefined4 *)param_1[2]) {\n        *(int ***)(puVar7 + -0xc) = &local_38;\n        *(undefined4 **)(puVar7 + -0x10) = puVar5;\n        *(undefined4 **)(puVar7 + -0x14) = param_1;\n        *(undefined4 *)(puVar7 + -0x18) = 0x146b28;\n        FUN_00149250();\n      }\n      else {\n        *puVar5 = local_38;\n        param_1[1] = puVar5 + 1;\n      }\n      piVar10 = local_38;\n      piVar4 = local_3c;\n      *(undefined4 *)(puVar7 + -0x14) = 0x14;\n                    /* try { // try from 00146a19 to 00146b27 has its CatchHandler @ 00146b47 */\n      *(undefined4 *)(puVar7 + -0x18) = 0x146a1e;\n      puVar5 = (undefined4 *)FUN_0017ebf0();\n      local_24 = (int *)0x0;\n      *puVar5 = 0;\n      local_28 = piVar4;\n      puVar5[2] = 0;\n      uVar9 = (int)piVar4 + puVar5[2];\n      puVar5[3] = piVar10;\n      puVar5[1] = piVar4;\n      uVar2 = param_1[7];\n      *(uint *)(puVar7 + -8) = uVar9;\n      *(undefined4 **)(puVar7 + -0xc) = puVar5 + 1;\n      *(uint *)(puVar7 + -0x10) = uVar9 % uVar2;\n      *(undefined4 **)(puVar7 + -0x14) = local_54;\n      *(undefined4 *)(puVar7 + -0x18) = 0x146a5f;\n      piVar4 = (int *)FUN_0014d100();\n      if ((piVar4 == (int *)0x0) || (*piVar4 == 0)) {\n        *(undefined4 *)(puVar7 + -0x10) = 1;\n        *(undefined4 **)(puVar7 + -0x14) = puVar5;\n        *(uint *)(puVar7 + -0x18) = uVar9;\n        *(uint *)(puVar7 + -0x1c) = uVar9 % uVar2;\n        *(undefined4 **)(puVar7 + -0x20) = local_54;\n        *(undefined1 **)(puVar7 + -0x24) = local_40;\n        *(undefined4 *)(puVar7 + -0x28) = 0x146afc;\n        FUN_0014ced0();\n        puVar8 = puVar7 + -8;\n      }\n      else {\n        *(undefined4 **)(puVar7 + -0x14) = puVar5;\n        *(undefined4 *)(puVar7 + -0x18) = 0x146a7c;\n        FUN_001807a0();\n      }\n      local_4c = local_4c + 1;\n      puVar7 = puVar8;\n      piVar10 = local_34;\n      piVar4 = local_34;\n    }" { (expression_statement "*(int ***)(puVar7 + -4) = local_5c;" (assignment_expression "*(int ***)(puVar7 + -4) = local_5c" (pointer_expression "*(int ***)(puVar7 + -4)" * (cast_expression "(int ***)(puVar7 + -4)" ( (type_descriptor "int ***" primitive_type (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar7 + -4)" ( (binary_expression "puVar7 + -4" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar7 + -8) = 1;" (assignment_expression "*(undefined4 *)(puVar7 + -8) = 1" (pointer_expression "*(undefined4 *)(puVar7 + -8)" * (cast_expression "(undefined4 *)(puVar7 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar7 + -8)" ( (binary_expression "puVar7 + -8" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)(puVar7 + -0xc) = local_34[local_4c * 6];" (assignment_expression "*(int *)(puVar7 + -0xc) = local_34[local_4c * 6]" (pointer_expression "*(int *)(puVar7 + -0xc)" * (cast_expression "(int *)(puVar7 + -0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar7 + -0xc)" ( (binary_expression "puVar7 + -0xc" identifier + number_literal) )))) = (subscript_expression "local_34[local_4c * 6]" identifier [ (binary_expression "local_4c * 6" identifier * number_literal) ])) ;) (expression_statement "*(undefined4 *)(puVar7 + -0x10) = param_3;" (assignment_expression "*(undefined4 *)(puVar7 + -0x10) = param_3" (pointer_expression "*(undefined4 *)(puVar7 + -0x10)" * (cast_expression "(undefined4 *)(puVar7 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar7 + -0x10)" ( (binary_expression "puVar7 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar7 + -0x14) = 0x1468c3;" (assignment_expression "*(undefined4 *)(puVar7 + -0x14) = 0x1468c3" (pointer_expression "*(undefined4 *)(puVar7 + -0x14)" * (cast_expression "(undefined4 *)(puVar7 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar7 + -0x14)" ( (binary_expression "puVar7 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "iVar3 = FUN_001200e0();" (assignment_expression "iVar3 = FUN_001200e0()" identifier = (call_expression "FUN_001200e0()" identifier (argument_list "()" ( )))) ;) (expression_statement "*(int *)(puVar7 + -8) = iVar3;" (assignment_expression "*(int *)(puVar7 + -8) = iVar3" (pointer_expression "*(int *)(puVar7 + -8)" * (cast_expression "(int *)(puVar7 + -8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar7 + -8)" ( (binary_expression "puVar7 + -8" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar7 + -0xc) = param_1[0xe];" (assignment_expression "*(undefined4 *)(puVar7 + -0xc) = param_1[0xe]" (pointer_expression "*(undefined4 *)(puVar7 + -0xc)" * (cast_expression "(undefined4 *)(puVar7 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar7 + -0xc)" ( (binary_expression "puVar7 + -0xc" identifier + number_literal) )))) = (subscript_expression "param_1[0xe]" identifier [ number_literal ])) ;) (expression_statement "*(int ***)(puVar7 + -0x10) = local_58;" (assignment_expression "*(int ***)(puVar7 + -0x10) = local_58" (pointer_expression "*(int ***)(puVar7 + -0x10)" * (cast_expression "(int ***)(puVar7 + -0x10)" ( (type_descriptor "int ***" primitive_type (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar7 + -0x10)" ( (binary_expression "puVar7 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar7 + -0x14) = 0x1468d7;" (assignment_expression "*(undefined4 *)(puVar7 + -0x14) = 0x1468d7" (pointer_expression "*(undefined4 *)(puVar7 + -0x14)" * (cast_expression "(undefined4 *)(puVar7 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar7 + -0x14)" ( (binary_expression "puVar7 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_00118dd0();" (call_expression "FUN_00118dd0()" identifier (argument_list "()" ( ))) ;) (expression_statement "*(undefined4 *)(puVar7 + -0x14) = 0x1c;" (assignment_expression "*(undefined4 *)(puVar7 + -0x14) = 0x1c" (pointer_expression "*(undefined4 *)(puVar7 + -0x14)" * (cast_expression "(undefined4 *)(puVar7 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar7 + -0x14)" ( (binary_expression "puVar7 + -0x14" identifier + number_literal) )))) = number_literal) ;) comment (expression_statement "*(undefined4 *)(puVar7 + -0x18) = 0x1468de;" (assignment_expression "*(undefined4 *)(puVar7 + -0x18) = 0x1468de" (pointer_expression "*(undefined4 *)(puVar7 + -0x18)" * (cast_expression "(undefined4 *)(puVar7 + -0x18)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar7 + -0x18)" ( (binary_expression "puVar7 + -0x18" identifier + number_literal) )))) = number_literal) ;) (expression_statement "piVar4 = (int *)FUN_0017ebf0();" (assignment_expression "piVar4 = (int *)FUN_0017ebf0()" identifier = (cast_expression "(int *)FUN_0017ebf0()" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_0017ebf0()" identifier (argument_list "()" ( ))))) ;) (expression_statement "piVar4[1] = -1;" (assignment_expression "piVar4[1] = -1" (subscript_expression "piVar4[1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar4[2] = iVar3;" (assignment_expression "piVar4[2] = iVar3" (subscript_expression "piVar4[2]" identifier [ number_literal ]) = identifier) ;) (expression_statement "*piVar4 = (int)local_60;" (assignment_expression "*piVar4 = (int)local_60" (pointer_expression "*piVar4" * identifier) = (cast_expression "(int)local_60" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "piVar4[3] = 0;" (assignment_expression "piVar4[3] = 0" (subscript_expression "piVar4[3]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_44 = (int *)((int)local_24 - (int)local_28);" (assignment_expression "local_44 = (int *)((int)local_24 - (int)local_28)" identifier = (cast_expression "(int *)((int)local_24 - (int)local_28)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_24 - (int)local_28)" ( (binary_expression "(int)local_24 - (int)local_28" (cast_expression "(int)local_24" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)local_28" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (expression_statement "piVar4[4] = 0;" (assignment_expression "piVar4[4] = 0" (subscript_expression "piVar4[4]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "uVar2 = ((int)local_44 >> 3) * -0x55555555;" (assignment_expression "uVar2 = ((int)local_44 >> 3) * -0x55555555" identifier = (binary_expression "((int)local_44 >> 3) * -0x55555555" (parenthesized_expression "((int)local_44 >> 3)" ( (binary_expression "(int)local_44 >> 3" (cast_expression "(int)local_44" ( (type_descriptor "int" primitive_type) ) identifier) >> number_literal) )) * number_literal)) ;) (expression_statement "piVar4[5] = 0;" (assignment_expression "piVar4[5] = 0" (subscript_expression "piVar4[5]" identifier [ number_literal ]) = number_literal) ;) (if_statement "if (uVar2 == 0) {\n        local_50 = (int *)0x0;\n      }\n      else {\n        if (0xaaaaaaa < uVar2) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 00146b42 to 00146b46 has its CatchHandler @ 00146b6a */\n          *(undefined1 **)(puVar7 + -8) = &LAB_00146b47;\n          FUN_001c5fe0();\n        }\n        *(int **)(puVar7 + -0x14) = local_44;\n                    /* try { // try from 00146939 to 0014693d has its CatchHandler @ 00146b6a */\n        *(undefined4 *)(puVar7 + -0x18) = 0x14693e;\n        local_50 = (int *)FUN_0017ebf0();\n      }" if (parenthesized_expression "(uVar2 == 0)" ( (binary_expression "uVar2 == 0" identifier == number_literal) )) (compound_statement "{\n        local_50 = (int *)0x0;\n      }" { (expression_statement "local_50 = (int *)0x0;" (assignment_expression "local_50 = (int *)0x0" identifier = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }) (else_clause "else {\n        if (0xaaaaaaa < uVar2) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 00146b42 to 00146b46 has its CatchHandler @ 00146b6a */\n          *(undefined1 **)(puVar7 + -8) = &LAB_00146b47;\n          FUN_001c5fe0();\n        }\n        *(int **)(puVar7 + -0x14) = local_44;\n                    /* try { // try from 00146939 to 0014693d has its CatchHandler @ 00146b6a */\n        *(undefined4 *)(puVar7 + -0x18) = 0x14693e;\n        local_50 = (int *)FUN_0017ebf0();\n      }" else (compound_statement "{\n        if (0xaaaaaaa < uVar2) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 00146b42 to 00146b46 has its CatchHandler @ 00146b6a */\n          *(undefined1 **)(puVar7 + -8) = &LAB_00146b47;\n          FUN_001c5fe0();\n        }\n        *(int **)(puVar7 + -0x14) = local_44;\n                    /* try { // try from 00146939 to 0014693d has its CatchHandler @ 00146b6a */\n        *(undefined4 *)(puVar7 + -0x18) = 0x14693e;\n        local_50 = (int *)FUN_0017ebf0();\n      }" { (if_statement "if (0xaaaaaaa < uVar2) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 00146b42 to 00146b46 has its CatchHandler @ 00146b6a */\n          *(undefined1 **)(puVar7 + -8) = &LAB_00146b47;\n          FUN_001c5fe0();\n        }" if (parenthesized_expression "(0xaaaaaaa < uVar2)" ( (binary_expression "0xaaaaaaa < uVar2" number_literal < identifier) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 00146b42 to 00146b46 has its CatchHandler @ 00146b6a */\n          *(undefined1 **)(puVar7 + -8) = &LAB_00146b47;\n          FUN_001c5fe0();\n        }" { comment comment (expression_statement "*(undefined1 **)(puVar7 + -8) = &LAB_00146b47;" (assignment_expression "*(undefined1 **)(puVar7 + -8) = &LAB_00146b47" (pointer_expression "*(undefined1 **)(puVar7 + -8)" * (cast_expression "(undefined1 **)(puVar7 + -8)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar7 + -8)" ( (binary_expression "puVar7 + -8" identifier + number_literal) )))) = (pointer_expression "&LAB_00146b47" & identifier)) ;) (expression_statement "FUN_001c5fe0();" (call_expression "FUN_001c5fe0()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "*(int **)(puVar7 + -0x14) = local_44;" (assignment_expression "*(int **)(puVar7 + -0x14) = local_44" (pointer_expression "*(int **)(puVar7 + -0x14)" * (cast_expression "(int **)(puVar7 + -0x14)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar7 + -0x14)" ( (binary_expression "puVar7 + -0x14" identifier + number_literal) )))) = identifier) ;) comment (expression_statement "*(undefined4 *)(puVar7 + -0x18) = 0x14693e;" (assignment_expression "*(undefined4 *)(puVar7 + -0x18) = 0x14693e" (pointer_expression "*(undefined4 *)(puVar7 + -0x18)" * (cast_expression "(undefined4 *)(puVar7 + -0x18)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar7 + -0x18)" ( (binary_expression "puVar7 + -0x18" identifier + number_literal) )))) = number_literal) ;) (expression_statement "local_50 = (int *)FUN_0017ebf0();" (assignment_expression "local_50 = (int *)FUN_0017ebf0()" identifier = (cast_expression "(int *)FUN_0017ebf0()" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_0017ebf0()" identifier (argument_list "()" ( ))))) ;) }))) (expression_statement "piVar10 = local_24;" (assignment_expression "piVar10 = local_24" identifier = identifier) ;) (expression_statement "puVar8 = puVar7 + -4;" (assignment_expression "puVar8 = puVar7 + -4" identifier = (binary_expression "puVar7 + -4" identifier + number_literal)) ;) (expression_statement "piVar4[3] = (int)local_50;" (assignment_expression "piVar4[3] = (int)local_50" (subscript_expression "piVar4[3]" identifier [ number_literal ]) = (cast_expression "(int)local_50" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "piVar4[4] = (int)local_50;" (assignment_expression "piVar4[4] = (int)local_50" (subscript_expression "piVar4[4]" identifier [ number_literal ]) = (cast_expression "(int)local_50" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "piVar4[5] = (int)local_44 + (int)local_50;" (assignment_expression "piVar4[5] = (int)local_44 + (int)local_50" (subscript_expression "piVar4[5]" identifier [ number_literal ]) = (binary_expression "(int)local_44 + (int)local_50" (cast_expression "(int)local_44" ( (type_descriptor "int" primitive_type) ) identifier) + (cast_expression "(int)local_50" ( (type_descriptor "int" primitive_type) ) identifier))) ;) (if_statement "if (local_28 == local_24) {\n        piVar4[6] = 0;\n        local_38 = piVar4;\n      }\n      else {\n        local_44 = local_50;\n        piVar6 = local_28;\n        do {\n          *local_44 = (int)(local_44 + 2);\n          iVar3 = *piVar6;\n          *(undefined4 *)(puVar7 + -8) = 0;\n          *(int *)(puVar7 + -0xc) = piVar6[1] + iVar3;\n          *(int *)(puVar7 + -0x10) = iVar3;\n          *(int **)(puVar7 + -0x14) = local_44;\n                    /* try { // try from 00146984 to 00146988 has its CatchHandler @ 00146b65 */\n          *(undefined4 *)(puVar7 + -0x18) = 0x146989;\n          FUN_0004d4e0();\n          piVar1 = local_24;\n          piVar6 = piVar6 + 6;\n          local_44 = local_44 + 6;\n        } while (piVar10 != piVar6);\n        piVar4[6] = 0;\n        piVar4[4] = (int)local_44;\n        local_38 = piVar4;\n        piVar10 = local_24;\n        for (piVar4 = local_28; piVar4 != piVar1; piVar4 = piVar4 + 6) {\n          if ((int *)*piVar4 != piVar4 + 2) {\n            *(int **)(puVar7 + -0x14) = (int *)*piVar4;\n            *(undefined4 *)(puVar7 + -0x18) = 0x1469cd;\n            FUN_001807a0();\n          }\n          piVar10 = local_28;\n        }\n      }" if (parenthesized_expression "(local_28 == local_24)" ( (binary_expression "local_28 == local_24" identifier == identifier) )) (compound_statement "{\n        piVar4[6] = 0;\n        local_38 = piVar4;\n      }" { (expression_statement "piVar4[6] = 0;" (assignment_expression "piVar4[6] = 0" (subscript_expression "piVar4[6]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_38 = piVar4;" (assignment_expression "local_38 = piVar4" identifier = identifier) ;) }) (else_clause "else {\n        local_44 = local_50;\n        piVar6 = local_28;\n        do {\n          *local_44 = (int)(local_44 + 2);\n          iVar3 = *piVar6;\n          *(undefined4 *)(puVar7 + -8) = 0;\n          *(int *)(puVar7 + -0xc) = piVar6[1] + iVar3;\n          *(int *)(puVar7 + -0x10) = iVar3;\n          *(int **)(puVar7 + -0x14) = local_44;\n                    /* try { // try from 00146984 to 00146988 has its CatchHandler @ 00146b65 */\n          *(undefined4 *)(puVar7 + -0x18) = 0x146989;\n          FUN_0004d4e0();\n          piVar1 = local_24;\n          piVar6 = piVar6 + 6;\n          local_44 = local_44 + 6;\n        } while (piVar10 != piVar6);\n        piVar4[6] = 0;\n        piVar4[4] = (int)local_44;\n        local_38 = piVar4;\n        piVar10 = local_24;\n        for (piVar4 = local_28; piVar4 != piVar1; piVar4 = piVar4 + 6) {\n          if ((int *)*piVar4 != piVar4 + 2) {\n            *(int **)(puVar7 + -0x14) = (int *)*piVar4;\n            *(undefined4 *)(puVar7 + -0x18) = 0x1469cd;\n            FUN_001807a0();\n          }\n          piVar10 = local_28;\n        }\n      }" else (compound_statement "{\n        local_44 = local_50;\n        piVar6 = local_28;\n        do {\n          *local_44 = (int)(local_44 + 2);\n          iVar3 = *piVar6;\n          *(undefined4 *)(puVar7 + -8) = 0;\n          *(int *)(puVar7 + -0xc) = piVar6[1] + iVar3;\n          *(int *)(puVar7 + -0x10) = iVar3;\n          *(int **)(puVar7 + -0x14) = local_44;\n                    /* try { // try from 00146984 to 00146988 has its CatchHandler @ 00146b65 */\n          *(undefined4 *)(puVar7 + -0x18) = 0x146989;\n          FUN_0004d4e0();\n          piVar1 = local_24;\n          piVar6 = piVar6 + 6;\n          local_44 = local_44 + 6;\n        } while (piVar10 != piVar6);\n        piVar4[6] = 0;\n        piVar4[4] = (int)local_44;\n        local_38 = piVar4;\n        piVar10 = local_24;\n        for (piVar4 = local_28; piVar4 != piVar1; piVar4 = piVar4 + 6) {\n          if ((int *)*piVar4 != piVar4 + 2) {\n            *(int **)(puVar7 + -0x14) = (int *)*piVar4;\n            *(undefined4 *)(puVar7 + -0x18) = 0x1469cd;\n            FUN_001807a0();\n          }\n          piVar10 = local_28;\n        }\n      }" { (expression_statement "local_44 = local_50;" (assignment_expression "local_44 = local_50" identifier = identifier) ;) (expression_statement "piVar6 = local_28;" (assignment_expression "piVar6 = local_28" identifier = identifier) ;) (do_statement "do {\n          *local_44 = (int)(local_44 + 2);\n          iVar3 = *piVar6;\n          *(undefined4 *)(puVar7 + -8) = 0;\n          *(int *)(puVar7 + -0xc) = piVar6[1] + iVar3;\n          *(int *)(puVar7 + -0x10) = iVar3;\n          *(int **)(puVar7 + -0x14) = local_44;\n                    /* try { // try from 00146984 to 00146988 has its CatchHandler @ 00146b65 */\n          *(undefined4 *)(puVar7 + -0x18) = 0x146989;\n          FUN_0004d4e0();\n          piVar1 = local_24;\n          piVar6 = piVar6 + 6;\n          local_44 = local_44 + 6;\n        } while (piVar10 != piVar6);" do (compound_statement "{\n          *local_44 = (int)(local_44 + 2);\n          iVar3 = *piVar6;\n          *(undefined4 *)(puVar7 + -8) = 0;\n          *(int *)(puVar7 + -0xc) = piVar6[1] + iVar3;\n          *(int *)(puVar7 + -0x10) = iVar3;\n          *(int **)(puVar7 + -0x14) = local_44;\n                    /* try { // try from 00146984 to 00146988 has its CatchHandler @ 00146b65 */\n          *(undefined4 *)(puVar7 + -0x18) = 0x146989;\n          FUN_0004d4e0();\n          piVar1 = local_24;\n          piVar6 = piVar6 + 6;\n          local_44 = local_44 + 6;\n        }" { (expression_statement "*local_44 = (int)(local_44 + 2);" (assignment_expression "*local_44 = (int)(local_44 + 2)" (pointer_expression "*local_44" * identifier) = (cast_expression "(int)(local_44 + 2)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(local_44 + 2)" ( (binary_expression "local_44 + 2" identifier + number_literal) )))) ;) (expression_statement "iVar3 = *piVar6;" (assignment_expression "iVar3 = *piVar6" identifier = (pointer_expression "*piVar6" * identifier)) ;) (expression_statement "*(undefined4 *)(puVar7 + -8) = 0;" (assignment_expression "*(undefined4 *)(puVar7 + -8) = 0" (pointer_expression "*(undefined4 *)(puVar7 + -8)" * (cast_expression "(undefined4 *)(puVar7 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar7 + -8)" ( (binary_expression "puVar7 + -8" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)(puVar7 + -0xc) = piVar6[1] + iVar3;" (assignment_expression "*(int *)(puVar7 + -0xc) = piVar6[1] + iVar3" (pointer_expression "*(int *)(puVar7 + -0xc)" * (cast_expression "(int *)(puVar7 + -0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar7 + -0xc)" ( (binary_expression "puVar7 + -0xc" identifier + number_literal) )))) = (binary_expression "piVar6[1] + iVar3" (subscript_expression "piVar6[1]" identifier [ number_literal ]) + identifier)) ;) (expression_statement "*(int *)(puVar7 + -0x10) = iVar3;" (assignment_expression "*(int *)(puVar7 + -0x10) = iVar3" (pointer_expression "*(int *)(puVar7 + -0x10)" * (cast_expression "(int *)(puVar7 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar7 + -0x10)" ( (binary_expression "puVar7 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int **)(puVar7 + -0x14) = local_44;" (assignment_expression "*(int **)(puVar7 + -0x14) = local_44" (pointer_expression "*(int **)(puVar7 + -0x14)" * (cast_expression "(int **)(puVar7 + -0x14)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar7 + -0x14)" ( (binary_expression "puVar7 + -0x14" identifier + number_literal) )))) = identifier) ;) comment (expression_statement "*(undefined4 *)(puVar7 + -0x18) = 0x146989;" (assignment_expression "*(undefined4 *)(puVar7 + -0x18) = 0x146989" (pointer_expression "*(undefined4 *)(puVar7 + -0x18)" * (cast_expression "(undefined4 *)(puVar7 + -0x18)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar7 + -0x18)" ( (binary_expression "puVar7 + -0x18" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_0004d4e0();" (call_expression "FUN_0004d4e0()" identifier (argument_list "()" ( ))) ;) (expression_statement "piVar1 = local_24;" (assignment_expression "piVar1 = local_24" identifier = identifier) ;) (expression_statement "piVar6 = piVar6 + 6;" (assignment_expression "piVar6 = piVar6 + 6" identifier = (binary_expression "piVar6 + 6" identifier + number_literal)) ;) (expression_statement "local_44 = local_44 + 6;" (assignment_expression "local_44 = local_44 + 6" identifier = (binary_expression "local_44 + 6" identifier + number_literal)) ;) }) while (parenthesized_expression "(piVar10 != piVar6)" ( (binary_expression "piVar10 != piVar6" identifier != identifier) )) ;) (expression_statement "piVar4[6] = 0;" (assignment_expression "piVar4[6] = 0" (subscript_expression "piVar4[6]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar4[4] = (int)local_44;" (assignment_expression "piVar4[4] = (int)local_44" (subscript_expression "piVar4[4]" identifier [ number_literal ]) = (cast_expression "(int)local_44" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "local_38 = piVar4;" (assignment_expression "local_38 = piVar4" identifier = identifier) ;) (expression_statement "piVar10 = local_24;" (assignment_expression "piVar10 = local_24" identifier = identifier) ;) (for_statement "for (piVar4 = local_28; piVar4 != piVar1; piVar4 = piVar4 + 6) {\n          if ((int *)*piVar4 != piVar4 + 2) {\n            *(int **)(puVar7 + -0x14) = (int *)*piVar4;\n            *(undefined4 *)(puVar7 + -0x18) = 0x1469cd;\n            FUN_001807a0();\n          }\n          piVar10 = local_28;\n        }" for ( (assignment_expression "piVar4 = local_28" identifier = identifier) ; (binary_expression "piVar4 != piVar1" identifier != identifier) ; (assignment_expression "piVar4 = piVar4 + 6" identifier = (binary_expression "piVar4 + 6" identifier + number_literal)) ) (compound_statement "{\n          if ((int *)*piVar4 != piVar4 + 2) {\n            *(int **)(puVar7 + -0x14) = (int *)*piVar4;\n            *(undefined4 *)(puVar7 + -0x18) = 0x1469cd;\n            FUN_001807a0();\n          }\n          piVar10 = local_28;\n        }" { (if_statement "if ((int *)*piVar4 != piVar4 + 2) {\n            *(int **)(puVar7 + -0x14) = (int *)*piVar4;\n            *(undefined4 *)(puVar7 + -0x18) = 0x1469cd;\n            FUN_001807a0();\n          }" if (parenthesized_expression "((int *)*piVar4 != piVar4 + 2)" ( (binary_expression "(int *)*piVar4 != piVar4 + 2" (cast_expression "(int *)*piVar4" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar4" * identifier)) != (binary_expression "piVar4 + 2" identifier + number_literal)) )) (compound_statement "{\n            *(int **)(puVar7 + -0x14) = (int *)*piVar4;\n            *(undefined4 *)(puVar7 + -0x18) = 0x1469cd;\n            FUN_001807a0();\n          }" { (expression_statement "*(int **)(puVar7 + -0x14) = (int *)*piVar4;" (assignment_expression "*(int **)(puVar7 + -0x14) = (int *)*piVar4" (pointer_expression "*(int **)(puVar7 + -0x14)" * (cast_expression "(int **)(puVar7 + -0x14)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar7 + -0x14)" ( (binary_expression "puVar7 + -0x14" identifier + number_literal) )))) = (cast_expression "(int *)*piVar4" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar4" * identifier))) ;) (expression_statement "*(undefined4 *)(puVar7 + -0x18) = 0x1469cd;" (assignment_expression "*(undefined4 *)(puVar7 + -0x18) = 0x1469cd" (pointer_expression "*(undefined4 *)(puVar7 + -0x18)" * (cast_expression "(undefined4 *)(puVar7 + -0x18)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar7 + -0x18)" ( (binary_expression "puVar7 + -0x18" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_001807a0();" (call_expression "FUN_001807a0()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "piVar10 = local_28;" (assignment_expression "piVar10 = local_28" identifier = identifier) ;) })) }))) (if_statement "if (piVar10 != (int *)0x0) {\n        *(int **)(puVar7 + -0x14) = piVar10;\n        *(undefined4 *)(puVar7 + -0x18) = 0x1469ea;\n        FUN_001807a0();\n      }" if (parenthesized_expression "(piVar10 != (int *)0x0)" ( (binary_expression "piVar10 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        *(int **)(puVar7 + -0x14) = piVar10;\n        *(undefined4 *)(puVar7 + -0x18) = 0x1469ea;\n        FUN_001807a0();\n      }" { (expression_statement "*(int **)(puVar7 + -0x14) = piVar10;" (assignment_expression "*(int **)(puVar7 + -0x14) = piVar10" (pointer_expression "*(int **)(puVar7 + -0x14)" * (cast_expression "(int **)(puVar7 + -0x14)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar7 + -0x14)" ( (binary_expression "puVar7 + -0x14" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar7 + -0x18) = 0x1469ea;" (assignment_expression "*(undefined4 *)(puVar7 + -0x18) = 0x1469ea" (pointer_expression "*(undefined4 *)(puVar7 + -0x18)" * (cast_expression "(undefined4 *)(puVar7 + -0x18)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar7 + -0x18)" ( (binary_expression "puVar7 + -0x18" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_001807a0();" (call_expression "FUN_001807a0()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "puVar5 = (undefined4 *)param_1[1];" (assignment_expression "puVar5 = (undefined4 *)param_1[1]" identifier = (cast_expression "(undefined4 *)param_1[1]" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_1[1]" identifier [ number_literal ]))) ;) (if_statement "if (puVar5 == (undefined4 *)param_1[2]) {\n        *(int ***)(puVar7 + -0xc) = &local_38;\n        *(undefined4 **)(puVar7 + -0x10) = puVar5;\n        *(undefined4 **)(puVar7 + -0x14) = param_1;\n        *(undefined4 *)(puVar7 + -0x18) = 0x146b28;\n        FUN_00149250();\n      }\n      else {\n        *puVar5 = local_38;\n        param_1[1] = puVar5 + 1;\n      }" if (parenthesized_expression "(puVar5 == (undefined4 *)param_1[2])" ( (binary_expression "puVar5 == (undefined4 *)param_1[2]" identifier == (cast_expression "(undefined4 *)param_1[2]" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_1[2]" identifier [ number_literal ]))) )) (compound_statement "{\n        *(int ***)(puVar7 + -0xc) = &local_38;\n        *(undefined4 **)(puVar7 + -0x10) = puVar5;\n        *(undefined4 **)(puVar7 + -0x14) = param_1;\n        *(undefined4 *)(puVar7 + -0x18) = 0x146b28;\n        FUN_00149250();\n      }" { (expression_statement "*(int ***)(puVar7 + -0xc) = &local_38;" (assignment_expression "*(int ***)(puVar7 + -0xc) = &local_38" (pointer_expression "*(int ***)(puVar7 + -0xc)" * (cast_expression "(int ***)(puVar7 + -0xc)" ( (type_descriptor "int ***" primitive_type (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar7 + -0xc)" ( (binary_expression "puVar7 + -0xc" identifier + number_literal) )))) = (pointer_expression "&local_38" & identifier)) ;) (expression_statement "*(undefined4 **)(puVar7 + -0x10) = puVar5;" (assignment_expression "*(undefined4 **)(puVar7 + -0x10) = puVar5" (pointer_expression "*(undefined4 **)(puVar7 + -0x10)" * (cast_expression "(undefined4 **)(puVar7 + -0x10)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar7 + -0x10)" ( (binary_expression "puVar7 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 **)(puVar7 + -0x14) = param_1;" (assignment_expression "*(undefined4 **)(puVar7 + -0x14) = param_1" (pointer_expression "*(undefined4 **)(puVar7 + -0x14)" * (cast_expression "(undefined4 **)(puVar7 + -0x14)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar7 + -0x14)" ( (binary_expression "puVar7 + -0x14" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar7 + -0x18) = 0x146b28;" (assignment_expression "*(undefined4 *)(puVar7 + -0x18) = 0x146b28" (pointer_expression "*(undefined4 *)(puVar7 + -0x18)" * (cast_expression "(undefined4 *)(puVar7 + -0x18)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar7 + -0x18)" ( (binary_expression "puVar7 + -0x18" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_00149250();" (call_expression "FUN_00149250()" identifier (argument_list "()" ( ))) ;) }) (else_clause "else {\n        *puVar5 = local_38;\n        param_1[1] = puVar5 + 1;\n      }" else (compound_statement "{\n        *puVar5 = local_38;\n        param_1[1] = puVar5 + 1;\n      }" { (expression_statement "*puVar5 = local_38;" (assignment_expression "*puVar5 = local_38" (pointer_expression "*puVar5" * identifier) = identifier) ;) (expression_statement "param_1[1] = puVar5 + 1;" (assignment_expression "param_1[1] = puVar5 + 1" (subscript_expression "param_1[1]" identifier [ number_literal ]) = (binary_expression "puVar5 + 1" identifier + number_literal)) ;) }))) (expression_statement "piVar10 = local_38;" (assignment_expression "piVar10 = local_38" identifier = identifier) ;) (expression_statement "piVar4 = local_3c;" (assignment_expression "piVar4 = local_3c" identifier = identifier) ;) (expression_statement "*(undefined4 *)(puVar7 + -0x14) = 0x14;" (assignment_expression "*(undefined4 *)(puVar7 + -0x14) = 0x14" (pointer_expression "*(undefined4 *)(puVar7 + -0x14)" * (cast_expression "(undefined4 *)(puVar7 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar7 + -0x14)" ( (binary_expression "puVar7 + -0x14" identifier + number_literal) )))) = number_literal) ;) comment (expression_statement "*(undefined4 *)(puVar7 + -0x18) = 0x146a1e;" (assignment_expression "*(undefined4 *)(puVar7 + -0x18) = 0x146a1e" (pointer_expression "*(undefined4 *)(puVar7 + -0x18)" * (cast_expression "(undefined4 *)(puVar7 + -0x18)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar7 + -0x18)" ( (binary_expression "puVar7 + -0x18" identifier + number_literal) )))) = number_literal) ;) (expression_statement "puVar5 = (undefined4 *)FUN_0017ebf0();" (assignment_expression "puVar5 = (undefined4 *)FUN_0017ebf0()" identifier = (cast_expression "(undefined4 *)FUN_0017ebf0()" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_0017ebf0()" identifier (argument_list "()" ( ))))) ;) (expression_statement "local_24 = (int *)0x0;" (assignment_expression "local_24 = (int *)0x0" identifier = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "*puVar5 = 0;" (assignment_expression "*puVar5 = 0" (pointer_expression "*puVar5" * identifier) = number_literal) ;) (expression_statement "local_28 = piVar4;" (assignment_expression "local_28 = piVar4" identifier = identifier) ;) (expression_statement "puVar5[2] = 0;" (assignment_expression "puVar5[2] = 0" (subscript_expression "puVar5[2]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "uVar9 = (int)piVar4 + puVar5[2];" (assignment_expression "uVar9 = (int)piVar4 + puVar5[2]" identifier = (binary_expression "(int)piVar4 + puVar5[2]" (cast_expression "(int)piVar4" ( (type_descriptor "int" primitive_type) ) identifier) + (subscript_expression "puVar5[2]" identifier [ number_literal ]))) ;) (expression_statement "puVar5[3] = piVar10;" (assignment_expression "puVar5[3] = piVar10" (subscript_expression "puVar5[3]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar5[1] = piVar4;" (assignment_expression "puVar5[1] = piVar4" (subscript_expression "puVar5[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "uVar2 = param_1[7];" (assignment_expression "uVar2 = param_1[7]" identifier = (subscript_expression "param_1[7]" identifier [ number_literal ])) ;) (expression_statement "*(uint *)(puVar7 + -8) = uVar9;" (assignment_expression "*(uint *)(puVar7 + -8) = uVar9" (pointer_expression "*(uint *)(puVar7 + -8)" * (cast_expression "(uint *)(puVar7 + -8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar7 + -8)" ( (binary_expression "puVar7 + -8" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 **)(puVar7 + -0xc) = puVar5 + 1;" (assignment_expression "*(undefined4 **)(puVar7 + -0xc) = puVar5 + 1" (pointer_expression "*(undefined4 **)(puVar7 + -0xc)" * (cast_expression "(undefined4 **)(puVar7 + -0xc)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar7 + -0xc)" ( (binary_expression "puVar7 + -0xc" identifier + number_literal) )))) = (binary_expression "puVar5 + 1" identifier + number_literal)) ;) (expression_statement "*(uint *)(puVar7 + -0x10) = uVar9 % uVar2;" (assignment_expression "*(uint *)(puVar7 + -0x10) = uVar9 % uVar2" (pointer_expression "*(uint *)(puVar7 + -0x10)" * (cast_expression "(uint *)(puVar7 + -0x10)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar7 + -0x10)" ( (binary_expression "puVar7 + -0x10" identifier + number_literal) )))) = (binary_expression "uVar9 % uVar2" identifier % identifier)) ;) (expression_statement "*(undefined4 **)(puVar7 + -0x14) = local_54;" (assignment_expression "*(undefined4 **)(puVar7 + -0x14) = local_54" (pointer_expression "*(undefined4 **)(puVar7 + -0x14)" * (cast_expression "(undefined4 **)(puVar7 + -0x14)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar7 + -0x14)" ( (binary_expression "puVar7 + -0x14" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar7 + -0x18) = 0x146a5f;" (assignment_expression "*(undefined4 *)(puVar7 + -0x18) = 0x146a5f" (pointer_expression "*(undefined4 *)(puVar7 + -0x18)" * (cast_expression "(undefined4 *)(puVar7 + -0x18)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar7 + -0x18)" ( (binary_expression "puVar7 + -0x18" identifier + number_literal) )))) = number_literal) ;) (expression_statement "piVar4 = (int *)FUN_0014d100();" (assignment_expression "piVar4 = (int *)FUN_0014d100()" identifier = (cast_expression "(int *)FUN_0014d100()" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_0014d100()" identifier (argument_list "()" ( ))))) ;) (if_statement "if ((piVar4 == (int *)0x0) || (*piVar4 == 0)) {\n        *(undefined4 *)(puVar7 + -0x10) = 1;\n        *(undefined4 **)(puVar7 + -0x14) = puVar5;\n        *(uint *)(puVar7 + -0x18) = uVar9;\n        *(uint *)(puVar7 + -0x1c) = uVar9 % uVar2;\n        *(undefined4 **)(puVar7 + -0x20) = local_54;\n        *(undefined1 **)(puVar7 + -0x24) = local_40;\n        *(undefined4 *)(puVar7 + -0x28) = 0x146afc;\n        FUN_0014ced0();\n        puVar8 = puVar7 + -8;\n      }\n      else {\n        *(undefined4 **)(puVar7 + -0x14) = puVar5;\n        *(undefined4 *)(puVar7 + -0x18) = 0x146a7c;\n        FUN_001807a0();\n      }" if (parenthesized_expression "((piVar4 == (int *)0x0) || (*piVar4 == 0))" ( (binary_expression "(piVar4 == (int *)0x0) || (*piVar4 == 0)" (parenthesized_expression "(piVar4 == (int *)0x0)" ( (binary_expression "piVar4 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) || (parenthesized_expression "(*piVar4 == 0)" ( (binary_expression "*piVar4 == 0" (pointer_expression "*piVar4" * identifier) == number_literal) ))) )) (compound_statement "{\n        *(undefined4 *)(puVar7 + -0x10) = 1;\n        *(undefined4 **)(puVar7 + -0x14) = puVar5;\n        *(uint *)(puVar7 + -0x18) = uVar9;\n        *(uint *)(puVar7 + -0x1c) = uVar9 % uVar2;\n        *(undefined4 **)(puVar7 + -0x20) = local_54;\n        *(undefined1 **)(puVar7 + -0x24) = local_40;\n        *(undefined4 *)(puVar7 + -0x28) = 0x146afc;\n        FUN_0014ced0();\n        puVar8 = puVar7 + -8;\n      }" { (expression_statement "*(undefined4 *)(puVar7 + -0x10) = 1;" (assignment_expression "*(undefined4 *)(puVar7 + -0x10) = 1" (pointer_expression "*(undefined4 *)(puVar7 + -0x10)" * (cast_expression "(undefined4 *)(puVar7 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar7 + -0x10)" ( (binary_expression "puVar7 + -0x10" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 **)(puVar7 + -0x14) = puVar5;" (assignment_expression "*(undefined4 **)(puVar7 + -0x14) = puVar5" (pointer_expression "*(undefined4 **)(puVar7 + -0x14)" * (cast_expression "(undefined4 **)(puVar7 + -0x14)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar7 + -0x14)" ( (binary_expression "puVar7 + -0x14" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(uint *)(puVar7 + -0x18) = uVar9;" (assignment_expression "*(uint *)(puVar7 + -0x18) = uVar9" (pointer_expression "*(uint *)(puVar7 + -0x18)" * (cast_expression "(uint *)(puVar7 + -0x18)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar7 + -0x18)" ( (binary_expression "puVar7 + -0x18" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(uint *)(puVar7 + -0x1c) = uVar9 % uVar2;" (assignment_expression "*(uint *)(puVar7 + -0x1c) = uVar9 % uVar2" (pointer_expression "*(uint *)(puVar7 + -0x1c)" * (cast_expression "(uint *)(puVar7 + -0x1c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar7 + -0x1c)" ( (binary_expression "puVar7 + -0x1c" identifier + number_literal) )))) = (binary_expression "uVar9 % uVar2" identifier % identifier)) ;) (expression_statement "*(undefined4 **)(puVar7 + -0x20) = local_54;" (assignment_expression "*(undefined4 **)(puVar7 + -0x20) = local_54" (pointer_expression "*(undefined4 **)(puVar7 + -0x20)" * (cast_expression "(undefined4 **)(puVar7 + -0x20)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar7 + -0x20)" ( (binary_expression "puVar7 + -0x20" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined1 **)(puVar7 + -0x24) = local_40;" (assignment_expression "*(undefined1 **)(puVar7 + -0x24) = local_40" (pointer_expression "*(undefined1 **)(puVar7 + -0x24)" * (cast_expression "(undefined1 **)(puVar7 + -0x24)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar7 + -0x24)" ( (binary_expression "puVar7 + -0x24" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar7 + -0x28) = 0x146afc;" (assignment_expression "*(undefined4 *)(puVar7 + -0x28) = 0x146afc" (pointer_expression "*(undefined4 *)(puVar7 + -0x28)" * (cast_expression "(undefined4 *)(puVar7 + -0x28)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar7 + -0x28)" ( (binary_expression "puVar7 + -0x28" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_0014ced0();" (call_expression "FUN_0014ced0()" identifier (argument_list "()" ( ))) ;) (expression_statement "puVar8 = puVar7 + -8;" (assignment_expression "puVar8 = puVar7 + -8" identifier = (binary_expression "puVar7 + -8" identifier + number_literal)) ;) }) (else_clause "else {\n        *(undefined4 **)(puVar7 + -0x14) = puVar5;\n        *(undefined4 *)(puVar7 + -0x18) = 0x146a7c;\n        FUN_001807a0();\n      }" else (compound_statement "{\n        *(undefined4 **)(puVar7 + -0x14) = puVar5;\n        *(undefined4 *)(puVar7 + -0x18) = 0x146a7c;\n        FUN_001807a0();\n      }" { (expression_statement "*(undefined4 **)(puVar7 + -0x14) = puVar5;" (assignment_expression "*(undefined4 **)(puVar7 + -0x14) = puVar5" (pointer_expression "*(undefined4 **)(puVar7 + -0x14)" * (cast_expression "(undefined4 **)(puVar7 + -0x14)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar7 + -0x14)" ( (binary_expression "puVar7 + -0x14" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar7 + -0x18) = 0x146a7c;" (assignment_expression "*(undefined4 *)(puVar7 + -0x18) = 0x146a7c" (pointer_expression "*(undefined4 *)(puVar7 + -0x18)" * (cast_expression "(undefined4 *)(puVar7 + -0x18)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar7 + -0x18)" ( (binary_expression "puVar7 + -0x18" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_001807a0();" (call_expression "FUN_001807a0()" identifier (argument_list "()" ( ))) ;) }))) (expression_statement "local_4c = local_4c + 1;" (assignment_expression "local_4c = local_4c + 1" identifier = (binary_expression "local_4c + 1" identifier + number_literal)) ;) (expression_statement "puVar7 = puVar8;" (assignment_expression "puVar7 = puVar8" identifier = identifier) ;) (expression_statement "piVar10 = local_34;" (assignment_expression "piVar10 = local_34" identifier = identifier) ;) (expression_statement "piVar4 = local_34;" (assignment_expression "piVar4 = local_34" identifier = identifier) ;) }) while (parenthesized_expression "(local_4c < (uint)(((int)local_30 - (int)local_34 >> 3) * -0x55555555))" ( (binary_expression "local_4c < (uint)(((int)local_30 - (int)local_34 >> 3) * -0x55555555)" identifier < (call_expression "(uint)(((int)local_30 - (int)local_34 >> 3) * -0x55555555)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(((int)local_30 - (int)local_34 >> 3) * -0x55555555)" ( (binary_expression "((int)local_30 - (int)local_34 >> 3) * -0x55555555" (parenthesized_expression "((int)local_30 - (int)local_34 >> 3)" ( (binary_expression "(int)local_30 - (int)local_34 >> 3" (binary_expression "(int)local_30 - (int)local_34" (cast_expression "(int)local_30" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)local_34" ( (type_descriptor "int" primitive_type) ) identifier)) >> number_literal) )) * number_literal) )))) )) ;) (for_statement "for (; piVar10 != local_30; piVar10 = piVar10 + 6) {\n      local_34 = piVar4;\n      if ((int *)*piVar10 != piVar10 + 2) {\n        *(int **)(puVar8 + -0x10) = (int *)*piVar10;\n        *(undefined4 *)(puVar8 + -0x14) = 0x146abd;\n        FUN_001807a0();\n      }\n      piVar4 = local_34;\n    }" for ( ; (binary_expression "piVar10 != local_30" identifier != identifier) ; (assignment_expression "piVar10 = piVar10 + 6" identifier = (binary_expression "piVar10 + 6" identifier + number_literal)) ) (compound_statement "{\n      local_34 = piVar4;\n      if ((int *)*piVar10 != piVar10 + 2) {\n        *(int **)(puVar8 + -0x10) = (int *)*piVar10;\n        *(undefined4 *)(puVar8 + -0x14) = 0x146abd;\n        FUN_001807a0();\n      }\n      piVar4 = local_34;\n    }" { (expression_statement "local_34 = piVar4;" (assignment_expression "local_34 = piVar4" identifier = identifier) ;) (if_statement "if ((int *)*piVar10 != piVar10 + 2) {\n        *(int **)(puVar8 + -0x10) = (int *)*piVar10;\n        *(undefined4 *)(puVar8 + -0x14) = 0x146abd;\n        FUN_001807a0();\n      }" if (parenthesized_expression "((int *)*piVar10 != piVar10 + 2)" ( (binary_expression "(int *)*piVar10 != piVar10 + 2" (cast_expression "(int *)*piVar10" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar10" * identifier)) != (binary_expression "piVar10 + 2" identifier + number_literal)) )) (compound_statement "{\n        *(int **)(puVar8 + -0x10) = (int *)*piVar10;\n        *(undefined4 *)(puVar8 + -0x14) = 0x146abd;\n        FUN_001807a0();\n      }" { (expression_statement "*(int **)(puVar8 + -0x10) = (int *)*piVar10;" (assignment_expression "*(int **)(puVar8 + -0x10) = (int *)*piVar10" (pointer_expression "*(int **)(puVar8 + -0x10)" * (cast_expression "(int **)(puVar8 + -0x10)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar8 + -0x10)" ( (binary_expression "puVar8 + -0x10" identifier + number_literal) )))) = (cast_expression "(int *)*piVar10" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar10" * identifier))) ;) (expression_statement "*(undefined4 *)(puVar8 + -0x14) = 0x146abd;" (assignment_expression "*(undefined4 *)(puVar8 + -0x14) = 0x146abd" (pointer_expression "*(undefined4 *)(puVar8 + -0x14)" * (cast_expression "(undefined4 *)(puVar8 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar8 + -0x14)" ( (binary_expression "puVar8 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_001807a0();" (call_expression "FUN_001807a0()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "piVar4 = local_34;" (assignment_expression "piVar4 = local_34" identifier = identifier) ;) })) })) (labeled_statement "LAB_00146aca:\n  if (piVar4 != (int *)0x0) {\n    *(int **)(puVar8 + -0x10) = piVar4;\n    *(undefined4 *)(puVar8 + -0x14) = 0x146ada;\n    FUN_001807a0();\n  }" statement_identifier : (if_statement "if (piVar4 != (int *)0x0) {\n    *(int **)(puVar8 + -0x10) = piVar4;\n    *(undefined4 *)(puVar8 + -0x14) = 0x146ada;\n    FUN_001807a0();\n  }" if (parenthesized_expression "(piVar4 != (int *)0x0)" ( (binary_expression "piVar4 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    *(int **)(puVar8 + -0x10) = piVar4;\n    *(undefined4 *)(puVar8 + -0x14) = 0x146ada;\n    FUN_001807a0();\n  }" { (expression_statement "*(int **)(puVar8 + -0x10) = piVar4;" (assignment_expression "*(int **)(puVar8 + -0x10) = piVar4" (pointer_expression "*(int **)(puVar8 + -0x10)" * (cast_expression "(int **)(puVar8 + -0x10)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar8 + -0x10)" ( (binary_expression "puVar8 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar8 + -0x14) = 0x146ada;" (assignment_expression "*(undefined4 *)(puVar8 + -0x14) = 0x146ada" (pointer_expression "*(undefined4 *)(puVar8 + -0x14)" * (cast_expression "(undefined4 *)(puVar8 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar8 + -0x14)" ( (binary_expression "puVar8 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_001807a0();" (call_expression "FUN_001807a0()" identifier (argument_list "()" ( ))) ;) }))) (return_statement "return;" return ;) })))
(translation_unit "/* WARNING: Function: __x86.get_pc_thunk.ax replaced with injection: get_pc_thunk_ax */\n/* DWARF original prototype: void Versions(Versions * this, Version_script_info * version_script,\n   Stringpool * dynpool) */\n\nvoid __thiscall\ngold::Versions::Versions(Versions *this,Version_script_info *version_script,Stringpool *dynpool)\n\n{\n  pointer ppVVar1;\n  pointer pcVar2;\n  iterator __position;\n  Key KVar3;\n  pointer pbVar4;\n  uint uVar5;\n  char *version;\n  Verdef *pVVar6;\n  uint uVar7;\n  undefined4 *__n_elt;\n  __node_base *p_Var8;\n  pointer pbVar9;\n  pointer pbVar10;\n  __node_type *__node;\n  basic_string<char,_std::char_traits<char>,_std::allocator<char>_> *local_50;\n  uint local_4c;\n  basic_string<char,_std::char_traits<char>,_std::allocator<char>_> *local_44;\n  undefined1 local_40 [4];\n  Key version_key;\n  Verdef *vd;\n  vector<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n  versions;\n  vector<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n  local_28 [2];\n  \n  (this->defs_).super__Vector_base<gold::Verdef*,_std::allocator<gold::Verdef*>_>._M_impl._M_start =\n       (pointer)0x0;\n  (this->defs_).super__Vector_base<gold::Verdef*,_std::allocator<gold::Verdef*>_>._M_impl._M_finish\n       = (pointer)0x0;\n  (this->defs_).super__Vector_base<gold::Verdef*,_std::allocator<gold::Verdef*>_>._M_impl.\n  _M_end_of_storage = (pointer)0x0;\n  (this->needs_).super__Vector_base<gold::Verneed*,_std::allocator<gold::Verneed*>_>._M_impl.\n  _M_start = (pointer)0x0;\n  (this->needs_).super__Vector_base<gold::Verneed*,_std::allocator<gold::Verneed*>_>._M_impl.\n  _M_finish = (pointer)0x0;\n  (this->needs_).super__Vector_base<gold::Verneed*,_std::allocator<gold::Verneed*>_>._M_impl.\n  _M_end_of_storage = (pointer)0x0;\n  uVar5 = 0;\n  do {\n    *(undefined4 *)((int)&(this->version_table_)._M_h._M_buckets + uVar5) = 0;\n    uVar5 = uVar5 + 4;\n  } while (uVar5 < 0x1c);\n  (this->version_table_)._M_h._M_bucket_count = 1;\n  (this->version_table_)._M_h._M_buckets = &(this->version_table_)._M_h._M_single_bucket;\n  ppVVar1 = (version_script->version_trees_).\n            super__Vector_base<gold::Version_tree*,_std::allocator<gold::Version_tree*>_>._M_impl.\n            _M_finish;\n  (this->version_table_)._M_h._M_before_begin._M_nxt = (_Hash_node_base *)0x0;\n  (this->version_table_)._M_h._M_element_count = 0;\n  (this->version_table_)._M_h._M_rehash_policy._M_max_load_factor = 1.0;\n  (this->version_table_)._M_h._M_rehash_policy._M_next_resize = 0;\n  (this->version_table_)._M_h._M_single_bucket = (__bucket_type)0x0;\n  this->is_finalized_ = false;\n  this->version_script_ = version_script;\n  this->needs_base_version_ = true;\n  if ((version_script->version_trees_).\n      super__Vector_base<gold::Version_tree*,_std::allocator<gold::Version_tree*>_>._M_impl._M_start\n      == ppVVar1) {\n    return;\n  }\n                    /* try { // try from 00146833 to 00146837 has its CatchHandler @ 00146b55 */\n  Version_script_info::get_versions(&versions,version_script);\n  if (this->needs_base_version_ != false) {\n    pbVar9 = versions.\n             super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n             ._M_impl._M_finish;\n    if (versions.\n        super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n        ._M_impl._M_start ==\n        versions.\n        super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n        ._M_impl._M_finish) goto LAB_00146aca;\n                    /* try { // try from 00146864 to 001468d6 has its CatchHandler @ 00146b47 */\n    define_base_version(this,dynpool);\n  }\n  local_4c = 0;\n  pbVar9 = versions.\n           super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n           ._M_impl._M_start;\n  if (versions.\n      super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n      ._M_impl._M_start !=\n      versions.\n      super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n      ._M_impl._M_finish) {\n    do {\n      version = Stringpool_template<char>::add\n                          (dynpool,versions.\n                                   super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n                                   ._M_impl._M_start[local_4c]._M_dataplus._M_p,true,&version_key);\n      Version_script_info::get_dependencies(local_28,this->version_script_,version);\n                    /* try { // try from 001468d9 to 001468dd has its CatchHandler @ 00146b4e */\n      pVVar6 = (Verdef *)operator_new(0x1c);\n      (pVVar6->super_Version_base).index_ = 0xffffffff;\n      pVVar6->name_ = version;\n      (pVVar6->super_Version_base)._vptr_Version_base = (_func_int_varargs **)&PTR__Verdef_002f9e60;\n      (pVVar6->deps_).\n      super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n      ._M_impl._M_start = (pointer)0x0;\n      uVar5 = (int)local_28[0].\n                   super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n                   ._M_impl._M_finish -\n              (int)local_28[0].\n                   super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n                   ._M_impl._M_start;\n      (pVVar6->deps_).\n      super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n      ._M_impl._M_finish = (pointer)0x0;\n      uVar7 = ((int)uVar5 >> 3) * -0x55555555;\n      (pVVar6->deps_).\n      super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n      ._M_impl._M_end_of_storage = (pointer)0x0;\n      if (uVar7 == 0) {\n        local_50 = (basic_string<char,_std::char_traits<char>,_std::allocator<char>_> *)0x0;\n      }\n      else {\n        if (0xaaaaaaa < uVar7) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 00146b42 to 00146b46 has its CatchHandler @ 00146b6a */\n          std::__throw_bad_alloc();\n        }\n                    /* try { // try from 00146939 to 0014693d has its CatchHandler @ 00146b6a */\n        local_50 = (basic_string<char,_std::char_traits<char>,_std::allocator<char>_> *)\n                   operator_new(uVar5);\n      }\n      pbVar9 = local_28[0].\n               super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n               ._M_impl._M_finish;\n      (pVVar6->deps_).\n      super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n      ._M_impl._M_start = local_50;\n      (pVVar6->deps_).\n      super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n      ._M_impl._M_finish = local_50;\n      (pVVar6->deps_).\n      super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n      ._M_impl._M_end_of_storage = (pointer)(uVar5 + (int)local_50);\n      if (local_28[0].\n          super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n          ._M_impl._M_start ==\n          local_28[0].\n          super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n          ._M_impl._M_finish) {\n        pVVar6->is_base_ = false;\n        pVVar6->is_weak_ = false;\n        pVVar6->is_info_ = false;\n        pVVar6->is_symbol_created_ = false;\n        vd = pVVar6;\n      }\n      else {\n        local_44 = local_50;\n        pbVar10 = local_28[0].\n                  super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n                  ._M_impl._M_start;\n        do {\n          (local_44->_M_dataplus)._M_p = (pointer)&local_44->field_2;\n          pcVar2 = (pbVar10->_M_dataplus)._M_p;\n                    /* try { // try from 00146984 to 00146988 has its CatchHandler @ 00146b65 */\n          std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n          _M_construct<char*>(local_44,pcVar2,pcVar2 + pbVar10->_M_string_length,0);\n          pbVar4 = local_28[0].\n                   super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n                   ._M_impl._M_finish;\n          pbVar10 = pbVar10 + 1;\n          local_44 = local_44 + 1;\n        } while (pbVar9 != pbVar10);\n        pVVar6->is_base_ = false;\n        pVVar6->is_weak_ = false;\n        pVVar6->is_info_ = false;\n        pVVar6->is_symbol_created_ = false;\n        (pVVar6->deps_).\n        super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n        ._M_impl._M_finish = local_44;\n        vd = pVVar6;\n        pbVar9 = local_28[0].\n                 super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n                 ._M_impl._M_finish;\n        for (pbVar10 = local_28[0].\n                       super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n                       ._M_impl._M_start; pbVar10 != pbVar4; pbVar10 = pbVar10 + 1) {\n          pcVar2 = (pbVar10->_M_dataplus)._M_p;\n          if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n               *)pcVar2 != &pbVar10->field_2) {\n            operator_delete(pcVar2);\n          }\n          pbVar9 = local_28[0].\n                   super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n                   ._M_impl._M_start;\n        }\n      }\n      if (pbVar9 != (pointer)0x0) {\n        operator_delete(pbVar9);\n      }\n      __position._M_current =\n           (this->defs_).super__Vector_base<gold::Verdef*,_std::allocator<gold::Verdef*>_>._M_impl.\n           _M_finish;\n      if (__position._M_current ==\n          (this->defs_).super__Vector_base<gold::Verdef*,_std::allocator<gold::Verdef*>_>._M_impl.\n          _M_end_of_storage) {\n        std::vector<gold::Verdef*,_std::allocator<gold::Verdef*>_>::\n        _M_realloc_insert<gold::Verdef*_const&>(&this->defs_,__position,&vd);\n      }\n      else {\n        *__position._M_current = vd;\n        (this->defs_).super__Vector_base<gold::Verdef*,_std::allocator<gold::Verdef*>_>._M_impl.\n        _M_finish = __position._M_current + 1;\n      }\n      pVVar6 = vd;\n      KVar3 = version_key;\n                    /* try { // try from 00146a19 to 00146b27 has its CatchHandler @ 00146b47 */\n      __n_elt = (undefined4 *)operator_new(0x14);\n      local_28[0].\n      super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n      ._M_impl._M_finish = (pointer)0x0;\n      *__n_elt = 0;\n      local_28[0].\n      super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n      ._M_impl._M_start = (pointer)KVar3;\n      __n_elt[2] = 0;\n      __node = (__node_type *)(KVar3 + __n_elt[2]);\n      __n_elt[3] = pVVar6;\n      __n_elt[1] = KVar3;\n      uVar5 = (uint)__node % (this->version_table_)._M_h._M_bucket_count;\n      p_Var8 = std::\n               _Hashtable<std::pair<unsigned_int,_unsigned_int>,_std::pair<const_std::pair<unsigned_int,_unsigned_int>,_gold::Version_base*>,_std::allocator<std::pair<const_std::pair<unsigned_int,_unsigned_int>,_gold::Version_base*>_>,_std::__detail::_Select1st,_gold::Versions::Version_table_eq,_gold::Versions::Version_table_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<std::pair<unsigned_int,_unsigned_int>,_std::pair<const_std::pair<unsigned_int,_unsigned_int>,_gold::Version_base*>,_std::allocator<std::pair<const_std::pair<unsigned_int,_unsigned_int>,_gold::Version_base*>_>,_std::__detail::_Select1st,_gold::Versions::Version_table_eq,_gold::Versions::Version_table_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n                           *)&this->version_table_,uVar5,(key_type *)(__n_elt + 1),\n                          (__hash_code)__node);\n      if ((p_Var8 == (__node_base *)0x0) || (p_Var8->_M_nxt == (_Hash_node_base *)0x0)) {\n        std::\n        _Hashtable<std::pair<unsigned_int,_unsigned_int>,_std::pair<const_std::pair<unsigned_int,_unsigned_int>,_gold::Version_base*>,_std::allocator<std::pair<const_std::pair<unsigned_int,_unsigned_int>,_gold::Version_base*>_>,_std::__detail::_Select1st,_gold::Versions::Version_table_eq,_gold::Versions::Version_table_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_insert_unique_node\n                  ((_Hashtable<std::pair<unsigned_int,_unsigned_int>,_std::pair<const_std::pair<unsigned_int,_unsigned_int>,_gold::Version_base*>,_std::allocator<std::pair<const_std::pair<unsigned_int,_unsigned_int>,_gold::Version_base*>_>,_std::__detail::_Select1st,_gold::Versions::Version_table_eq,_gold::Versions::Version_table_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n                    *)local_40,(size_type)&this->version_table_,uVar5,__node,(size_type)__n_elt);\n      }\n      else {\n        operator_delete(__n_elt);\n      }\n      local_4c = local_4c + 1;\n      pbVar10 = versions.\n                super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n                ._M_impl._M_start;\n      pbVar9 = versions.\n               super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n               ._M_impl._M_start;\n    } while (local_4c <\n             (uint)(((int)versions.\n                          super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n                          ._M_impl._M_finish -\n                     (int)versions.\n                          super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n                          ._M_impl._M_start >> 3) * -0x55555555));\n    for (; pbVar10 !=\n           versions.\n           super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n           ._M_impl._M_finish; pbVar10 = pbVar10 + 1) {\n      pcVar2 = (pbVar10->_M_dataplus)._M_p;\n      versions.\n      super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n      ._M_impl._M_start = pbVar9;\n      if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n           *)pcVar2 != &pbVar10->field_2) {\n        operator_delete(pcVar2);\n      }\n      pbVar9 = versions.\n               super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n               ._M_impl._M_start;\n    }\n  }\nLAB_00146aca:\n  if (pbVar9 != (pointer)0x0) {\n    operator_delete(pbVar9);\n  }\n  return;\n}\n\n" comment comment (function_definition "void __thiscall\ngold::Versions::Versions(Versions *this,Version_script_info *version_script,Stringpool *dynpool)\n\n{\n  pointer ppVVar1;\n  pointer pcVar2;\n  iterator __position;\n  Key KVar3;\n  pointer pbVar4;\n  uint uVar5;\n  char *version;\n  Verdef *pVVar6;\n  uint uVar7;\n  undefined4 *__n_elt;\n  __node_base *p_Var8;\n  pointer pbVar9;\n  pointer pbVar10;\n  __node_type *__node;\n  basic_string<char,_std::char_traits<char>,_std::allocator<char>_> *local_50;\n  uint local_4c;\n  basic_string<char,_std::char_traits<char>,_std::allocator<char>_> *local_44;\n  undefined1 local_40 [4];\n  Key version_key;\n  Verdef *vd;\n  vector<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n  versions;\n  vector<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n  local_28 [2];\n  \n  (this->defs_).super__Vector_base<gold::Verdef*,_std::allocator<gold::Verdef*>_>._M_impl._M_start =\n       (pointer)0x0;\n  (this->defs_).super__Vector_base<gold::Verdef*,_std::allocator<gold::Verdef*>_>._M_impl._M_finish\n       = (pointer)0x0;\n  (this->defs_).super__Vector_base<gold::Verdef*,_std::allocator<gold::Verdef*>_>._M_impl.\n  _M_end_of_storage = (pointer)0x0;\n  (this->needs_).super__Vector_base<gold::Verneed*,_std::allocator<gold::Verneed*>_>._M_impl.\n  _M_start = (pointer)0x0;\n  (this->needs_).super__Vector_base<gold::Verneed*,_std::allocator<gold::Verneed*>_>._M_impl.\n  _M_finish = (pointer)0x0;\n  (this->needs_).super__Vector_base<gold::Verneed*,_std::allocator<gold::Verneed*>_>._M_impl.\n  _M_end_of_storage = (pointer)0x0;\n  uVar5 = 0;\n  do {\n    *(undefined4 *)((int)&(this->version_table_)._M_h._M_buckets + uVar5) = 0;\n    uVar5 = uVar5 + 4;\n  } while (uVar5 < 0x1c);\n  (this->version_table_)._M_h._M_bucket_count = 1;\n  (this->version_table_)._M_h._M_buckets = &(this->version_table_)._M_h._M_single_bucket;\n  ppVVar1 = (version_script->version_trees_).\n            super__Vector_base<gold::Version_tree*,_std::allocator<gold::Version_tree*>_>._M_impl.\n            _M_finish;\n  (this->version_table_)._M_h._M_before_begin._M_nxt = (_Hash_node_base *)0x0;\n  (this->version_table_)._M_h._M_element_count = 0;\n  (this->version_table_)._M_h._M_rehash_policy._M_max_load_factor = 1.0;\n  (this->version_table_)._M_h._M_rehash_policy._M_next_resize = 0;\n  (this->version_table_)._M_h._M_single_bucket = (__bucket_type)0x0;\n  this->is_finalized_ = false;\n  this->version_script_ = version_script;\n  this->needs_base_version_ = true;\n  if ((version_script->version_trees_).\n      super__Vector_base<gold::Version_tree*,_std::allocator<gold::Version_tree*>_>._M_impl._M_start\n      == ppVVar1) {\n    return;\n  }\n                    /* try { // try from 00146833 to 00146837 has its CatchHandler @ 00146b55 */\n  Version_script_info::get_versions(&versions,version_script);\n  if (this->needs_base_version_ != false) {\n    pbVar9 = versions.\n             super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n             ._M_impl._M_finish;\n    if (versions.\n        super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n        ._M_impl._M_start ==\n        versions.\n        super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n        ._M_impl._M_finish) goto LAB_00146aca;\n                    /* try { // try from 00146864 to 001468d6 has its CatchHandler @ 00146b47 */\n    define_base_version(this,dynpool);\n  }\n  local_4c = 0;\n  pbVar9 = versions.\n           super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n           ._M_impl._M_start;\n  if (versions.\n      super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n      ._M_impl._M_start !=\n      versions.\n      super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n      ._M_impl._M_finish) {\n    do {\n      version = Stringpool_template<char>::add\n                          (dynpool,versions.\n                                   super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n                                   ._M_impl._M_start[local_4c]._M_dataplus._M_p,true,&version_key);\n      Version_script_info::get_dependencies(local_28,this->version_script_,version);\n                    /* try { // try from 001468d9 to 001468dd has its CatchHandler @ 00146b4e */\n      pVVar6 = (Verdef *)operator_new(0x1c);\n      (pVVar6->super_Version_base).index_ = 0xffffffff;\n      pVVar6->name_ = version;\n      (pVVar6->super_Version_base)._vptr_Version_base = (_func_int_varargs **)&PTR__Verdef_002f9e60;\n      (pVVar6->deps_).\n      super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n      ._M_impl._M_start = (pointer)0x0;\n      uVar5 = (int)local_28[0].\n                   super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n                   ._M_impl._M_finish -\n              (int)local_28[0].\n                   super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n                   ._M_impl._M_start;\n      (pVVar6->deps_).\n      super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n      ._M_impl._M_finish = (pointer)0x0;\n      uVar7 = ((int)uVar5 >> 3) * -0x55555555;\n      (pVVar6->deps_).\n      super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n      ._M_impl._M_end_of_storage = (pointer)0x0;\n      if (uVar7 == 0) {\n        local_50 = (basic_string<char,_std::char_traits<char>,_std::allocator<char>_> *)0x0;\n      }\n      else {\n        if (0xaaaaaaa < uVar7) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 00146b42 to 00146b46 has its CatchHandler @ 00146b6a */\n          std::__throw_bad_alloc();\n        }\n                    /* try { // try from 00146939 to 0014693d has its CatchHandler @ 00146b6a */\n        local_50 = (basic_string<char,_std::char_traits<char>,_std::allocator<char>_> *)\n                   operator_new(uVar5);\n      }\n      pbVar9 = local_28[0].\n               super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n               ._M_impl._M_finish;\n      (pVVar6->deps_).\n      super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n      ._M_impl._M_start = local_50;\n      (pVVar6->deps_).\n      super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n      ._M_impl._M_finish = local_50;\n      (pVVar6->deps_).\n      super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n      ._M_impl._M_end_of_storage = (pointer)(uVar5 + (int)local_50);\n      if (local_28[0].\n          super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n          ._M_impl._M_start ==\n          local_28[0].\n          super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n          ._M_impl._M_finish) {\n        pVVar6->is_base_ = false;\n        pVVar6->is_weak_ = false;\n        pVVar6->is_info_ = false;\n        pVVar6->is_symbol_created_ = false;\n        vd = pVVar6;\n      }\n      else {\n        local_44 = local_50;\n        pbVar10 = local_28[0].\n                  super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n                  ._M_impl._M_start;\n        do {\n          (local_44->_M_dataplus)._M_p = (pointer)&local_44->field_2;\n          pcVar2 = (pbVar10->_M_dataplus)._M_p;\n                    /* try { // try from 00146984 to 00146988 has its CatchHandler @ 00146b65 */\n          std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n          _M_construct<char*>(local_44,pcVar2,pcVar2 + pbVar10->_M_string_length,0);\n          pbVar4 = local_28[0].\n                   super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n                   ._M_impl._M_finish;\n          pbVar10 = pbVar10 + 1;\n          local_44 = local_44 + 1;\n        } while (pbVar9 != pbVar10);\n        pVVar6->is_base_ = false;\n        pVVar6->is_weak_ = false;\n        pVVar6->is_info_ = false;\n        pVVar6->is_symbol_created_ = false;\n        (pVVar6->deps_).\n        super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n        ._M_impl._M_finish = local_44;\n        vd = pVVar6;\n        pbVar9 = local_28[0].\n                 super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n                 ._M_impl._M_finish;\n        for (pbVar10 = local_28[0].\n                       super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n                       ._M_impl._M_start; pbVar10 != pbVar4; pbVar10 = pbVar10 + 1) {\n          pcVar2 = (pbVar10->_M_dataplus)._M_p;\n          if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n               *)pcVar2 != &pbVar10->field_2) {\n            operator_delete(pcVar2);\n          }\n          pbVar9 = local_28[0].\n                   super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n                   ._M_impl._M_start;\n        }\n      }\n      if (pbVar9 != (pointer)0x0) {\n        operator_delete(pbVar9);\n      }\n      __position._M_current =\n           (this->defs_).super__Vector_base<gold::Verdef*,_std::allocator<gold::Verdef*>_>._M_impl.\n           _M_finish;\n      if (__position._M_current ==\n          (this->defs_).super__Vector_base<gold::Verdef*,_std::allocator<gold::Verdef*>_>._M_impl.\n          _M_end_of_storage) {\n        std::vector<gold::Verdef*,_std::allocator<gold::Verdef*>_>::\n        _M_realloc_insert<gold::Verdef*_const&>(&this->defs_,__position,&vd);\n      }\n      else {\n        *__position._M_current = vd;\n        (this->defs_).super__Vector_base<gold::Verdef*,_std::allocator<gold::Verdef*>_>._M_impl.\n        _M_finish = __position._M_current + 1;\n      }\n      pVVar6 = vd;\n      KVar3 = version_key;\n                    /* try { // try from 00146a19 to 00146b27 has its CatchHandler @ 00146b47 */\n      __n_elt = (undefined4 *)operator_new(0x14);\n      local_28[0].\n      super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n      ._M_impl._M_finish = (pointer)0x0;\n      *__n_elt = 0;\n      local_28[0].\n      super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n      ._M_impl._M_start = (pointer)KVar3;\n      __n_elt[2] = 0;\n      __node = (__node_type *)(KVar3 + __n_elt[2]);\n      __n_elt[3] = pVVar6;\n      __n_elt[1] = KVar3;\n      uVar5 = (uint)__node % (this->version_table_)._M_h._M_bucket_count;\n      p_Var8 = std::\n               _Hashtable<std::pair<unsigned_int,_unsigned_int>,_std::pair<const_std::pair<unsigned_int,_unsigned_int>,_gold::Version_base*>,_std::allocator<std::pair<const_std::pair<unsigned_int,_unsigned_int>,_gold::Version_base*>_>,_std::__detail::_Select1st,_gold::Versions::Version_table_eq,_gold::Versions::Version_table_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<std::pair<unsigned_int,_unsigned_int>,_std::pair<const_std::pair<unsigned_int,_unsigned_int>,_gold::Version_base*>,_std::allocator<std::pair<const_std::pair<unsigned_int,_unsigned_int>,_gold::Version_base*>_>,_std::__detail::_Select1st,_gold::Versions::Version_table_eq,_gold::Versions::Version_table_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n                           *)&this->version_table_,uVar5,(key_type *)(__n_elt + 1),\n                          (__hash_code)__node);\n      if ((p_Var8 == (__node_base *)0x0) || (p_Var8->_M_nxt == (_Hash_node_base *)0x0)) {\n        std::\n        _Hashtable<std::pair<unsigned_int,_unsigned_int>,_std::pair<const_std::pair<unsigned_int,_unsigned_int>,_gold::Version_base*>,_std::allocator<std::pair<const_std::pair<unsigned_int,_unsigned_int>,_gold::Version_base*>_>,_std::__detail::_Select1st,_gold::Versions::Version_table_eq,_gold::Versions::Version_table_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_insert_unique_node\n                  ((_Hashtable<std::pair<unsigned_int,_unsigned_int>,_std::pair<const_std::pair<unsigned_int,_unsigned_int>,_gold::Version_base*>,_std::allocator<std::pair<const_std::pair<unsigned_int,_unsigned_int>,_gold::Version_base*>_>,_std::__detail::_Select1st,_gold::Versions::Version_table_eq,_gold::Versions::Version_table_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n                    *)local_40,(size_type)&this->version_table_,uVar5,__node,(size_type)__n_elt);\n      }\n      else {\n        operator_delete(__n_elt);\n      }\n      local_4c = local_4c + 1;\n      pbVar10 = versions.\n                super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n                ._M_impl._M_start;\n      pbVar9 = versions.\n               super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n               ._M_impl._M_start;\n    } while (local_4c <\n             (uint)(((int)versions.\n                          super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n                          ._M_impl._M_finish -\n                     (int)versions.\n                          super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n                          ._M_impl._M_start >> 3) * -0x55555555));\n    for (; pbVar10 !=\n           versions.\n           super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n           ._M_impl._M_finish; pbVar10 = pbVar10 + 1) {\n      pcVar2 = (pbVar10->_M_dataplus)._M_p;\n      versions.\n      super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n      ._M_impl._M_start = pbVar9;\n      if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n           *)pcVar2 != &pbVar10->field_2) {\n        operator_delete(pcVar2);\n      }\n      pbVar9 = versions.\n               super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n               ._M_impl._M_start;\n    }\n  }\nLAB_00146aca:\n  if (pbVar9 != (pointer)0x0) {\n    operator_delete(pbVar9);\n  }\n  return;\n}" primitive_type (ms_call_modifier "__thiscall" __thiscall) (ERROR "gold::Versions::" identifier : : identifier : :) (function_declarator "Versions(Versions *this,Version_script_info *version_script,Stringpool *dynpool)" identifier (parameter_list "(Versions *this,Version_script_info *version_script,Stringpool *dynpool)" ( (parameter_declaration "Versions *this" type_identifier (pointer_declarator "*this" * identifier)) , (parameter_declaration "Version_script_info *version_script" type_identifier (pointer_declarator "*version_script" * identifier)) , (parameter_declaration "Stringpool *dynpool" type_identifier (pointer_declarator "*dynpool" * identifier)) ))) (compound_statement "{\n  pointer ppVVar1;\n  pointer pcVar2;\n  iterator __position;\n  Key KVar3;\n  pointer pbVar4;\n  uint uVar5;\n  char *version;\n  Verdef *pVVar6;\n  uint uVar7;\n  undefined4 *__n_elt;\n  __node_base *p_Var8;\n  pointer pbVar9;\n  pointer pbVar10;\n  __node_type *__node;\n  basic_string<char,_std::char_traits<char>,_std::allocator<char>_> *local_50;\n  uint local_4c;\n  basic_string<char,_std::char_traits<char>,_std::allocator<char>_> *local_44;\n  undefined1 local_40 [4];\n  Key version_key;\n  Verdef *vd;\n  vector<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n  versions;\n  vector<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n  local_28 [2];\n  \n  (this->defs_).super__Vector_base<gold::Verdef*,_std::allocator<gold::Verdef*>_>._M_impl._M_start =\n       (pointer)0x0;\n  (this->defs_).super__Vector_base<gold::Verdef*,_std::allocator<gold::Verdef*>_>._M_impl._M_finish\n       = (pointer)0x0;\n  (this->defs_).super__Vector_base<gold::Verdef*,_std::allocator<gold::Verdef*>_>._M_impl.\n  _M_end_of_storage = (pointer)0x0;\n  (this->needs_).super__Vector_base<gold::Verneed*,_std::allocator<gold::Verneed*>_>._M_impl.\n  _M_start = (pointer)0x0;\n  (this->needs_).super__Vector_base<gold::Verneed*,_std::allocator<gold::Verneed*>_>._M_impl.\n  _M_finish = (pointer)0x0;\n  (this->needs_).super__Vector_base<gold::Verneed*,_std::allocator<gold::Verneed*>_>._M_impl.\n  _M_end_of_storage = (pointer)0x0;\n  uVar5 = 0;\n  do {\n    *(undefined4 *)((int)&(this->version_table_)._M_h._M_buckets + uVar5) = 0;\n    uVar5 = uVar5 + 4;\n  } while (uVar5 < 0x1c);\n  (this->version_table_)._M_h._M_bucket_count = 1;\n  (this->version_table_)._M_h._M_buckets = &(this->version_table_)._M_h._M_single_bucket;\n  ppVVar1 = (version_script->version_trees_).\n            super__Vector_base<gold::Version_tree*,_std::allocator<gold::Version_tree*>_>._M_impl.\n            _M_finish;\n  (this->version_table_)._M_h._M_before_begin._M_nxt = (_Hash_node_base *)0x0;\n  (this->version_table_)._M_h._M_element_count = 0;\n  (this->version_table_)._M_h._M_rehash_policy._M_max_load_factor = 1.0;\n  (this->version_table_)._M_h._M_rehash_policy._M_next_resize = 0;\n  (this->version_table_)._M_h._M_single_bucket = (__bucket_type)0x0;\n  this->is_finalized_ = false;\n  this->version_script_ = version_script;\n  this->needs_base_version_ = true;\n  if ((version_script->version_trees_).\n      super__Vector_base<gold::Version_tree*,_std::allocator<gold::Version_tree*>_>._M_impl._M_start\n      == ppVVar1) {\n    return;\n  }\n                    /* try { // try from 00146833 to 00146837 has its CatchHandler @ 00146b55 */\n  Version_script_info::get_versions(&versions,version_script);\n  if (this->needs_base_version_ != false) {\n    pbVar9 = versions.\n             super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n             ._M_impl._M_finish;\n    if (versions.\n        super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n        ._M_impl._M_start ==\n        versions.\n        super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n        ._M_impl._M_finish) goto LAB_00146aca;\n                    /* try { // try from 00146864 to 001468d6 has its CatchHandler @ 00146b47 */\n    define_base_version(this,dynpool);\n  }\n  local_4c = 0;\n  pbVar9 = versions.\n           super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n           ._M_impl._M_start;\n  if (versions.\n      super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n      ._M_impl._M_start !=\n      versions.\n      super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n      ._M_impl._M_finish) {\n    do {\n      version = Stringpool_template<char>::add\n                          (dynpool,versions.\n                                   super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n                                   ._M_impl._M_start[local_4c]._M_dataplus._M_p,true,&version_key);\n      Version_script_info::get_dependencies(local_28,this->version_script_,version);\n                    /* try { // try from 001468d9 to 001468dd has its CatchHandler @ 00146b4e */\n      pVVar6 = (Verdef *)operator_new(0x1c);\n      (pVVar6->super_Version_base).index_ = 0xffffffff;\n      pVVar6->name_ = version;\n      (pVVar6->super_Version_base)._vptr_Version_base = (_func_int_varargs **)&PTR__Verdef_002f9e60;\n      (pVVar6->deps_).\n      super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n      ._M_impl._M_start = (pointer)0x0;\n      uVar5 = (int)local_28[0].\n                   super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n                   ._M_impl._M_finish -\n              (int)local_28[0].\n                   super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n                   ._M_impl._M_start;\n      (pVVar6->deps_).\n      super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n      ._M_impl._M_finish = (pointer)0x0;\n      uVar7 = ((int)uVar5 >> 3) * -0x55555555;\n      (pVVar6->deps_).\n      super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n      ._M_impl._M_end_of_storage = (pointer)0x0;\n      if (uVar7 == 0) {\n        local_50 = (basic_string<char,_std::char_traits<char>,_std::allocator<char>_> *)0x0;\n      }\n      else {\n        if (0xaaaaaaa < uVar7) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 00146b42 to 00146b46 has its CatchHandler @ 00146b6a */\n          std::__throw_bad_alloc();\n        }\n                    /* try { // try from 00146939 to 0014693d has its CatchHandler @ 00146b6a */\n        local_50 = (basic_string<char,_std::char_traits<char>,_std::allocator<char>_> *)\n                   operator_new(uVar5);\n      }\n      pbVar9 = local_28[0].\n               super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n               ._M_impl._M_finish;\n      (pVVar6->deps_).\n      super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n      ._M_impl._M_start = local_50;\n      (pVVar6->deps_).\n      super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n      ._M_impl._M_finish = local_50;\n      (pVVar6->deps_).\n      super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n      ._M_impl._M_end_of_storage = (pointer)(uVar5 + (int)local_50);\n      if (local_28[0].\n          super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n          ._M_impl._M_start ==\n          local_28[0].\n          super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n          ._M_impl._M_finish) {\n        pVVar6->is_base_ = false;\n        pVVar6->is_weak_ = false;\n        pVVar6->is_info_ = false;\n        pVVar6->is_symbol_created_ = false;\n        vd = pVVar6;\n      }\n      else {\n        local_44 = local_50;\n        pbVar10 = local_28[0].\n                  super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n                  ._M_impl._M_start;\n        do {\n          (local_44->_M_dataplus)._M_p = (pointer)&local_44->field_2;\n          pcVar2 = (pbVar10->_M_dataplus)._M_p;\n                    /* try { // try from 00146984 to 00146988 has its CatchHandler @ 00146b65 */\n          std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n          _M_construct<char*>(local_44,pcVar2,pcVar2 + pbVar10->_M_string_length,0);\n          pbVar4 = local_28[0].\n                   super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n                   ._M_impl._M_finish;\n          pbVar10 = pbVar10 + 1;\n          local_44 = local_44 + 1;\n        } while (pbVar9 != pbVar10);\n        pVVar6->is_base_ = false;\n        pVVar6->is_weak_ = false;\n        pVVar6->is_info_ = false;\n        pVVar6->is_symbol_created_ = false;\n        (pVVar6->deps_).\n        super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n        ._M_impl._M_finish = local_44;\n        vd = pVVar6;\n        pbVar9 = local_28[0].\n                 super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n                 ._M_impl._M_finish;\n        for (pbVar10 = local_28[0].\n                       super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n                       ._M_impl._M_start; pbVar10 != pbVar4; pbVar10 = pbVar10 + 1) {\n          pcVar2 = (pbVar10->_M_dataplus)._M_p;\n          if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n               *)pcVar2 != &pbVar10->field_2) {\n            operator_delete(pcVar2);\n          }\n          pbVar9 = local_28[0].\n                   super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n                   ._M_impl._M_start;\n        }\n      }\n      if (pbVar9 != (pointer)0x0) {\n        operator_delete(pbVar9);\n      }\n      __position._M_current =\n           (this->defs_).super__Vector_base<gold::Verdef*,_std::allocator<gold::Verdef*>_>._M_impl.\n           _M_finish;\n      if (__position._M_current ==\n          (this->defs_).super__Vector_base<gold::Verdef*,_std::allocator<gold::Verdef*>_>._M_impl.\n          _M_end_of_storage) {\n        std::vector<gold::Verdef*,_std::allocator<gold::Verdef*>_>::\n        _M_realloc_insert<gold::Verdef*_const&>(&this->defs_,__position,&vd);\n      }\n      else {\n        *__position._M_current = vd;\n        (this->defs_).super__Vector_base<gold::Verdef*,_std::allocator<gold::Verdef*>_>._M_impl.\n        _M_finish = __position._M_current + 1;\n      }\n      pVVar6 = vd;\n      KVar3 = version_key;\n                    /* try { // try from 00146a19 to 00146b27 has its CatchHandler @ 00146b47 */\n      __n_elt = (undefined4 *)operator_new(0x14);\n      local_28[0].\n      super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n      ._M_impl._M_finish = (pointer)0x0;\n      *__n_elt = 0;\n      local_28[0].\n      super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n      ._M_impl._M_start = (pointer)KVar3;\n      __n_elt[2] = 0;\n      __node = (__node_type *)(KVar3 + __n_elt[2]);\n      __n_elt[3] = pVVar6;\n      __n_elt[1] = KVar3;\n      uVar5 = (uint)__node % (this->version_table_)._M_h._M_bucket_count;\n      p_Var8 = std::\n               _Hashtable<std::pair<unsigned_int,_unsigned_int>,_std::pair<const_std::pair<unsigned_int,_unsigned_int>,_gold::Version_base*>,_std::allocator<std::pair<const_std::pair<unsigned_int,_unsigned_int>,_gold::Version_base*>_>,_std::__detail::_Select1st,_gold::Versions::Version_table_eq,_gold::Versions::Version_table_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<std::pair<unsigned_int,_unsigned_int>,_std::pair<const_std::pair<unsigned_int,_unsigned_int>,_gold::Version_base*>,_std::allocator<std::pair<const_std::pair<unsigned_int,_unsigned_int>,_gold::Version_base*>_>,_std::__detail::_Select1st,_gold::Versions::Version_table_eq,_gold::Versions::Version_table_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n                           *)&this->version_table_,uVar5,(key_type *)(__n_elt + 1),\n                          (__hash_code)__node);\n      if ((p_Var8 == (__node_base *)0x0) || (p_Var8->_M_nxt == (_Hash_node_base *)0x0)) {\n        std::\n        _Hashtable<std::pair<unsigned_int,_unsigned_int>,_std::pair<const_std::pair<unsigned_int,_unsigned_int>,_gold::Version_base*>,_std::allocator<std::pair<const_std::pair<unsigned_int,_unsigned_int>,_gold::Version_base*>_>,_std::__detail::_Select1st,_gold::Versions::Version_table_eq,_gold::Versions::Version_table_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_insert_unique_node\n                  ((_Hashtable<std::pair<unsigned_int,_unsigned_int>,_std::pair<const_std::pair<unsigned_int,_unsigned_int>,_gold::Version_base*>,_std::allocator<std::pair<const_std::pair<unsigned_int,_unsigned_int>,_gold::Version_base*>_>,_std::__detail::_Select1st,_gold::Versions::Version_table_eq,_gold::Versions::Version_table_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n                    *)local_40,(size_type)&this->version_table_,uVar5,__node,(size_type)__n_elt);\n      }\n      else {\n        operator_delete(__n_elt);\n      }\n      local_4c = local_4c + 1;\n      pbVar10 = versions.\n                super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n                ._M_impl._M_start;\n      pbVar9 = versions.\n               super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n               ._M_impl._M_start;\n    } while (local_4c <\n             (uint)(((int)versions.\n                          super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n                          ._M_impl._M_finish -\n                     (int)versions.\n                          super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n                          ._M_impl._M_start >> 3) * -0x55555555));\n    for (; pbVar10 !=\n           versions.\n           super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n           ._M_impl._M_finish; pbVar10 = pbVar10 + 1) {\n      pcVar2 = (pbVar10->_M_dataplus)._M_p;\n      versions.\n      super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n      ._M_impl._M_start = pbVar9;\n      if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n           *)pcVar2 != &pbVar10->field_2) {\n        operator_delete(pcVar2);\n      }\n      pbVar9 = versions.\n               super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n               ._M_impl._M_start;\n    }\n  }\nLAB_00146aca:\n  if (pbVar9 != (pointer)0x0) {\n    operator_delete(pbVar9);\n  }\n  return;\n}" { (declaration "pointer ppVVar1;" type_identifier identifier ;) (declaration "pointer pcVar2;" type_identifier identifier ;) (declaration "iterator __position;" type_identifier identifier ;) (declaration "Key KVar3;" type_identifier identifier ;) (declaration "pointer pbVar4;" type_identifier identifier ;) (declaration "uint uVar5;" type_identifier identifier ;) (declaration "char *version;" primitive_type (pointer_declarator "*version" * identifier) ;) (declaration "Verdef *pVVar6;" type_identifier (pointer_declarator "*pVVar6" * identifier) ;) (declaration "uint uVar7;" type_identifier identifier ;) (declaration "undefined4 *__n_elt;" type_identifier (pointer_declarator "*__n_elt" * identifier) ;) (declaration "__node_base *p_Var8;" type_identifier (pointer_declarator "*p_Var8" * identifier) ;) (declaration "pointer pbVar9;" type_identifier identifier ;) (declaration "pointer pbVar10;" type_identifier identifier ;) (declaration "__node_type *__node;" type_identifier (pointer_declarator "*__node" * identifier) ;) (ERROR "basic_string<char,_std::char_traits<char>,_std::" (comma_expression "basic_string<char,_std" (binary_expression "basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char>,_std" (binary_expression "char_traits<char" identifier < identifier) > (ERROR "," ,) identifier) : :) (expression_statement "allocator<char>_> *local_50;" (binary_expression "allocator<char>_> *local_50" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > (pointer_expression "*local_50" * identifier)) ;) (declaration "uint local_4c;" type_identifier identifier ;) (ERROR "basic_string<char,_std::char_traits<char>,_std::" (comma_expression "basic_string<char,_std" (binary_expression "basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char>,_std" (binary_expression "char_traits<char" identifier < identifier) > (ERROR "," ,) identifier) : :) (expression_statement "allocator<char>_> *local_44;" (binary_expression "allocator<char>_> *local_44" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > (pointer_expression "*local_44" * identifier)) ;) (declaration "undefined1 local_40 [4];" type_identifier (array_declarator "local_40 [4]" identifier [ number_literal ]) ;) (declaration "Key version_key;" type_identifier identifier ;) (declaration "Verdef *vd;" type_identifier (pointer_declarator "*vd" * identifier) ;) (ERROR "vector<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::" (binary_expression "vector<std" identifier < identifier) : : (comma_expression "__cxx11::basic_string<char,_std::char_traits<char>,_std" identifier (ERROR "::basic_string<char,_std::char_traits<char>" : : (comma_expression "basic_string<char,_std" (binary_expression "basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char" identifier < identifier) >) , identifier) : : (binary_expression "allocator<char>_>,_std" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > (ERROR "," ,) identifier) : : (binary_expression "allocator<std" identifier < identifier) : : (comma_expression "__cxx11::basic_string<char,_std::char_traits<char>,_std" identifier (ERROR "::basic_string<char,_std::char_traits<char>" : : (comma_expression "basic_string<char,_std" (binary_expression "basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char" identifier < identifier) >) , identifier) : :) (expression_statement "allocator<char>_>_>_>\n  versions;" (binary_expression "allocator<char>_>_>_>\n  versions" (binary_expression "allocator<char>_>_>_" (binary_expression "allocator<char>_>_" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > identifier) > identifier) > identifier) ;) (ERROR "vector<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::" (binary_expression "vector<std" identifier < identifier) : : (comma_expression "__cxx11::basic_string<char,_std::char_traits<char>,_std" identifier (ERROR "::basic_string<char,_std::char_traits<char>" : : (comma_expression "basic_string<char,_std" (binary_expression "basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char" identifier < identifier) >) , identifier) : : (binary_expression "allocator<char>_>,_std" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > (ERROR "," ,) identifier) : : (binary_expression "allocator<std" identifier < identifier) : : (comma_expression "__cxx11::basic_string<char,_std::char_traits<char>,_std" identifier (ERROR "::basic_string<char,_std::char_traits<char>" : : (comma_expression "basic_string<char,_std" (binary_expression "basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char" identifier < identifier) >) , identifier) : :) (expression_statement "allocator<char>_>_>_>\n  local_28 [2];" (binary_expression "allocator<char>_>_>_>\n  local_28 [2]" (binary_expression "allocator<char>_>_>_" (binary_expression "allocator<char>_>_" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > identifier) > identifier) > (subscript_expression "local_28 [2]" identifier [ number_literal ])) ;) (expression_statement "(this->defs_).super__Vector_base<gold::Verdef*,_std::allocator<gold::Verdef*>_>._M_impl._M_start =\n       (pointer)0x0;" (assignment_expression "(this->defs_).super__Vector_base<gold::Verdef*,_std::allocator<gold::Verdef*>_>._M_impl._M_start =\n       (pointer)0x0" (field_expression "(this->defs_).super__Vector_base<gold::Verdef*,_std::allocator<gold::Verdef*>_>._M_impl._M_start" (field_expression "(this->defs_).super__Vector_base<gold::Verdef*,_std::allocator<gold::Verdef*>_>._M_impl" (binary_expression "(this->defs_).super__Vector_base<gold::Verdef*,_std::allocator<gold::Verdef*>_" (binary_expression "(this->defs_).super__Vector_base<gold::Verdef*,_std::allocator<gold" (binary_expression "(this->defs_).super__Vector_base<gold::Verdef*,_std" (binary_expression "(this->defs_).super__Vector_base<gold" (field_expression "(this->defs_).super__Vector_base" (parenthesized_expression "(this->defs_)" ( (field_expression "this->defs_" identifier -> field_identifier) )) . field_identifier) < identifier) (ERROR "::Verdef" : : identifier) * (ERROR "," ,) identifier) (ERROR "::allocator" : : identifier) < identifier) (ERROR "::Verdef" : : identifier) * (ERROR ">" >) identifier) (ERROR ">" >) . field_identifier) . field_identifier) = (cast_expression "(pointer)0x0" ( (type_descriptor "pointer" type_identifier) ) number_literal)) ;) (expression_statement "(this->defs_).super__Vector_base<gold::Verdef*,_std::allocator<gold::Verdef*>_>._M_impl._M_finish\n       = (pointer)0x0;" (assignment_expression "(this->defs_).super__Vector_base<gold::Verdef*,_std::allocator<gold::Verdef*>_>._M_impl._M_finish\n       = (pointer)0x0" (field_expression "(this->defs_).super__Vector_base<gold::Verdef*,_std::allocator<gold::Verdef*>_>._M_impl._M_finish" (field_expression "(this->defs_).super__Vector_base<gold::Verdef*,_std::allocator<gold::Verdef*>_>._M_impl" (binary_expression "(this->defs_).super__Vector_base<gold::Verdef*,_std::allocator<gold::Verdef*>_" (binary_expression "(this->defs_).super__Vector_base<gold::Verdef*,_std::allocator<gold" (binary_expression "(this->defs_).super__Vector_base<gold::Verdef*,_std" (binary_expression "(this->defs_).super__Vector_base<gold" (field_expression "(this->defs_).super__Vector_base" (parenthesized_expression "(this->defs_)" ( (field_expression "this->defs_" identifier -> field_identifier) )) . field_identifier) < identifier) (ERROR "::Verdef" : : identifier) * (ERROR "," ,) identifier) (ERROR "::allocator" : : identifier) < identifier) (ERROR "::Verdef" : : identifier) * (ERROR ">" >) identifier) (ERROR ">" >) . field_identifier) . field_identifier) = (cast_expression "(pointer)0x0" ( (type_descriptor "pointer" type_identifier) ) number_literal)) ;) (expression_statement "(this->defs_).super__Vector_base<gold::Verdef*,_std::allocator<gold::Verdef*>_>._M_impl.\n  _M_end_of_storage = (pointer)0x0;" (assignment_expression "(this->defs_).super__Vector_base<gold::Verdef*,_std::allocator<gold::Verdef*>_>._M_impl.\n  _M_end_of_storage = (pointer)0x0" (field_expression "(this->defs_).super__Vector_base<gold::Verdef*,_std::allocator<gold::Verdef*>_>._M_impl.\n  _M_end_of_storage" (field_expression "(this->defs_).super__Vector_base<gold::Verdef*,_std::allocator<gold::Verdef*>_>._M_impl" (binary_expression "(this->defs_).super__Vector_base<gold::Verdef*,_std::allocator<gold::Verdef*>_" (binary_expression "(this->defs_).super__Vector_base<gold::Verdef*,_std::allocator<gold" (binary_expression "(this->defs_).super__Vector_base<gold::Verdef*,_std" (binary_expression "(this->defs_).super__Vector_base<gold" (field_expression "(this->defs_).super__Vector_base" (parenthesized_expression "(this->defs_)" ( (field_expression "this->defs_" identifier -> field_identifier) )) . field_identifier) < identifier) (ERROR "::Verdef" : : identifier) * (ERROR "," ,) identifier) (ERROR "::allocator" : : identifier) < identifier) (ERROR "::Verdef" : : identifier) * (ERROR ">" >) identifier) (ERROR ">" >) . field_identifier) . field_identifier) = (cast_expression "(pointer)0x0" ( (type_descriptor "pointer" type_identifier) ) number_literal)) ;) (expression_statement "(this->needs_).super__Vector_base<gold::Verneed*,_std::allocator<gold::Verneed*>_>._M_impl.\n  _M_start = (pointer)0x0;" (assignment_expression "(this->needs_).super__Vector_base<gold::Verneed*,_std::allocator<gold::Verneed*>_>._M_impl.\n  _M_start = (pointer)0x0" (field_expression "(this->needs_).super__Vector_base<gold::Verneed*,_std::allocator<gold::Verneed*>_>._M_impl.\n  _M_start" (field_expression "(this->needs_).super__Vector_base<gold::Verneed*,_std::allocator<gold::Verneed*>_>._M_impl" (binary_expression "(this->needs_).super__Vector_base<gold::Verneed*,_std::allocator<gold::Verneed*>_" (binary_expression "(this->needs_).super__Vector_base<gold::Verneed*,_std::allocator<gold" (binary_expression "(this->needs_).super__Vector_base<gold::Verneed*,_std" (binary_expression "(this->needs_).super__Vector_base<gold" (field_expression "(this->needs_).super__Vector_base" (parenthesized_expression "(this->needs_)" ( (field_expression "this->needs_" identifier -> field_identifier) )) . field_identifier) < identifier) (ERROR "::Verneed" : : identifier) * (ERROR "," ,) identifier) (ERROR "::allocator" : : identifier) < identifier) (ERROR "::Verneed" : : identifier) * (ERROR ">" >) identifier) (ERROR ">" >) . field_identifier) . field_identifier) = (cast_expression "(pointer)0x0" ( (type_descriptor "pointer" type_identifier) ) number_literal)) ;) (expression_statement "(this->needs_).super__Vector_base<gold::Verneed*,_std::allocator<gold::Verneed*>_>._M_impl.\n  _M_finish = (pointer)0x0;" (assignment_expression "(this->needs_).super__Vector_base<gold::Verneed*,_std::allocator<gold::Verneed*>_>._M_impl.\n  _M_finish = (pointer)0x0" (field_expression "(this->needs_).super__Vector_base<gold::Verneed*,_std::allocator<gold::Verneed*>_>._M_impl.\n  _M_finish" (field_expression "(this->needs_).super__Vector_base<gold::Verneed*,_std::allocator<gold::Verneed*>_>._M_impl" (binary_expression "(this->needs_).super__Vector_base<gold::Verneed*,_std::allocator<gold::Verneed*>_" (binary_expression "(this->needs_).super__Vector_base<gold::Verneed*,_std::allocator<gold" (binary_expression "(this->needs_).super__Vector_base<gold::Verneed*,_std" (binary_expression "(this->needs_).super__Vector_base<gold" (field_expression "(this->needs_).super__Vector_base" (parenthesized_expression "(this->needs_)" ( (field_expression "this->needs_" identifier -> field_identifier) )) . field_identifier) < identifier) (ERROR "::Verneed" : : identifier) * (ERROR "," ,) identifier) (ERROR "::allocator" : : identifier) < identifier) (ERROR "::Verneed" : : identifier) * (ERROR ">" >) identifier) (ERROR ">" >) . field_identifier) . field_identifier) = (cast_expression "(pointer)0x0" ( (type_descriptor "pointer" type_identifier) ) number_literal)) ;) (expression_statement "(this->needs_).super__Vector_base<gold::Verneed*,_std::allocator<gold::Verneed*>_>._M_impl.\n  _M_end_of_storage = (pointer)0x0;" (assignment_expression "(this->needs_).super__Vector_base<gold::Verneed*,_std::allocator<gold::Verneed*>_>._M_impl.\n  _M_end_of_storage = (pointer)0x0" (field_expression "(this->needs_).super__Vector_base<gold::Verneed*,_std::allocator<gold::Verneed*>_>._M_impl.\n  _M_end_of_storage" (field_expression "(this->needs_).super__Vector_base<gold::Verneed*,_std::allocator<gold::Verneed*>_>._M_impl" (binary_expression "(this->needs_).super__Vector_base<gold::Verneed*,_std::allocator<gold::Verneed*>_" (binary_expression "(this->needs_).super__Vector_base<gold::Verneed*,_std::allocator<gold" (binary_expression "(this->needs_).super__Vector_base<gold::Verneed*,_std" (binary_expression "(this->needs_).super__Vector_base<gold" (field_expression "(this->needs_).super__Vector_base" (parenthesized_expression "(this->needs_)" ( (field_expression "this->needs_" identifier -> field_identifier) )) . field_identifier) < identifier) (ERROR "::Verneed" : : identifier) * (ERROR "," ,) identifier) (ERROR "::allocator" : : identifier) < identifier) (ERROR "::Verneed" : : identifier) * (ERROR ">" >) identifier) (ERROR ">" >) . field_identifier) . field_identifier) = (cast_expression "(pointer)0x0" ( (type_descriptor "pointer" type_identifier) ) number_literal)) ;) (expression_statement "uVar5 = 0;" (assignment_expression "uVar5 = 0" identifier = number_literal) ;) (do_statement "do {\n    *(undefined4 *)((int)&(this->version_table_)._M_h._M_buckets + uVar5) = 0;\n    uVar5 = uVar5 + 4;\n  } while (uVar5 < 0x1c);" do (compound_statement "{\n    *(undefined4 *)((int)&(this->version_table_)._M_h._M_buckets + uVar5) = 0;\n    uVar5 = uVar5 + 4;\n  }" { (expression_statement "*(undefined4 *)((int)&(this->version_table_)._M_h._M_buckets + uVar5) = 0;" (assignment_expression "*(undefined4 *)((int)&(this->version_table_)._M_h._M_buckets + uVar5) = 0" (pointer_expression "*(undefined4 *)((int)&(this->version_table_)._M_h._M_buckets + uVar5)" * (cast_expression "(undefined4 *)((int)&(this->version_table_)._M_h._M_buckets + uVar5)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&(this->version_table_)._M_h._M_buckets + uVar5)" ( (binary_expression "(int)&(this->version_table_)._M_h._M_buckets + uVar5" (cast_expression "(int)&(this->version_table_)._M_h._M_buckets" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&(this->version_table_)._M_h._M_buckets" & (field_expression "(this->version_table_)._M_h._M_buckets" (field_expression "(this->version_table_)._M_h" (parenthesized_expression "(this->version_table_)" ( (field_expression "this->version_table_" identifier -> field_identifier) )) . field_identifier) . field_identifier))) + identifier) )))) = number_literal) ;) (expression_statement "uVar5 = uVar5 + 4;" (assignment_expression "uVar5 = uVar5 + 4" identifier = (binary_expression "uVar5 + 4" identifier + number_literal)) ;) }) while (parenthesized_expression "(uVar5 < 0x1c)" ( (binary_expression "uVar5 < 0x1c" identifier < number_literal) )) ;) (expression_statement "(this->version_table_)._M_h._M_bucket_count = 1;" (assignment_expression "(this->version_table_)._M_h._M_bucket_count = 1" (field_expression "(this->version_table_)._M_h._M_bucket_count" (field_expression "(this->version_table_)._M_h" (parenthesized_expression "(this->version_table_)" ( (field_expression "this->version_table_" identifier -> field_identifier) )) . field_identifier) . field_identifier) = number_literal) ;) (expression_statement "(this->version_table_)._M_h._M_buckets = &(this->version_table_)._M_h._M_single_bucket;" (assignment_expression "(this->version_table_)._M_h._M_buckets = &(this->version_table_)._M_h._M_single_bucket" (field_expression "(this->version_table_)._M_h._M_buckets" (field_expression "(this->version_table_)._M_h" (parenthesized_expression "(this->version_table_)" ( (field_expression "this->version_table_" identifier -> field_identifier) )) . field_identifier) . field_identifier) = (pointer_expression "&(this->version_table_)._M_h._M_single_bucket" & (field_expression "(this->version_table_)._M_h._M_single_bucket" (field_expression "(this->version_table_)._M_h" (parenthesized_expression "(this->version_table_)" ( (field_expression "this->version_table_" identifier -> field_identifier) )) . field_identifier) . field_identifier))) ;) (expression_statement "ppVVar1 = (version_script->version_trees_).\n            super__Vector_base<gold::Version_tree*,_std::allocator<gold::Version_tree*>_>._M_impl.\n            _M_finish;" (field_expression "ppVVar1 = (version_script->version_trees_).\n            super__Vector_base<gold::Version_tree*,_std::allocator<gold::Version_tree*>_>._M_impl.\n            _M_finish" (field_expression "ppVVar1 = (version_script->version_trees_).\n            super__Vector_base<gold::Version_tree*,_std::allocator<gold::Version_tree*>_>._M_impl" (binary_expression "ppVVar1 = (version_script->version_trees_).\n            super__Vector_base<gold::Version_tree*,_std::allocator<gold::Version_tree*>_" (binary_expression "ppVVar1 = (version_script->version_trees_).\n            super__Vector_base<gold::Version_tree*,_std::allocator<gold" (binary_expression "ppVVar1 = (version_script->version_trees_).\n            super__Vector_base<gold::Version_tree*,_std" (assignment_expression "ppVVar1 = (version_script->version_trees_).\n            super__Vector_base<gold" identifier = (binary_expression "(version_script->version_trees_).\n            super__Vector_base<gold" (field_expression "(version_script->version_trees_).\n            super__Vector_base" (parenthesized_expression "(version_script->version_trees_)" ( (field_expression "version_script->version_trees_" identifier -> field_identifier) )) . field_identifier) < identifier)) (ERROR "::Version_tree" : : identifier) * (ERROR "," ,) identifier) (ERROR "::allocator" : : identifier) < identifier) (ERROR "::Version_tree" : : identifier) * (ERROR ">" >) identifier) (ERROR ">" >) . field_identifier) . field_identifier) ;) (expression_statement "(this->version_table_)._M_h._M_before_begin._M_nxt = (_Hash_node_base *)0x0;" (assignment_expression "(this->version_table_)._M_h._M_before_begin._M_nxt = (_Hash_node_base *)0x0" (field_expression "(this->version_table_)._M_h._M_before_begin._M_nxt" (field_expression "(this->version_table_)._M_h._M_before_begin" (field_expression "(this->version_table_)._M_h" (parenthesized_expression "(this->version_table_)" ( (field_expression "this->version_table_" identifier -> field_identifier) )) . field_identifier) . field_identifier) . field_identifier) = (cast_expression "(_Hash_node_base *)0x0" ( (type_descriptor "_Hash_node_base *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "(this->version_table_)._M_h._M_element_count = 0;" (assignment_expression "(this->version_table_)._M_h._M_element_count = 0" (field_expression "(this->version_table_)._M_h._M_element_count" (field_expression "(this->version_table_)._M_h" (parenthesized_expression "(this->version_table_)" ( (field_expression "this->version_table_" identifier -> field_identifier) )) . field_identifier) . field_identifier) = number_literal) ;) (expression_statement "(this->version_table_)._M_h._M_rehash_policy._M_max_load_factor = 1.0;" (assignment_expression "(this->version_table_)._M_h._M_rehash_policy._M_max_load_factor = 1.0" (field_expression "(this->version_table_)._M_h._M_rehash_policy._M_max_load_factor" (field_expression "(this->version_table_)._M_h._M_rehash_policy" (field_expression "(this->version_table_)._M_h" (parenthesized_expression "(this->version_table_)" ( (field_expression "this->version_table_" identifier -> field_identifier) )) . field_identifier) . field_identifier) . field_identifier) = number_literal) ;) (expression_statement "(this->version_table_)._M_h._M_rehash_policy._M_next_resize = 0;" (assignment_expression "(this->version_table_)._M_h._M_rehash_policy._M_next_resize = 0" (field_expression "(this->version_table_)._M_h._M_rehash_policy._M_next_resize" (field_expression "(this->version_table_)._M_h._M_rehash_policy" (field_expression "(this->version_table_)._M_h" (parenthesized_expression "(this->version_table_)" ( (field_expression "this->version_table_" identifier -> field_identifier) )) . field_identifier) . field_identifier) . field_identifier) = number_literal) ;) (expression_statement "(this->version_table_)._M_h._M_single_bucket = (__bucket_type)0x0;" (assignment_expression "(this->version_table_)._M_h._M_single_bucket = (__bucket_type)0x0" (field_expression "(this->version_table_)._M_h._M_single_bucket" (field_expression "(this->version_table_)._M_h" (parenthesized_expression "(this->version_table_)" ( (field_expression "this->version_table_" identifier -> field_identifier) )) . field_identifier) . field_identifier) = (cast_expression "(__bucket_type)0x0" ( (type_descriptor "__bucket_type" type_identifier) ) number_literal)) ;) (expression_statement "this->is_finalized_ = false;" (assignment_expression "this->is_finalized_ = false" (field_expression "this->is_finalized_" identifier -> field_identifier) = false) ;) (expression_statement "this->version_script_ = version_script;" (assignment_expression "this->version_script_ = version_script" (field_expression "this->version_script_" identifier -> field_identifier) = identifier) ;) (expression_statement "this->needs_base_version_ = true;" (assignment_expression "this->needs_base_version_ = true" (field_expression "this->needs_base_version_" identifier -> field_identifier) = true) ;) (if_statement "if ((version_script->version_trees_).\n      super__Vector_base<gold::Version_tree*,_std::allocator<gold::Version_tree*>_>._M_impl._M_start\n      == ppVVar1) {\n    return;\n  }" if (parenthesized_expression "((version_script->version_trees_).\n      super__Vector_base<gold::Version_tree*,_std::allocator<gold::Version_tree*>_>._M_impl._M_start\n      == ppVVar1)" ( (binary_expression "(version_script->version_trees_).\n      super__Vector_base<gold::Version_tree*,_std::allocator<gold::Version_tree*>_>._M_impl._M_start\n      == ppVVar1" (field_expression "(version_script->version_trees_).\n      super__Vector_base<gold::Version_tree*,_std::allocator<gold::Version_tree*>_>._M_impl._M_start" (field_expression "(version_script->version_trees_).\n      super__Vector_base<gold::Version_tree*,_std::allocator<gold::Version_tree*>_>._M_impl" (binary_expression "(version_script->version_trees_).\n      super__Vector_base<gold::Version_tree*,_std::allocator<gold::Version_tree*>_" (binary_expression "(version_script->version_trees_).\n      super__Vector_base<gold::Version_tree*,_std::allocator<gold" (binary_expression "(version_script->version_trees_).\n      super__Vector_base<gold::Version_tree*,_std" (binary_expression "(version_script->version_trees_).\n      super__Vector_base<gold" (field_expression "(version_script->version_trees_).\n      super__Vector_base" (parenthesized_expression "(version_script->version_trees_)" ( (field_expression "version_script->version_trees_" identifier -> field_identifier) )) . field_identifier) < identifier) (ERROR "::Version_tree" : : identifier) * (ERROR "," ,) identifier) (ERROR "::allocator" : : identifier) < identifier) (ERROR "::Version_tree" : : identifier) * (ERROR ">" >) identifier) (ERROR ">" >) . field_identifier) . field_identifier) == identifier) )) (compound_statement "{\n    return;\n  }" { (return_statement "return;" return ;) })) comment (labeled_statement "Version_script_info::get_versions(&versions,version_script);" statement_identifier : (ERROR ":" :) (expression_statement "get_versions(&versions,version_script);" (call_expression "get_versions(&versions,version_script)" identifier (argument_list "(&versions,version_script)" ( (pointer_expression "&versions" & identifier) , identifier ))) ;)) (if_statement "if (this->needs_base_version_ != false) {\n    pbVar9 = versions.\n             super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n             ._M_impl._M_finish;\n    if (versions.\n        super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n        ._M_impl._M_start ==\n        versions.\n        super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n        ._M_impl._M_finish) goto LAB_00146aca;\n                    /* try { // try from 00146864 to 001468d6 has its CatchHandler @ 00146b47 */\n    define_base_version(this,dynpool);\n  }" if (parenthesized_expression "(this->needs_base_version_ != false)" ( (binary_expression "this->needs_base_version_ != false" (field_expression "this->needs_base_version_" identifier -> field_identifier) != false) )) (compound_statement "{\n    pbVar9 = versions.\n             super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n             ._M_impl._M_finish;\n    if (versions.\n        super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n        ._M_impl._M_start ==\n        versions.\n        super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n        ._M_impl._M_finish) goto LAB_00146aca;\n                    /* try { // try from 00146864 to 001468d6 has its CatchHandler @ 00146b47 */\n    define_base_version(this,dynpool);\n  }" { (ERROR "pbVar9 = versions.\n             super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::" (assignment_expression "pbVar9 = versions.\n             super__Vector_base<std" identifier = (binary_expression "versions.\n             super__Vector_base<std" (field_expression "versions.\n             super__Vector_base" identifier . field_identifier) < identifier)) : : (comma_expression "__cxx11::basic_string<char,_std::char_traits<char>,_std" identifier (ERROR "::basic_string<char,_std::char_traits<char>" : : (comma_expression "basic_string<char,_std" (binary_expression "basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char" identifier < identifier) >) , identifier) : : (binary_expression "allocator<char>_>,_std" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > (ERROR "," ,) identifier) : : (binary_expression "allocator<std" identifier < identifier) : : (comma_expression "__cxx11::basic_string<char,_std::char_traits<char>,_std" identifier (ERROR "::basic_string<char,_std::char_traits<char>" : : (comma_expression "basic_string<char,_std" (binary_expression "basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char" identifier < identifier) >) , identifier) : :) (expression_statement "allocator<char>_>_>_>\n             ._M_impl._M_finish;" (field_expression "allocator<char>_>_>_>\n             ._M_impl._M_finish" (field_expression "allocator<char>_>_>_>\n             ._M_impl" (binary_expression "allocator<char>_>_>_" (binary_expression "allocator<char>_>_" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > identifier) > identifier) (ERROR ">" >) . field_identifier) . field_identifier) ;) (if_statement "if (versions.\n        super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n        ._M_impl._M_start ==\n        versions.\n        super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n        ._M_impl._M_finish) goto LAB_00146aca;" if (parenthesized_expression "(versions.\n        super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n        ._M_impl._M_start ==\n        versions.\n        super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n        ._M_impl._M_finish)" ( (ERROR "versions.\n        super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n        ._M_impl._M_start ==\n        versions.\n        super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::" (comma_expression "versions.\n        super__Vector_base<std::__cxx11::basic_string<char,_std" (binary_expression "versions.\n        super__Vector_base<std::__cxx11::basic_string<char" (binary_expression "versions.\n        super__Vector_base<std" (field_expression "versions.\n        super__Vector_base" identifier . field_identifier) < identifier) (ERROR "::__cxx11::basic_string" : : identifier : : identifier) < identifier) , identifier) : : (binary_expression "char_traits<char>,_std" (binary_expression "char_traits<char" identifier < identifier) > (ERROR "," ,) identifier) : : (binary_expression "allocator<char>_>,_std" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > (ERROR "," ,) identifier) : : (binary_expression "allocator<std" identifier < identifier) : : identifier : : (comma_expression "basic_string<char,_std" (binary_expression "basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char>,_std" (binary_expression "char_traits<char" identifier < identifier) > (ERROR "," ,) identifier) : : (binary_expression "allocator<char>_>_>_>\n        ._M_impl._M_start ==\n        versions.\n        super__Vector_base<std" (field_expression "allocator<char>_>_>_>\n        ._M_impl._M_start" (field_expression "allocator<char>_>_>_>\n        ._M_impl" (binary_expression "allocator<char>_>_>_" (binary_expression "allocator<char>_>_" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > identifier) > identifier) (ERROR ">" >) . field_identifier) . field_identifier) == (binary_expression "versions.\n        super__Vector_base<std" (field_expression "versions.\n        super__Vector_base" identifier . field_identifier) < identifier)) : : identifier : : (comma_expression "basic_string<char,_std" (binary_expression "basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char>,_std" (binary_expression "char_traits<char" identifier < identifier) > (ERROR "," ,) identifier) : : (binary_expression "allocator<char>_>,_std" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > (ERROR "," ,) identifier) : : (binary_expression "allocator<std" identifier < identifier) : : identifier : : (comma_expression "basic_string<char,_std" (binary_expression "basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char>,_std" (binary_expression "char_traits<char" identifier < identifier) > (ERROR "," ,) identifier) : :) (field_expression "allocator<char>_>_>_>\n        ._M_impl._M_finish" (field_expression "allocator<char>_>_>_>\n        ._M_impl" (binary_expression "allocator<char>_>_>_" (binary_expression "allocator<char>_>_" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > identifier) > identifier) (ERROR ">" >) . field_identifier) . field_identifier) )) (goto_statement "goto LAB_00146aca;" goto statement_identifier ;)) comment (expression_statement "define_base_version(this,dynpool);" (call_expression "define_base_version(this,dynpool)" identifier (argument_list "(this,dynpool)" ( identifier , identifier ))) ;) })) (expression_statement "local_4c = 0;" (assignment_expression "local_4c = 0" identifier = number_literal) ;) (ERROR "pbVar9 = versions.\n           super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::" (assignment_expression "pbVar9 = versions.\n           super__Vector_base<std" identifier = (binary_expression "versions.\n           super__Vector_base<std" (field_expression "versions.\n           super__Vector_base" identifier . field_identifier) < identifier)) : : (comma_expression "__cxx11::basic_string<char,_std::char_traits<char>,_std" identifier (ERROR "::basic_string<char,_std::char_traits<char>" : : (comma_expression "basic_string<char,_std" (binary_expression "basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char" identifier < identifier) >) , identifier) : : (binary_expression "allocator<char>_>,_std" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > (ERROR "," ,) identifier) : : (binary_expression "allocator<std" identifier < identifier) : : (comma_expression "__cxx11::basic_string<char,_std::char_traits<char>,_std" identifier (ERROR "::basic_string<char,_std::char_traits<char>" : : (comma_expression "basic_string<char,_std" (binary_expression "basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char" identifier < identifier) >) , identifier) : :) (expression_statement "allocator<char>_>_>_>\n           ._M_impl._M_start;" (field_expression "allocator<char>_>_>_>\n           ._M_impl._M_start" (field_expression "allocator<char>_>_>_>\n           ._M_impl" (binary_expression "allocator<char>_>_>_" (binary_expression "allocator<char>_>_" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > identifier) > identifier) (ERROR ">" >) . field_identifier) . field_identifier) ;) (if_statement "if (versions.\n      super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n      ._M_impl._M_start !=\n      versions.\n      super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n      ._M_impl._M_finish) {\n    do {\n      version = Stringpool_template<char>::add\n                          (dynpool,versions.\n                                   super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n                                   ._M_impl._M_start[local_4c]._M_dataplus._M_p,true,&version_key);\n      Version_script_info::get_dependencies(local_28,this->version_script_,version);\n                    /* try { // try from 001468d9 to 001468dd has its CatchHandler @ 00146b4e */\n      pVVar6 = (Verdef *)operator_new(0x1c);\n      (pVVar6->super_Version_base).index_ = 0xffffffff;\n      pVVar6->name_ = version;\n      (pVVar6->super_Version_base)._vptr_Version_base = (_func_int_varargs **)&PTR__Verdef_002f9e60;\n      (pVVar6->deps_).\n      super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n      ._M_impl._M_start = (pointer)0x0;\n      uVar5 = (int)local_28[0].\n                   super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n                   ._M_impl._M_finish -\n              (int)local_28[0].\n                   super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n                   ._M_impl._M_start;\n      (pVVar6->deps_).\n      super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n      ._M_impl._M_finish = (pointer)0x0;\n      uVar7 = ((int)uVar5 >> 3) * -0x55555555;\n      (pVVar6->deps_).\n      super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n      ._M_impl._M_end_of_storage = (pointer)0x0;\n      if (uVar7 == 0) {\n        local_50 = (basic_string<char,_std::char_traits<char>,_std::allocator<char>_> *)0x0;\n      }\n      else {\n        if (0xaaaaaaa < uVar7) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 00146b42 to 00146b46 has its CatchHandler @ 00146b6a */\n          std::__throw_bad_alloc();\n        }\n                    /* try { // try from 00146939 to 0014693d has its CatchHandler @ 00146b6a */\n        local_50 = (basic_string<char,_std::char_traits<char>,_std::allocator<char>_> *)\n                   operator_new(uVar5);\n      }\n      pbVar9 = local_28[0].\n               super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n               ._M_impl._M_finish;\n      (pVVar6->deps_).\n      super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n      ._M_impl._M_start = local_50;\n      (pVVar6->deps_).\n      super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n      ._M_impl._M_finish = local_50;\n      (pVVar6->deps_).\n      super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n      ._M_impl._M_end_of_storage = (pointer)(uVar5 + (int)local_50);\n      if (local_28[0].\n          super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n          ._M_impl._M_start ==\n          local_28[0].\n          super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n          ._M_impl._M_finish) {\n        pVVar6->is_base_ = false;\n        pVVar6->is_weak_ = false;\n        pVVar6->is_info_ = false;\n        pVVar6->is_symbol_created_ = false;\n        vd = pVVar6;\n      }\n      else {\n        local_44 = local_50;\n        pbVar10 = local_28[0].\n                  super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n                  ._M_impl._M_start;\n        do {\n          (local_44->_M_dataplus)._M_p = (pointer)&local_44->field_2;\n          pcVar2 = (pbVar10->_M_dataplus)._M_p;\n                    /* try { // try from 00146984 to 00146988 has its CatchHandler @ 00146b65 */\n          std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n          _M_construct<char*>(local_44,pcVar2,pcVar2 + pbVar10->_M_string_length,0);\n          pbVar4 = local_28[0].\n                   super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n                   ._M_impl._M_finish;\n          pbVar10 = pbVar10 + 1;\n          local_44 = local_44 + 1;\n        } while (pbVar9 != pbVar10);\n        pVVar6->is_base_ = false;\n        pVVar6->is_weak_ = false;\n        pVVar6->is_info_ = false;\n        pVVar6->is_symbol_created_ = false;\n        (pVVar6->deps_).\n        super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n        ._M_impl._M_finish = local_44;\n        vd = pVVar6;\n        pbVar9 = local_28[0].\n                 super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n                 ._M_impl._M_finish;\n        for (pbVar10 = local_28[0].\n                       super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n                       ._M_impl._M_start; pbVar10 != pbVar4; pbVar10 = pbVar10 + 1) {\n          pcVar2 = (pbVar10->_M_dataplus)._M_p;\n          if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n               *)pcVar2 != &pbVar10->field_2) {\n            operator_delete(pcVar2);\n          }\n          pbVar9 = local_28[0].\n                   super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n                   ._M_impl._M_start;\n        }\n      }\n      if (pbVar9 != (pointer)0x0) {\n        operator_delete(pbVar9);\n      }\n      __position._M_current =\n           (this->defs_).super__Vector_base<gold::Verdef*,_std::allocator<gold::Verdef*>_>._M_impl.\n           _M_finish;\n      if (__position._M_current ==\n          (this->defs_).super__Vector_base<gold::Verdef*,_std::allocator<gold::Verdef*>_>._M_impl.\n          _M_end_of_storage) {\n        std::vector<gold::Verdef*,_std::allocator<gold::Verdef*>_>::\n        _M_realloc_insert<gold::Verdef*_const&>(&this->defs_,__position,&vd);\n      }\n      else {\n        *__position._M_current = vd;\n        (this->defs_).super__Vector_base<gold::Verdef*,_std::allocator<gold::Verdef*>_>._M_impl.\n        _M_finish = __position._M_current + 1;\n      }\n      pVVar6 = vd;\n      KVar3 = version_key;\n                    /* try { // try from 00146a19 to 00146b27 has its CatchHandler @ 00146b47 */\n      __n_elt = (undefined4 *)operator_new(0x14);\n      local_28[0].\n      super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n      ._M_impl._M_finish = (pointer)0x0;\n      *__n_elt = 0;\n      local_28[0].\n      super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n      ._M_impl._M_start = (pointer)KVar3;\n      __n_elt[2] = 0;\n      __node = (__node_type *)(KVar3 + __n_elt[2]);\n      __n_elt[3] = pVVar6;\n      __n_elt[1] = KVar3;\n      uVar5 = (uint)__node % (this->version_table_)._M_h._M_bucket_count;\n      p_Var8 = std::\n               _Hashtable<std::pair<unsigned_int,_unsigned_int>,_std::pair<const_std::pair<unsigned_int,_unsigned_int>,_gold::Version_base*>,_std::allocator<std::pair<const_std::pair<unsigned_int,_unsigned_int>,_gold::Version_base*>_>,_std::__detail::_Select1st,_gold::Versions::Version_table_eq,_gold::Versions::Version_table_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<std::pair<unsigned_int,_unsigned_int>,_std::pair<const_std::pair<unsigned_int,_unsigned_int>,_gold::Version_base*>,_std::allocator<std::pair<const_std::pair<unsigned_int,_unsigned_int>,_gold::Version_base*>_>,_std::__detail::_Select1st,_gold::Versions::Version_table_eq,_gold::Versions::Version_table_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n                           *)&this->version_table_,uVar5,(key_type *)(__n_elt + 1),\n                          (__hash_code)__node);\n      if ((p_Var8 == (__node_base *)0x0) || (p_Var8->_M_nxt == (_Hash_node_base *)0x0)) {\n        std::\n        _Hashtable<std::pair<unsigned_int,_unsigned_int>,_std::pair<const_std::pair<unsigned_int,_unsigned_int>,_gold::Version_base*>,_std::allocator<std::pair<const_std::pair<unsigned_int,_unsigned_int>,_gold::Version_base*>_>,_std::__detail::_Select1st,_gold::Versions::Version_table_eq,_gold::Versions::Version_table_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_insert_unique_node\n                  ((_Hashtable<std::pair<unsigned_int,_unsigned_int>,_std::pair<const_std::pair<unsigned_int,_unsigned_int>,_gold::Version_base*>,_std::allocator<std::pair<const_std::pair<unsigned_int,_unsigned_int>,_gold::Version_base*>_>,_std::__detail::_Select1st,_gold::Versions::Version_table_eq,_gold::Versions::Version_table_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n                    *)local_40,(size_type)&this->version_table_,uVar5,__node,(size_type)__n_elt);\n      }\n      else {\n        operator_delete(__n_elt);\n      }\n      local_4c = local_4c + 1;\n      pbVar10 = versions.\n                super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n                ._M_impl._M_start;\n      pbVar9 = versions.\n               super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n               ._M_impl._M_start;\n    } while (local_4c <\n             (uint)(((int)versions.\n                          super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n                          ._M_impl._M_finish -\n                     (int)versions.\n                          super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n                          ._M_impl._M_start >> 3) * -0x55555555));\n    for (; pbVar10 !=\n           versions.\n           super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n           ._M_impl._M_finish; pbVar10 = pbVar10 + 1) {\n      pcVar2 = (pbVar10->_M_dataplus)._M_p;\n      versions.\n      super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n      ._M_impl._M_start = pbVar9;\n      if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n           *)pcVar2 != &pbVar10->field_2) {\n        operator_delete(pcVar2);\n      }\n      pbVar9 = versions.\n               super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n               ._M_impl._M_start;\n    }\n  }" if (parenthesized_expression "(versions.\n      super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n      ._M_impl._M_start !=\n      versions.\n      super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n      ._M_impl._M_finish)" ( (ERROR "versions.\n      super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n      ._M_impl._M_start !=\n      versions.\n      super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::" (comma_expression "versions.\n      super__Vector_base<std::__cxx11::basic_string<char,_std" (binary_expression "versions.\n      super__Vector_base<std::__cxx11::basic_string<char" (binary_expression "versions.\n      super__Vector_base<std" (field_expression "versions.\n      super__Vector_base" identifier . field_identifier) < identifier) (ERROR "::__cxx11::basic_string" : : identifier : : identifier) < identifier) , identifier) : : (binary_expression "char_traits<char>,_std" (binary_expression "char_traits<char" identifier < identifier) > (ERROR "," ,) identifier) : : (binary_expression "allocator<char>_>,_std" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > (ERROR "," ,) identifier) : : (binary_expression "allocator<std" identifier < identifier) : : identifier : : (comma_expression "basic_string<char,_std" (binary_expression "basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char>,_std" (binary_expression "char_traits<char" identifier < identifier) > (ERROR "," ,) identifier) : : (binary_expression "allocator<char>_>_>_>\n      ._M_impl._M_start !=\n      versions.\n      super__Vector_base<std" (field_expression "allocator<char>_>_>_>\n      ._M_impl._M_start" (field_expression "allocator<char>_>_>_>\n      ._M_impl" (binary_expression "allocator<char>_>_>_" (binary_expression "allocator<char>_>_" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > identifier) > identifier) (ERROR ">" >) . field_identifier) . field_identifier) != (binary_expression "versions.\n      super__Vector_base<std" (field_expression "versions.\n      super__Vector_base" identifier . field_identifier) < identifier)) : : identifier : : (comma_expression "basic_string<char,_std" (binary_expression "basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char>,_std" (binary_expression "char_traits<char" identifier < identifier) > (ERROR "," ,) identifier) : : (binary_expression "allocator<char>_>,_std" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > (ERROR "," ,) identifier) : : (binary_expression "allocator<std" identifier < identifier) : : identifier : : (comma_expression "basic_string<char,_std" (binary_expression "basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char>,_std" (binary_expression "char_traits<char" identifier < identifier) > (ERROR "," ,) identifier) : :) (field_expression "allocator<char>_>_>_>\n      ._M_impl._M_finish" (field_expression "allocator<char>_>_>_>\n      ._M_impl" (binary_expression "allocator<char>_>_>_" (binary_expression "allocator<char>_>_" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > identifier) > identifier) (ERROR ">" >) . field_identifier) . field_identifier) )) (compound_statement "{\n    do {\n      version = Stringpool_template<char>::add\n                          (dynpool,versions.\n                                   super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n                                   ._M_impl._M_start[local_4c]._M_dataplus._M_p,true,&version_key);\n      Version_script_info::get_dependencies(local_28,this->version_script_,version);\n                    /* try { // try from 001468d9 to 001468dd has its CatchHandler @ 00146b4e */\n      pVVar6 = (Verdef *)operator_new(0x1c);\n      (pVVar6->super_Version_base).index_ = 0xffffffff;\n      pVVar6->name_ = version;\n      (pVVar6->super_Version_base)._vptr_Version_base = (_func_int_varargs **)&PTR__Verdef_002f9e60;\n      (pVVar6->deps_).\n      super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n      ._M_impl._M_start = (pointer)0x0;\n      uVar5 = (int)local_28[0].\n                   super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n                   ._M_impl._M_finish -\n              (int)local_28[0].\n                   super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n                   ._M_impl._M_start;\n      (pVVar6->deps_).\n      super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n      ._M_impl._M_finish = (pointer)0x0;\n      uVar7 = ((int)uVar5 >> 3) * -0x55555555;\n      (pVVar6->deps_).\n      super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n      ._M_impl._M_end_of_storage = (pointer)0x0;\n      if (uVar7 == 0) {\n        local_50 = (basic_string<char,_std::char_traits<char>,_std::allocator<char>_> *)0x0;\n      }\n      else {\n        if (0xaaaaaaa < uVar7) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 00146b42 to 00146b46 has its CatchHandler @ 00146b6a */\n          std::__throw_bad_alloc();\n        }\n                    /* try { // try from 00146939 to 0014693d has its CatchHandler @ 00146b6a */\n        local_50 = (basic_string<char,_std::char_traits<char>,_std::allocator<char>_> *)\n                   operator_new(uVar5);\n      }\n      pbVar9 = local_28[0].\n               super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n               ._M_impl._M_finish;\n      (pVVar6->deps_).\n      super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n      ._M_impl._M_start = local_50;\n      (pVVar6->deps_).\n      super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n      ._M_impl._M_finish = local_50;\n      (pVVar6->deps_).\n      super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n      ._M_impl._M_end_of_storage = (pointer)(uVar5 + (int)local_50);\n      if (local_28[0].\n          super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n          ._M_impl._M_start ==\n          local_28[0].\n          super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n          ._M_impl._M_finish) {\n        pVVar6->is_base_ = false;\n        pVVar6->is_weak_ = false;\n        pVVar6->is_info_ = false;\n        pVVar6->is_symbol_created_ = false;\n        vd = pVVar6;\n      }\n      else {\n        local_44 = local_50;\n        pbVar10 = local_28[0].\n                  super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n                  ._M_impl._M_start;\n        do {\n          (local_44->_M_dataplus)._M_p = (pointer)&local_44->field_2;\n          pcVar2 = (pbVar10->_M_dataplus)._M_p;\n                    /* try { // try from 00146984 to 00146988 has its CatchHandler @ 00146b65 */\n          std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n          _M_construct<char*>(local_44,pcVar2,pcVar2 + pbVar10->_M_string_length,0);\n          pbVar4 = local_28[0].\n                   super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n                   ._M_impl._M_finish;\n          pbVar10 = pbVar10 + 1;\n          local_44 = local_44 + 1;\n        } while (pbVar9 != pbVar10);\n        pVVar6->is_base_ = false;\n        pVVar6->is_weak_ = false;\n        pVVar6->is_info_ = false;\n        pVVar6->is_symbol_created_ = false;\n        (pVVar6->deps_).\n        super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n        ._M_impl._M_finish = local_44;\n        vd = pVVar6;\n        pbVar9 = local_28[0].\n                 super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n                 ._M_impl._M_finish;\n        for (pbVar10 = local_28[0].\n                       super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n                       ._M_impl._M_start; pbVar10 != pbVar4; pbVar10 = pbVar10 + 1) {\n          pcVar2 = (pbVar10->_M_dataplus)._M_p;\n          if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n               *)pcVar2 != &pbVar10->field_2) {\n            operator_delete(pcVar2);\n          }\n          pbVar9 = local_28[0].\n                   super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n                   ._M_impl._M_start;\n        }\n      }\n      if (pbVar9 != (pointer)0x0) {\n        operator_delete(pbVar9);\n      }\n      __position._M_current =\n           (this->defs_).super__Vector_base<gold::Verdef*,_std::allocator<gold::Verdef*>_>._M_impl.\n           _M_finish;\n      if (__position._M_current ==\n          (this->defs_).super__Vector_base<gold::Verdef*,_std::allocator<gold::Verdef*>_>._M_impl.\n          _M_end_of_storage) {\n        std::vector<gold::Verdef*,_std::allocator<gold::Verdef*>_>::\n        _M_realloc_insert<gold::Verdef*_const&>(&this->defs_,__position,&vd);\n      }\n      else {\n        *__position._M_current = vd;\n        (this->defs_).super__Vector_base<gold::Verdef*,_std::allocator<gold::Verdef*>_>._M_impl.\n        _M_finish = __position._M_current + 1;\n      }\n      pVVar6 = vd;\n      KVar3 = version_key;\n                    /* try { // try from 00146a19 to 00146b27 has its CatchHandler @ 00146b47 */\n      __n_elt = (undefined4 *)operator_new(0x14);\n      local_28[0].\n      super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n      ._M_impl._M_finish = (pointer)0x0;\n      *__n_elt = 0;\n      local_28[0].\n      super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n      ._M_impl._M_start = (pointer)KVar3;\n      __n_elt[2] = 0;\n      __node = (__node_type *)(KVar3 + __n_elt[2]);\n      __n_elt[3] = pVVar6;\n      __n_elt[1] = KVar3;\n      uVar5 = (uint)__node % (this->version_table_)._M_h._M_bucket_count;\n      p_Var8 = std::\n               _Hashtable<std::pair<unsigned_int,_unsigned_int>,_std::pair<const_std::pair<unsigned_int,_unsigned_int>,_gold::Version_base*>,_std::allocator<std::pair<const_std::pair<unsigned_int,_unsigned_int>,_gold::Version_base*>_>,_std::__detail::_Select1st,_gold::Versions::Version_table_eq,_gold::Versions::Version_table_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<std::pair<unsigned_int,_unsigned_int>,_std::pair<const_std::pair<unsigned_int,_unsigned_int>,_gold::Version_base*>,_std::allocator<std::pair<const_std::pair<unsigned_int,_unsigned_int>,_gold::Version_base*>_>,_std::__detail::_Select1st,_gold::Versions::Version_table_eq,_gold::Versions::Version_table_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n                           *)&this->version_table_,uVar5,(key_type *)(__n_elt + 1),\n                          (__hash_code)__node);\n      if ((p_Var8 == (__node_base *)0x0) || (p_Var8->_M_nxt == (_Hash_node_base *)0x0)) {\n        std::\n        _Hashtable<std::pair<unsigned_int,_unsigned_int>,_std::pair<const_std::pair<unsigned_int,_unsigned_int>,_gold::Version_base*>,_std::allocator<std::pair<const_std::pair<unsigned_int,_unsigned_int>,_gold::Version_base*>_>,_std::__detail::_Select1st,_gold::Versions::Version_table_eq,_gold::Versions::Version_table_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_insert_unique_node\n                  ((_Hashtable<std::pair<unsigned_int,_unsigned_int>,_std::pair<const_std::pair<unsigned_int,_unsigned_int>,_gold::Version_base*>,_std::allocator<std::pair<const_std::pair<unsigned_int,_unsigned_int>,_gold::Version_base*>_>,_std::__detail::_Select1st,_gold::Versions::Version_table_eq,_gold::Versions::Version_table_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n                    *)local_40,(size_type)&this->version_table_,uVar5,__node,(size_type)__n_elt);\n      }\n      else {\n        operator_delete(__n_elt);\n      }\n      local_4c = local_4c + 1;\n      pbVar10 = versions.\n                super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n                ._M_impl._M_start;\n      pbVar9 = versions.\n               super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n               ._M_impl._M_start;\n    } while (local_4c <\n             (uint)(((int)versions.\n                          super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n                          ._M_impl._M_finish -\n                     (int)versions.\n                          super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n                          ._M_impl._M_start >> 3) * -0x55555555));\n    for (; pbVar10 !=\n           versions.\n           super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n           ._M_impl._M_finish; pbVar10 = pbVar10 + 1) {\n      pcVar2 = (pbVar10->_M_dataplus)._M_p;\n      versions.\n      super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n      ._M_impl._M_start = pbVar9;\n      if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n           *)pcVar2 != &pbVar10->field_2) {\n        operator_delete(pcVar2);\n      }\n      pbVar9 = versions.\n               super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n               ._M_impl._M_start;\n    }\n  }" { (do_statement "do {\n      version = Stringpool_template<char>::add\n                          (dynpool,versions.\n                                   super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n                                   ._M_impl._M_start[local_4c]._M_dataplus._M_p,true,&version_key);\n      Version_script_info::get_dependencies(local_28,this->version_script_,version);\n                    /* try { // try from 001468d9 to 001468dd has its CatchHandler @ 00146b4e */\n      pVVar6 = (Verdef *)operator_new(0x1c);\n      (pVVar6->super_Version_base).index_ = 0xffffffff;\n      pVVar6->name_ = version;\n      (pVVar6->super_Version_base)._vptr_Version_base = (_func_int_varargs **)&PTR__Verdef_002f9e60;\n      (pVVar6->deps_).\n      super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n      ._M_impl._M_start = (pointer)0x0;\n      uVar5 = (int)local_28[0].\n                   super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n                   ._M_impl._M_finish -\n              (int)local_28[0].\n                   super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n                   ._M_impl._M_start;\n      (pVVar6->deps_).\n      super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n      ._M_impl._M_finish = (pointer)0x0;\n      uVar7 = ((int)uVar5 >> 3) * -0x55555555;\n      (pVVar6->deps_).\n      super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n      ._M_impl._M_end_of_storage = (pointer)0x0;\n      if (uVar7 == 0) {\n        local_50 = (basic_string<char,_std::char_traits<char>,_std::allocator<char>_> *)0x0;\n      }\n      else {\n        if (0xaaaaaaa < uVar7) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 00146b42 to 00146b46 has its CatchHandler @ 00146b6a */\n          std::__throw_bad_alloc();\n        }\n                    /* try { // try from 00146939 to 0014693d has its CatchHandler @ 00146b6a */\n        local_50 = (basic_string<char,_std::char_traits<char>,_std::allocator<char>_> *)\n                   operator_new(uVar5);\n      }\n      pbVar9 = local_28[0].\n               super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n               ._M_impl._M_finish;\n      (pVVar6->deps_).\n      super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n      ._M_impl._M_start = local_50;\n      (pVVar6->deps_).\n      super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n      ._M_impl._M_finish = local_50;\n      (pVVar6->deps_).\n      super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n      ._M_impl._M_end_of_storage = (pointer)(uVar5 + (int)local_50);\n      if (local_28[0].\n          super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n          ._M_impl._M_start ==\n          local_28[0].\n          super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n          ._M_impl._M_finish) {\n        pVVar6->is_base_ = false;\n        pVVar6->is_weak_ = false;\n        pVVar6->is_info_ = false;\n        pVVar6->is_symbol_created_ = false;\n        vd = pVVar6;\n      }\n      else {\n        local_44 = local_50;\n        pbVar10 = local_28[0].\n                  super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n                  ._M_impl._M_start;\n        do {\n          (local_44->_M_dataplus)._M_p = (pointer)&local_44->field_2;\n          pcVar2 = (pbVar10->_M_dataplus)._M_p;\n                    /* try { // try from 00146984 to 00146988 has its CatchHandler @ 00146b65 */\n          std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n          _M_construct<char*>(local_44,pcVar2,pcVar2 + pbVar10->_M_string_length,0);\n          pbVar4 = local_28[0].\n                   super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n                   ._M_impl._M_finish;\n          pbVar10 = pbVar10 + 1;\n          local_44 = local_44 + 1;\n        } while (pbVar9 != pbVar10);\n        pVVar6->is_base_ = false;\n        pVVar6->is_weak_ = false;\n        pVVar6->is_info_ = false;\n        pVVar6->is_symbol_created_ = false;\n        (pVVar6->deps_).\n        super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n        ._M_impl._M_finish = local_44;\n        vd = pVVar6;\n        pbVar9 = local_28[0].\n                 super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n                 ._M_impl._M_finish;\n        for (pbVar10 = local_28[0].\n                       super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n                       ._M_impl._M_start; pbVar10 != pbVar4; pbVar10 = pbVar10 + 1) {\n          pcVar2 = (pbVar10->_M_dataplus)._M_p;\n          if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n               *)pcVar2 != &pbVar10->field_2) {\n            operator_delete(pcVar2);\n          }\n          pbVar9 = local_28[0].\n                   super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n                   ._M_impl._M_start;\n        }\n      }\n      if (pbVar9 != (pointer)0x0) {\n        operator_delete(pbVar9);\n      }\n      __position._M_current =\n           (this->defs_).super__Vector_base<gold::Verdef*,_std::allocator<gold::Verdef*>_>._M_impl.\n           _M_finish;\n      if (__position._M_current ==\n          (this->defs_).super__Vector_base<gold::Verdef*,_std::allocator<gold::Verdef*>_>._M_impl.\n          _M_end_of_storage) {\n        std::vector<gold::Verdef*,_std::allocator<gold::Verdef*>_>::\n        _M_realloc_insert<gold::Verdef*_const&>(&this->defs_,__position,&vd);\n      }\n      else {\n        *__position._M_current = vd;\n        (this->defs_).super__Vector_base<gold::Verdef*,_std::allocator<gold::Verdef*>_>._M_impl.\n        _M_finish = __position._M_current + 1;\n      }\n      pVVar6 = vd;\n      KVar3 = version_key;\n                    /* try { // try from 00146a19 to 00146b27 has its CatchHandler @ 00146b47 */\n      __n_elt = (undefined4 *)operator_new(0x14);\n      local_28[0].\n      super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n      ._M_impl._M_finish = (pointer)0x0;\n      *__n_elt = 0;\n      local_28[0].\n      super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n      ._M_impl._M_start = (pointer)KVar3;\n      __n_elt[2] = 0;\n      __node = (__node_type *)(KVar3 + __n_elt[2]);\n      __n_elt[3] = pVVar6;\n      __n_elt[1] = KVar3;\n      uVar5 = (uint)__node % (this->version_table_)._M_h._M_bucket_count;\n      p_Var8 = std::\n               _Hashtable<std::pair<unsigned_int,_unsigned_int>,_std::pair<const_std::pair<unsigned_int,_unsigned_int>,_gold::Version_base*>,_std::allocator<std::pair<const_std::pair<unsigned_int,_unsigned_int>,_gold::Version_base*>_>,_std::__detail::_Select1st,_gold::Versions::Version_table_eq,_gold::Versions::Version_table_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<std::pair<unsigned_int,_unsigned_int>,_std::pair<const_std::pair<unsigned_int,_unsigned_int>,_gold::Version_base*>,_std::allocator<std::pair<const_std::pair<unsigned_int,_unsigned_int>,_gold::Version_base*>_>,_std::__detail::_Select1st,_gold::Versions::Version_table_eq,_gold::Versions::Version_table_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n                           *)&this->version_table_,uVar5,(key_type *)(__n_elt + 1),\n                          (__hash_code)__node);\n      if ((p_Var8 == (__node_base *)0x0) || (p_Var8->_M_nxt == (_Hash_node_base *)0x0)) {\n        std::\n        _Hashtable<std::pair<unsigned_int,_unsigned_int>,_std::pair<const_std::pair<unsigned_int,_unsigned_int>,_gold::Version_base*>,_std::allocator<std::pair<const_std::pair<unsigned_int,_unsigned_int>,_gold::Version_base*>_>,_std::__detail::_Select1st,_gold::Versions::Version_table_eq,_gold::Versions::Version_table_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_insert_unique_node\n                  ((_Hashtable<std::pair<unsigned_int,_unsigned_int>,_std::pair<const_std::pair<unsigned_int,_unsigned_int>,_gold::Version_base*>,_std::allocator<std::pair<const_std::pair<unsigned_int,_unsigned_int>,_gold::Version_base*>_>,_std::__detail::_Select1st,_gold::Versions::Version_table_eq,_gold::Versions::Version_table_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n                    *)local_40,(size_type)&this->version_table_,uVar5,__node,(size_type)__n_elt);\n      }\n      else {\n        operator_delete(__n_elt);\n      }\n      local_4c = local_4c + 1;\n      pbVar10 = versions.\n                super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n                ._M_impl._M_start;\n      pbVar9 = versions.\n               super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n               ._M_impl._M_start;\n    } while (local_4c <\n             (uint)(((int)versions.\n                          super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n                          ._M_impl._M_finish -\n                     (int)versions.\n                          super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n                          ._M_impl._M_start >> 3) * -0x55555555));" do (compound_statement "{\n      version = Stringpool_template<char>::add\n                          (dynpool,versions.\n                                   super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n                                   ._M_impl._M_start[local_4c]._M_dataplus._M_p,true,&version_key);\n      Version_script_info::get_dependencies(local_28,this->version_script_,version);\n                    /* try { // try from 001468d9 to 001468dd has its CatchHandler @ 00146b4e */\n      pVVar6 = (Verdef *)operator_new(0x1c);\n      (pVVar6->super_Version_base).index_ = 0xffffffff;\n      pVVar6->name_ = version;\n      (pVVar6->super_Version_base)._vptr_Version_base = (_func_int_varargs **)&PTR__Verdef_002f9e60;\n      (pVVar6->deps_).\n      super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n      ._M_impl._M_start = (pointer)0x0;\n      uVar5 = (int)local_28[0].\n                   super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n                   ._M_impl._M_finish -\n              (int)local_28[0].\n                   super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n                   ._M_impl._M_start;\n      (pVVar6->deps_).\n      super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n      ._M_impl._M_finish = (pointer)0x0;\n      uVar7 = ((int)uVar5 >> 3) * -0x55555555;\n      (pVVar6->deps_).\n      super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n      ._M_impl._M_end_of_storage = (pointer)0x0;\n      if (uVar7 == 0) {\n        local_50 = (basic_string<char,_std::char_traits<char>,_std::allocator<char>_> *)0x0;\n      }\n      else {\n        if (0xaaaaaaa < uVar7) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 00146b42 to 00146b46 has its CatchHandler @ 00146b6a */\n          std::__throw_bad_alloc();\n        }\n                    /* try { // try from 00146939 to 0014693d has its CatchHandler @ 00146b6a */\n        local_50 = (basic_string<char,_std::char_traits<char>,_std::allocator<char>_> *)\n                   operator_new(uVar5);\n      }\n      pbVar9 = local_28[0].\n               super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n               ._M_impl._M_finish;\n      (pVVar6->deps_).\n      super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n      ._M_impl._M_start = local_50;\n      (pVVar6->deps_).\n      super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n      ._M_impl._M_finish = local_50;\n      (pVVar6->deps_).\n      super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n      ._M_impl._M_end_of_storage = (pointer)(uVar5 + (int)local_50);\n      if (local_28[0].\n          super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n          ._M_impl._M_start ==\n          local_28[0].\n          super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n          ._M_impl._M_finish) {\n        pVVar6->is_base_ = false;\n        pVVar6->is_weak_ = false;\n        pVVar6->is_info_ = false;\n        pVVar6->is_symbol_created_ = false;\n        vd = pVVar6;\n      }\n      else {\n        local_44 = local_50;\n        pbVar10 = local_28[0].\n                  super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n                  ._M_impl._M_start;\n        do {\n          (local_44->_M_dataplus)._M_p = (pointer)&local_44->field_2;\n          pcVar2 = (pbVar10->_M_dataplus)._M_p;\n                    /* try { // try from 00146984 to 00146988 has its CatchHandler @ 00146b65 */\n          std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n          _M_construct<char*>(local_44,pcVar2,pcVar2 + pbVar10->_M_string_length,0);\n          pbVar4 = local_28[0].\n                   super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n                   ._M_impl._M_finish;\n          pbVar10 = pbVar10 + 1;\n          local_44 = local_44 + 1;\n        } while (pbVar9 != pbVar10);\n        pVVar6->is_base_ = false;\n        pVVar6->is_weak_ = false;\n        pVVar6->is_info_ = false;\n        pVVar6->is_symbol_created_ = false;\n        (pVVar6->deps_).\n        super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n        ._M_impl._M_finish = local_44;\n        vd = pVVar6;\n        pbVar9 = local_28[0].\n                 super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n                 ._M_impl._M_finish;\n        for (pbVar10 = local_28[0].\n                       super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n                       ._M_impl._M_start; pbVar10 != pbVar4; pbVar10 = pbVar10 + 1) {\n          pcVar2 = (pbVar10->_M_dataplus)._M_p;\n          if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n               *)pcVar2 != &pbVar10->field_2) {\n            operator_delete(pcVar2);\n          }\n          pbVar9 = local_28[0].\n                   super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n                   ._M_impl._M_start;\n        }\n      }\n      if (pbVar9 != (pointer)0x0) {\n        operator_delete(pbVar9);\n      }\n      __position._M_current =\n           (this->defs_).super__Vector_base<gold::Verdef*,_std::allocator<gold::Verdef*>_>._M_impl.\n           _M_finish;\n      if (__position._M_current ==\n          (this->defs_).super__Vector_base<gold::Verdef*,_std::allocator<gold::Verdef*>_>._M_impl.\n          _M_end_of_storage) {\n        std::vector<gold::Verdef*,_std::allocator<gold::Verdef*>_>::\n        _M_realloc_insert<gold::Verdef*_const&>(&this->defs_,__position,&vd);\n      }\n      else {\n        *__position._M_current = vd;\n        (this->defs_).super__Vector_base<gold::Verdef*,_std::allocator<gold::Verdef*>_>._M_impl.\n        _M_finish = __position._M_current + 1;\n      }\n      pVVar6 = vd;\n      KVar3 = version_key;\n                    /* try { // try from 00146a19 to 00146b27 has its CatchHandler @ 00146b47 */\n      __n_elt = (undefined4 *)operator_new(0x14);\n      local_28[0].\n      super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n      ._M_impl._M_finish = (pointer)0x0;\n      *__n_elt = 0;\n      local_28[0].\n      super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n      ._M_impl._M_start = (pointer)KVar3;\n      __n_elt[2] = 0;\n      __node = (__node_type *)(KVar3 + __n_elt[2]);\n      __n_elt[3] = pVVar6;\n      __n_elt[1] = KVar3;\n      uVar5 = (uint)__node % (this->version_table_)._M_h._M_bucket_count;\n      p_Var8 = std::\n               _Hashtable<std::pair<unsigned_int,_unsigned_int>,_std::pair<const_std::pair<unsigned_int,_unsigned_int>,_gold::Version_base*>,_std::allocator<std::pair<const_std::pair<unsigned_int,_unsigned_int>,_gold::Version_base*>_>,_std::__detail::_Select1st,_gold::Versions::Version_table_eq,_gold::Versions::Version_table_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<std::pair<unsigned_int,_unsigned_int>,_std::pair<const_std::pair<unsigned_int,_unsigned_int>,_gold::Version_base*>,_std::allocator<std::pair<const_std::pair<unsigned_int,_unsigned_int>,_gold::Version_base*>_>,_std::__detail::_Select1st,_gold::Versions::Version_table_eq,_gold::Versions::Version_table_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n                           *)&this->version_table_,uVar5,(key_type *)(__n_elt + 1),\n                          (__hash_code)__node);\n      if ((p_Var8 == (__node_base *)0x0) || (p_Var8->_M_nxt == (_Hash_node_base *)0x0)) {\n        std::\n        _Hashtable<std::pair<unsigned_int,_unsigned_int>,_std::pair<const_std::pair<unsigned_int,_unsigned_int>,_gold::Version_base*>,_std::allocator<std::pair<const_std::pair<unsigned_int,_unsigned_int>,_gold::Version_base*>_>,_std::__detail::_Select1st,_gold::Versions::Version_table_eq,_gold::Versions::Version_table_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_insert_unique_node\n                  ((_Hashtable<std::pair<unsigned_int,_unsigned_int>,_std::pair<const_std::pair<unsigned_int,_unsigned_int>,_gold::Version_base*>,_std::allocator<std::pair<const_std::pair<unsigned_int,_unsigned_int>,_gold::Version_base*>_>,_std::__detail::_Select1st,_gold::Versions::Version_table_eq,_gold::Versions::Version_table_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n                    *)local_40,(size_type)&this->version_table_,uVar5,__node,(size_type)__n_elt);\n      }\n      else {\n        operator_delete(__n_elt);\n      }\n      local_4c = local_4c + 1;\n      pbVar10 = versions.\n                super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n                ._M_impl._M_start;\n      pbVar9 = versions.\n               super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n               ._M_impl._M_start;\n    }" { (expression_statement "version = Stringpool_template<char>::add\n                          (dynpool,versions.\n                                   super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n                                   ._M_impl._M_start[local_4c]._M_dataplus._M_p,true,&version_key);" (assignment_expression "version = Stringpool_template<char>::add\n                          (dynpool,versions.\n                                   super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n                                   ._M_impl._M_start[local_4c]._M_dataplus._M_p,true,&version_key)" identifier = (binary_expression "Stringpool_template<char>::add\n                          (dynpool,versions.\n                                   super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n                                   ._M_impl._M_start[local_4c]._M_dataplus._M_p,true,&version_key)" (binary_expression "Stringpool_template<char" identifier < identifier) > (ERROR "::" : :) (call_expression "add\n                          (dynpool,versions.\n                                   super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n                                   ._M_impl._M_start[local_4c]._M_dataplus._M_p,true,&version_key)" identifier (argument_list "(dynpool,versions.\n                                   super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n                                   ._M_impl._M_start[local_4c]._M_dataplus._M_p,true,&version_key)" ( identifier , (binary_expression "versions.\n                                   super__Vector_base<std::__cxx11::basic_string<char" (binary_expression "versions.\n                                   super__Vector_base<std" (field_expression "versions.\n                                   super__Vector_base" identifier . field_identifier) < identifier) (ERROR "::__cxx11::basic_string" : : identifier : : identifier) < identifier) , (ERROR "_std::" identifier : :) (binary_expression "char_traits<char" identifier < identifier) (ERROR ">" >) , (ERROR "_std::" identifier : :) (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) (ERROR ">" >) , (ERROR "_std::allocator<std::__cxx11::" identifier : : (binary_expression "allocator<std" identifier < identifier) : : identifier : :) (binary_expression "basic_string<char" identifier < identifier) , (ERROR "_std::" identifier : :) (binary_expression "char_traits<char" identifier < identifier) (ERROR ">" >) , (ERROR "_std::" identifier : :) (field_expression "allocator<char>_>_>_>\n                                   ._M_impl._M_start[local_4c]._M_dataplus._M_p" (field_expression "allocator<char>_>_>_>\n                                   ._M_impl._M_start[local_4c]._M_dataplus" (subscript_expression "allocator<char>_>_>_>\n                                   ._M_impl._M_start[local_4c]" (field_expression "allocator<char>_>_>_>\n                                   ._M_impl._M_start" (field_expression "allocator<char>_>_>_>\n                                   ._M_impl" (binary_expression "allocator<char>_>_>_" (binary_expression "allocator<char>_>_" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > identifier) > identifier) (ERROR ">" >) . field_identifier) . field_identifier) [ identifier ]) . field_identifier) . field_identifier) , true , (pointer_expression "&version_key" & identifier) ))))) ;) (labeled_statement "Version_script_info::get_dependencies(local_28,this->version_script_,version);" statement_identifier : (ERROR ":" :) (expression_statement "get_dependencies(local_28,this->version_script_,version);" (call_expression "get_dependencies(local_28,this->version_script_,version)" identifier (argument_list "(local_28,this->version_script_,version)" ( identifier , (field_expression "this->version_script_" identifier -> field_identifier) , identifier ))) ;)) comment (expression_statement "pVVar6 = (Verdef *)operator_new(0x1c);" (assignment_expression "pVVar6 = (Verdef *)operator_new(0x1c)" identifier = (cast_expression "(Verdef *)operator_new(0x1c)" ( (type_descriptor "Verdef *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "operator_new(0x1c)" identifier (argument_list "(0x1c)" ( number_literal ))))) ;) (expression_statement "(pVVar6->super_Version_base).index_ = 0xffffffff;" (assignment_expression "(pVVar6->super_Version_base).index_ = 0xffffffff" (field_expression "(pVVar6->super_Version_base).index_" (parenthesized_expression "(pVVar6->super_Version_base)" ( (field_expression "pVVar6->super_Version_base" identifier -> field_identifier) )) . field_identifier) = number_literal) ;) (expression_statement "pVVar6->name_ = version;" (assignment_expression "pVVar6->name_ = version" (field_expression "pVVar6->name_" identifier -> field_identifier) = identifier) ;) (expression_statement "(pVVar6->super_Version_base)._vptr_Version_base = (_func_int_varargs **)&PTR__Verdef_002f9e60;" (assignment_expression "(pVVar6->super_Version_base)._vptr_Version_base = (_func_int_varargs **)&PTR__Verdef_002f9e60" (field_expression "(pVVar6->super_Version_base)._vptr_Version_base" (parenthesized_expression "(pVVar6->super_Version_base)" ( (field_expression "pVVar6->super_Version_base" identifier -> field_identifier) )) . field_identifier) = (cast_expression "(_func_int_varargs **)&PTR__Verdef_002f9e60" ( (type_descriptor "_func_int_varargs **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (pointer_expression "&PTR__Verdef_002f9e60" & identifier))) ;) (ERROR "(pVVar6->deps_).\n      super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::" (binary_expression "(pVVar6->deps_).\n      super__Vector_base<std" (field_expression "(pVVar6->deps_).\n      super__Vector_base" (parenthesized_expression "(pVVar6->deps_)" ( (field_expression "pVVar6->deps_" identifier -> field_identifier) )) . field_identifier) < identifier) : : (comma_expression "__cxx11::basic_string<char,_std::char_traits<char>,_std" identifier (ERROR "::basic_string<char,_std::char_traits<char>" : : (comma_expression "basic_string<char,_std" (binary_expression "basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char" identifier < identifier) >) , identifier) : : (binary_expression "allocator<char>_>,_std" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > (ERROR "," ,) identifier) : : (binary_expression "allocator<std" identifier < identifier) : : (comma_expression "__cxx11::basic_string<char,_std::char_traits<char>,_std" identifier (ERROR "::basic_string<char,_std::char_traits<char>" : : (comma_expression "basic_string<char,_std" (binary_expression "basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char" identifier < identifier) >) , identifier) : :) (expression_statement "allocator<char>_>_>_>\n      ._M_impl._M_start = (pointer)0x0;" (assignment_expression "allocator<char>_>_>_>\n      ._M_impl._M_start = (pointer)0x0" (field_expression "allocator<char>_>_>_>\n      ._M_impl._M_start" (field_expression "allocator<char>_>_>_>\n      ._M_impl" (binary_expression "allocator<char>_>_>_" (binary_expression "allocator<char>_>_" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > identifier) > identifier) (ERROR ">" >) . field_identifier) . field_identifier) = (cast_expression "(pointer)0x0" ( (type_descriptor "pointer" type_identifier) ) number_literal)) ;) (ERROR "uVar5 = (int)local_28[0].\n                   super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n                   ._M_impl._M_finish -\n              (int)local_28[0].\n                   super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::" (assignment_expression "uVar5 = (int)local_28[0].\n                   super__Vector_base<std" identifier = (binary_expression "(int)local_28[0].\n                   super__Vector_base<std" (cast_expression "(int)local_28[0].\n                   super__Vector_base" ( (type_descriptor "int" primitive_type) ) (field_expression "local_28[0].\n                   super__Vector_base" (subscript_expression "local_28[0]" identifier [ number_literal ]) . field_identifier)) < identifier)) : : (comma_expression "__cxx11::basic_string<char,_std::char_traits<char>,_std" identifier (ERROR "::basic_string<char,_std::char_traits<char>" : : (comma_expression "basic_string<char,_std" (binary_expression "basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char" identifier < identifier) >) , identifier) : : (binary_expression "allocator<char>_>,_std" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > (ERROR "," ,) identifier) : : (binary_expression "allocator<std" identifier < identifier) : : (comma_expression "__cxx11::basic_string<char,_std::char_traits<char>,_std" identifier (ERROR "::basic_string<char,_std::char_traits<char>" : : (comma_expression "basic_string<char,_std" (binary_expression "basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char" identifier < identifier) >) , identifier) : : (binary_expression "allocator<char>_>_>_>\n                   ._M_impl._M_finish -\n              (int)local_28[0].\n                   super__Vector_base<std" (binary_expression "allocator<char>_>_>_>\n                   ._M_impl._M_finish -\n              (int)local_28[0].\n                   super__Vector_base" (field_expression "allocator<char>_>_>_>\n                   ._M_impl._M_finish" (field_expression "allocator<char>_>_>_>\n                   ._M_impl" (binary_expression "allocator<char>_>_>_" (binary_expression "allocator<char>_>_" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > identifier) > identifier) (ERROR ">" >) . field_identifier) . field_identifier) - (cast_expression "(int)local_28[0].\n                   super__Vector_base" ( (type_descriptor "int" primitive_type) ) (field_expression "local_28[0].\n                   super__Vector_base" (subscript_expression "local_28[0]" identifier [ number_literal ]) . field_identifier))) < identifier) : : (comma_expression "__cxx11::basic_string<char,_std::char_traits<char>,_std" identifier (ERROR "::basic_string<char,_std::char_traits<char>" : : (comma_expression "basic_string<char,_std" (binary_expression "basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char" identifier < identifier) >) , identifier) : : (binary_expression "allocator<char>_>,_std" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > (ERROR "," ,) identifier) : : (binary_expression "allocator<std" identifier < identifier) : : (comma_expression "__cxx11::basic_string<char,_std::char_traits<char>,_std" identifier (ERROR "::basic_string<char,_std::char_traits<char>" : : (comma_expression "basic_string<char,_std" (binary_expression "basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char" identifier < identifier) >) , identifier) : :) (expression_statement "allocator<char>_>_>_>\n                   ._M_impl._M_start;" (field_expression "allocator<char>_>_>_>\n                   ._M_impl._M_start" (field_expression "allocator<char>_>_>_>\n                   ._M_impl" (binary_expression "allocator<char>_>_>_" (binary_expression "allocator<char>_>_" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > identifier) > identifier) (ERROR ">" >) . field_identifier) . field_identifier) ;) (ERROR "(pVVar6->deps_).\n      super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::" (binary_expression "(pVVar6->deps_).\n      super__Vector_base<std" (field_expression "(pVVar6->deps_).\n      super__Vector_base" (parenthesized_expression "(pVVar6->deps_)" ( (field_expression "pVVar6->deps_" identifier -> field_identifier) )) . field_identifier) < identifier) : : (comma_expression "__cxx11::basic_string<char,_std::char_traits<char>,_std" identifier (ERROR "::basic_string<char,_std::char_traits<char>" : : (comma_expression "basic_string<char,_std" (binary_expression "basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char" identifier < identifier) >) , identifier) : : (binary_expression "allocator<char>_>,_std" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > (ERROR "," ,) identifier) : : (binary_expression "allocator<std" identifier < identifier) : : (comma_expression "__cxx11::basic_string<char,_std::char_traits<char>,_std" identifier (ERROR "::basic_string<char,_std::char_traits<char>" : : (comma_expression "basic_string<char,_std" (binary_expression "basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char" identifier < identifier) >) , identifier) : :) (expression_statement "allocator<char>_>_>_>\n      ._M_impl._M_finish = (pointer)0x0;" (assignment_expression "allocator<char>_>_>_>\n      ._M_impl._M_finish = (pointer)0x0" (field_expression "allocator<char>_>_>_>\n      ._M_impl._M_finish" (field_expression "allocator<char>_>_>_>\n      ._M_impl" (binary_expression "allocator<char>_>_>_" (binary_expression "allocator<char>_>_" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > identifier) > identifier) (ERROR ">" >) . field_identifier) . field_identifier) = (cast_expression "(pointer)0x0" ( (type_descriptor "pointer" type_identifier) ) number_literal)) ;) (expression_statement "uVar7 = ((int)uVar5 >> 3) * -0x55555555;" (assignment_expression "uVar7 = ((int)uVar5 >> 3) * -0x55555555" identifier = (binary_expression "((int)uVar5 >> 3) * -0x55555555" (parenthesized_expression "((int)uVar5 >> 3)" ( (binary_expression "(int)uVar5 >> 3" (cast_expression "(int)uVar5" ( (type_descriptor "int" primitive_type) ) identifier) >> number_literal) )) * number_literal)) ;) (ERROR "(pVVar6->deps_).\n      super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::" (binary_expression "(pVVar6->deps_).\n      super__Vector_base<std" (field_expression "(pVVar6->deps_).\n      super__Vector_base" (parenthesized_expression "(pVVar6->deps_)" ( (field_expression "pVVar6->deps_" identifier -> field_identifier) )) . field_identifier) < identifier) : : (comma_expression "__cxx11::basic_string<char,_std::char_traits<char>,_std" identifier (ERROR "::basic_string<char,_std::char_traits<char>" : : (comma_expression "basic_string<char,_std" (binary_expression "basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char" identifier < identifier) >) , identifier) : : (binary_expression "allocator<char>_>,_std" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > (ERROR "," ,) identifier) : : (binary_expression "allocator<std" identifier < identifier) : : (comma_expression "__cxx11::basic_string<char,_std::char_traits<char>,_std" identifier (ERROR "::basic_string<char,_std::char_traits<char>" : : (comma_expression "basic_string<char,_std" (binary_expression "basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char" identifier < identifier) >) , identifier) : :) (expression_statement "allocator<char>_>_>_>\n      ._M_impl._M_end_of_storage = (pointer)0x0;" (assignment_expression "allocator<char>_>_>_>\n      ._M_impl._M_end_of_storage = (pointer)0x0" (field_expression "allocator<char>_>_>_>\n      ._M_impl._M_end_of_storage" (field_expression "allocator<char>_>_>_>\n      ._M_impl" (binary_expression "allocator<char>_>_>_" (binary_expression "allocator<char>_>_" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > identifier) > identifier) (ERROR ">" >) . field_identifier) . field_identifier) = (cast_expression "(pointer)0x0" ( (type_descriptor "pointer" type_identifier) ) number_literal)) ;) (if_statement "if (uVar7 == 0) {\n        local_50 = (basic_string<char,_std::char_traits<char>,_std::allocator<char>_> *)0x0;\n      }\n      else {\n        if (0xaaaaaaa < uVar7) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 00146b42 to 00146b46 has its CatchHandler @ 00146b6a */\n          std::__throw_bad_alloc();\n        }\n                    /* try { // try from 00146939 to 0014693d has its CatchHandler @ 00146b6a */\n        local_50 = (basic_string<char,_std::char_traits<char>,_std::allocator<char>_> *)\n                   operator_new(uVar5);\n      }" if (parenthesized_expression "(uVar7 == 0)" ( (binary_expression "uVar7 == 0" identifier == number_literal) )) (compound_statement "{\n        local_50 = (basic_string<char,_std::char_traits<char>,_std::allocator<char>_> *)0x0;\n      }" { (expression_statement "local_50 = (basic_string<char,_std::char_traits<char>,_std::allocator<char>_> *)0x0;" (assignment_expression "local_50 = (basic_string<char,_std::char_traits<char>,_std::allocator<char>_> *)0x0" identifier = (parenthesized_expression "(basic_string<char,_std::char_traits<char>,_std::allocator<char>_> *)0x0" ( (ERROR "basic_string<char,_std::char_traits<char>,_std::" (comma_expression "basic_string<char,_std" (binary_expression "basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char>,_std" (binary_expression "char_traits<char" identifier < identifier) > (ERROR "," ,) identifier) : :) (binary_expression "allocator<char>_> *)0x0" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > (pointer_expression "*)0x0" * (ERROR ")" )) number_literal)) ))) ;) }) (else_clause "else {\n        if (0xaaaaaaa < uVar7) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 00146b42 to 00146b46 has its CatchHandler @ 00146b6a */\n          std::__throw_bad_alloc();\n        }\n                    /* try { // try from 00146939 to 0014693d has its CatchHandler @ 00146b6a */\n        local_50 = (basic_string<char,_std::char_traits<char>,_std::allocator<char>_> *)\n                   operator_new(uVar5);\n      }" else (compound_statement "{\n        if (0xaaaaaaa < uVar7) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 00146b42 to 00146b46 has its CatchHandler @ 00146b6a */\n          std::__throw_bad_alloc();\n        }\n                    /* try { // try from 00146939 to 0014693d has its CatchHandler @ 00146b6a */\n        local_50 = (basic_string<char,_std::char_traits<char>,_std::allocator<char>_> *)\n                   operator_new(uVar5);\n      }" { (if_statement "if (0xaaaaaaa < uVar7) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 00146b42 to 00146b46 has its CatchHandler @ 00146b6a */\n          std::__throw_bad_alloc();\n        }" if (parenthesized_expression "(0xaaaaaaa < uVar7)" ( (binary_expression "0xaaaaaaa < uVar7" number_literal < identifier) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 00146b42 to 00146b46 has its CatchHandler @ 00146b6a */\n          std::__throw_bad_alloc();\n        }" { comment comment (labeled_statement "std::__throw_bad_alloc();" statement_identifier : (ERROR ":" :) (expression_statement "__throw_bad_alloc();" (call_expression "__throw_bad_alloc()" identifier (argument_list "()" ( ))) ;)) })) comment (expression_statement "local_50 = (basic_string<char,_std::char_traits<char>,_std::allocator<char>_> *)\n                   operator_new(uVar5);" (assignment_expression "local_50 = (basic_string<char,_std::char_traits<char>,_std::allocator<char>_> *)\n                   operator_new(uVar5)" identifier = (parenthesized_expression "(basic_string<char,_std::char_traits<char>,_std::allocator<char>_> *)\n                   operator_new(uVar5)" ( (ERROR "basic_string<char,_std::char_traits<char>,_std::" (comma_expression "basic_string<char,_std" (binary_expression "basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char>,_std" (binary_expression "char_traits<char" identifier < identifier) > (ERROR "," ,) identifier) : :) (binary_expression "allocator<char>_> *)\n                   operator_new(uVar5)" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > (pointer_expression "*)\n                   operator_new(uVar5)" * (ERROR ")" )) (call_expression "operator_new(uVar5)" identifier (argument_list "(uVar5)" ( identifier ))))) ))) ;) }))) (ERROR "pbVar9 = local_28[0].\n               super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::" (assignment_expression "pbVar9 = local_28[0].\n               super__Vector_base<std" identifier = (binary_expression "local_28[0].\n               super__Vector_base<std" (field_expression "local_28[0].\n               super__Vector_base" (subscript_expression "local_28[0]" identifier [ number_literal ]) . field_identifier) < identifier)) : : (comma_expression "__cxx11::basic_string<char,_std::char_traits<char>,_std" identifier (ERROR "::basic_string<char,_std::char_traits<char>" : : (comma_expression "basic_string<char,_std" (binary_expression "basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char" identifier < identifier) >) , identifier) : : (binary_expression "allocator<char>_>,_std" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > (ERROR "," ,) identifier) : : (binary_expression "allocator<std" identifier < identifier) : : (comma_expression "__cxx11::basic_string<char,_std::char_traits<char>,_std" identifier (ERROR "::basic_string<char,_std::char_traits<char>" : : (comma_expression "basic_string<char,_std" (binary_expression "basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char" identifier < identifier) >) , identifier) : :) (expression_statement "allocator<char>_>_>_>\n               ._M_impl._M_finish;" (field_expression "allocator<char>_>_>_>\n               ._M_impl._M_finish" (field_expression "allocator<char>_>_>_>\n               ._M_impl" (binary_expression "allocator<char>_>_>_" (binary_expression "allocator<char>_>_" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > identifier) > identifier) (ERROR ">" >) . field_identifier) . field_identifier) ;) (ERROR "(pVVar6->deps_).\n      super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::" (binary_expression "(pVVar6->deps_).\n      super__Vector_base<std" (field_expression "(pVVar6->deps_).\n      super__Vector_base" (parenthesized_expression "(pVVar6->deps_)" ( (field_expression "pVVar6->deps_" identifier -> field_identifier) )) . field_identifier) < identifier) : : (comma_expression "__cxx11::basic_string<char,_std::char_traits<char>,_std" identifier (ERROR "::basic_string<char,_std::char_traits<char>" : : (comma_expression "basic_string<char,_std" (binary_expression "basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char" identifier < identifier) >) , identifier) : : (binary_expression "allocator<char>_>,_std" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > (ERROR "," ,) identifier) : : (binary_expression "allocator<std" identifier < identifier) : : (comma_expression "__cxx11::basic_string<char,_std::char_traits<char>,_std" identifier (ERROR "::basic_string<char,_std::char_traits<char>" : : (comma_expression "basic_string<char,_std" (binary_expression "basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char" identifier < identifier) >) , identifier) : :) (expression_statement "allocator<char>_>_>_>\n      ._M_impl._M_start = local_50;" (assignment_expression "allocator<char>_>_>_>\n      ._M_impl._M_start = local_50" (field_expression "allocator<char>_>_>_>\n      ._M_impl._M_start" (field_expression "allocator<char>_>_>_>\n      ._M_impl" (binary_expression "allocator<char>_>_>_" (binary_expression "allocator<char>_>_" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > identifier) > identifier) (ERROR ">" >) . field_identifier) . field_identifier) = identifier) ;) (ERROR "(pVVar6->deps_).\n      super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::" (binary_expression "(pVVar6->deps_).\n      super__Vector_base<std" (field_expression "(pVVar6->deps_).\n      super__Vector_base" (parenthesized_expression "(pVVar6->deps_)" ( (field_expression "pVVar6->deps_" identifier -> field_identifier) )) . field_identifier) < identifier) : : (comma_expression "__cxx11::basic_string<char,_std::char_traits<char>,_std" identifier (ERROR "::basic_string<char,_std::char_traits<char>" : : (comma_expression "basic_string<char,_std" (binary_expression "basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char" identifier < identifier) >) , identifier) : : (binary_expression "allocator<char>_>,_std" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > (ERROR "," ,) identifier) : : (binary_expression "allocator<std" identifier < identifier) : : (comma_expression "__cxx11::basic_string<char,_std::char_traits<char>,_std" identifier (ERROR "::basic_string<char,_std::char_traits<char>" : : (comma_expression "basic_string<char,_std" (binary_expression "basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char" identifier < identifier) >) , identifier) : :) (expression_statement "allocator<char>_>_>_>\n      ._M_impl._M_finish = local_50;" (assignment_expression "allocator<char>_>_>_>\n      ._M_impl._M_finish = local_50" (field_expression "allocator<char>_>_>_>\n      ._M_impl._M_finish" (field_expression "allocator<char>_>_>_>\n      ._M_impl" (binary_expression "allocator<char>_>_>_" (binary_expression "allocator<char>_>_" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > identifier) > identifier) (ERROR ">" >) . field_identifier) . field_identifier) = identifier) ;) (ERROR "(pVVar6->deps_).\n      super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::" (binary_expression "(pVVar6->deps_).\n      super__Vector_base<std" (field_expression "(pVVar6->deps_).\n      super__Vector_base" (parenthesized_expression "(pVVar6->deps_)" ( (field_expression "pVVar6->deps_" identifier -> field_identifier) )) . field_identifier) < identifier) : : (comma_expression "__cxx11::basic_string<char,_std::char_traits<char>,_std" identifier (ERROR "::basic_string<char,_std::char_traits<char>" : : (comma_expression "basic_string<char,_std" (binary_expression "basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char" identifier < identifier) >) , identifier) : : (binary_expression "allocator<char>_>,_std" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > (ERROR "," ,) identifier) : : (binary_expression "allocator<std" identifier < identifier) : : (comma_expression "__cxx11::basic_string<char,_std::char_traits<char>,_std" identifier (ERROR "::basic_string<char,_std::char_traits<char>" : : (comma_expression "basic_string<char,_std" (binary_expression "basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char" identifier < identifier) >) , identifier) : :) (expression_statement "allocator<char>_>_>_>\n      ._M_impl._M_end_of_storage = (pointer)(uVar5 + (int)local_50);" (assignment_expression "allocator<char>_>_>_>\n      ._M_impl._M_end_of_storage = (pointer)(uVar5 + (int)local_50)" (field_expression "allocator<char>_>_>_>\n      ._M_impl._M_end_of_storage" (field_expression "allocator<char>_>_>_>\n      ._M_impl" (binary_expression "allocator<char>_>_>_" (binary_expression "allocator<char>_>_" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > identifier) > identifier) (ERROR ">" >) . field_identifier) . field_identifier) = (call_expression "(pointer)(uVar5 + (int)local_50)" (parenthesized_expression "(pointer)" ( identifier )) (argument_list "(uVar5 + (int)local_50)" ( (binary_expression "uVar5 + (int)local_50" identifier + (cast_expression "(int)local_50" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (if_statement "if (local_28[0].\n          super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n          ._M_impl._M_start ==\n          local_28[0].\n          super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n          ._M_impl._M_finish) {\n        pVVar6->is_base_ = false;\n        pVVar6->is_weak_ = false;\n        pVVar6->is_info_ = false;\n        pVVar6->is_symbol_created_ = false;\n        vd = pVVar6;\n      }\n      else {\n        local_44 = local_50;\n        pbVar10 = local_28[0].\n                  super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n                  ._M_impl._M_start;\n        do {\n          (local_44->_M_dataplus)._M_p = (pointer)&local_44->field_2;\n          pcVar2 = (pbVar10->_M_dataplus)._M_p;\n                    /* try { // try from 00146984 to 00146988 has its CatchHandler @ 00146b65 */\n          std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n          _M_construct<char*>(local_44,pcVar2,pcVar2 + pbVar10->_M_string_length,0);\n          pbVar4 = local_28[0].\n                   super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n                   ._M_impl._M_finish;\n          pbVar10 = pbVar10 + 1;\n          local_44 = local_44 + 1;\n        } while (pbVar9 != pbVar10);\n        pVVar6->is_base_ = false;\n        pVVar6->is_weak_ = false;\n        pVVar6->is_info_ = false;\n        pVVar6->is_symbol_created_ = false;\n        (pVVar6->deps_).\n        super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n        ._M_impl._M_finish = local_44;\n        vd = pVVar6;\n        pbVar9 = local_28[0].\n                 super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n                 ._M_impl._M_finish;\n        for (pbVar10 = local_28[0].\n                       super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n                       ._M_impl._M_start; pbVar10 != pbVar4; pbVar10 = pbVar10 + 1) {\n          pcVar2 = (pbVar10->_M_dataplus)._M_p;\n          if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n               *)pcVar2 != &pbVar10->field_2) {\n            operator_delete(pcVar2);\n          }\n          pbVar9 = local_28[0].\n                   super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n                   ._M_impl._M_start;\n        }\n      }" if (parenthesized_expression "(local_28[0].\n          super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n          ._M_impl._M_start ==\n          local_28[0].\n          super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n          ._M_impl._M_finish)" ( (ERROR "local_28[0].\n          super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n          ._M_impl._M_start ==\n          local_28[0].\n          super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::" (comma_expression "local_28[0].\n          super__Vector_base<std::__cxx11::basic_string<char,_std" (binary_expression "local_28[0].\n          super__Vector_base<std::__cxx11::basic_string<char" (binary_expression "local_28[0].\n          super__Vector_base<std" (field_expression "local_28[0].\n          super__Vector_base" (subscript_expression "local_28[0]" identifier [ number_literal ]) . field_identifier) < identifier) (ERROR "::__cxx11::basic_string" : : identifier : : identifier) < identifier) , identifier) : : (binary_expression "char_traits<char>,_std" (binary_expression "char_traits<char" identifier < identifier) > (ERROR "," ,) identifier) : : (binary_expression "allocator<char>_>,_std" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > (ERROR "," ,) identifier) : : (binary_expression "allocator<std" identifier < identifier) : : identifier : : (comma_expression "basic_string<char,_std" (binary_expression "basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char>,_std" (binary_expression "char_traits<char" identifier < identifier) > (ERROR "," ,) identifier) : : (binary_expression "allocator<char>_>_>_>\n          ._M_impl._M_start ==\n          local_28[0].\n          super__Vector_base<std" (field_expression "allocator<char>_>_>_>\n          ._M_impl._M_start" (field_expression "allocator<char>_>_>_>\n          ._M_impl" (binary_expression "allocator<char>_>_>_" (binary_expression "allocator<char>_>_" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > identifier) > identifier) (ERROR ">" >) . field_identifier) . field_identifier) == (binary_expression "local_28[0].\n          super__Vector_base<std" (field_expression "local_28[0].\n          super__Vector_base" (subscript_expression "local_28[0]" identifier [ number_literal ]) . field_identifier) < identifier)) : : identifier : : (comma_expression "basic_string<char,_std" (binary_expression "basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char>,_std" (binary_expression "char_traits<char" identifier < identifier) > (ERROR "," ,) identifier) : : (binary_expression "allocator<char>_>,_std" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > (ERROR "," ,) identifier) : : (binary_expression "allocator<std" identifier < identifier) : : identifier : : (comma_expression "basic_string<char,_std" (binary_expression "basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char>,_std" (binary_expression "char_traits<char" identifier < identifier) > (ERROR "," ,) identifier) : :) (field_expression "allocator<char>_>_>_>\n          ._M_impl._M_finish" (field_expression "allocator<char>_>_>_>\n          ._M_impl" (binary_expression "allocator<char>_>_>_" (binary_expression "allocator<char>_>_" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > identifier) > identifier) (ERROR ">" >) . field_identifier) . field_identifier) )) (compound_statement "{\n        pVVar6->is_base_ = false;\n        pVVar6->is_weak_ = false;\n        pVVar6->is_info_ = false;\n        pVVar6->is_symbol_created_ = false;\n        vd = pVVar6;\n      }" { (expression_statement "pVVar6->is_base_ = false;" (assignment_expression "pVVar6->is_base_ = false" (field_expression "pVVar6->is_base_" identifier -> field_identifier) = false) ;) (expression_statement "pVVar6->is_weak_ = false;" (assignment_expression "pVVar6->is_weak_ = false" (field_expression "pVVar6->is_weak_" identifier -> field_identifier) = false) ;) (expression_statement "pVVar6->is_info_ = false;" (assignment_expression "pVVar6->is_info_ = false" (field_expression "pVVar6->is_info_" identifier -> field_identifier) = false) ;) (expression_statement "pVVar6->is_symbol_created_ = false;" (assignment_expression "pVVar6->is_symbol_created_ = false" (field_expression "pVVar6->is_symbol_created_" identifier -> field_identifier) = false) ;) (expression_statement "vd = pVVar6;" (assignment_expression "vd = pVVar6" identifier = identifier) ;) }) (else_clause "else {\n        local_44 = local_50;\n        pbVar10 = local_28[0].\n                  super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n                  ._M_impl._M_start;\n        do {\n          (local_44->_M_dataplus)._M_p = (pointer)&local_44->field_2;\n          pcVar2 = (pbVar10->_M_dataplus)._M_p;\n                    /* try { // try from 00146984 to 00146988 has its CatchHandler @ 00146b65 */\n          std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n          _M_construct<char*>(local_44,pcVar2,pcVar2 + pbVar10->_M_string_length,0);\n          pbVar4 = local_28[0].\n                   super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n                   ._M_impl._M_finish;\n          pbVar10 = pbVar10 + 1;\n          local_44 = local_44 + 1;\n        } while (pbVar9 != pbVar10);\n        pVVar6->is_base_ = false;\n        pVVar6->is_weak_ = false;\n        pVVar6->is_info_ = false;\n        pVVar6->is_symbol_created_ = false;\n        (pVVar6->deps_).\n        super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n        ._M_impl._M_finish = local_44;\n        vd = pVVar6;\n        pbVar9 = local_28[0].\n                 super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n                 ._M_impl._M_finish;\n        for (pbVar10 = local_28[0].\n                       super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n                       ._M_impl._M_start; pbVar10 != pbVar4; pbVar10 = pbVar10 + 1) {\n          pcVar2 = (pbVar10->_M_dataplus)._M_p;\n          if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n               *)pcVar2 != &pbVar10->field_2) {\n            operator_delete(pcVar2);\n          }\n          pbVar9 = local_28[0].\n                   super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n                   ._M_impl._M_start;\n        }\n      }" else (compound_statement "{\n        local_44 = local_50;\n        pbVar10 = local_28[0].\n                  super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n                  ._M_impl._M_start;\n        do {\n          (local_44->_M_dataplus)._M_p = (pointer)&local_44->field_2;\n          pcVar2 = (pbVar10->_M_dataplus)._M_p;\n                    /* try { // try from 00146984 to 00146988 has its CatchHandler @ 00146b65 */\n          std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n          _M_construct<char*>(local_44,pcVar2,pcVar2 + pbVar10->_M_string_length,0);\n          pbVar4 = local_28[0].\n                   super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n                   ._M_impl._M_finish;\n          pbVar10 = pbVar10 + 1;\n          local_44 = local_44 + 1;\n        } while (pbVar9 != pbVar10);\n        pVVar6->is_base_ = false;\n        pVVar6->is_weak_ = false;\n        pVVar6->is_info_ = false;\n        pVVar6->is_symbol_created_ = false;\n        (pVVar6->deps_).\n        super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n        ._M_impl._M_finish = local_44;\n        vd = pVVar6;\n        pbVar9 = local_28[0].\n                 super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n                 ._M_impl._M_finish;\n        for (pbVar10 = local_28[0].\n                       super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n                       ._M_impl._M_start; pbVar10 != pbVar4; pbVar10 = pbVar10 + 1) {\n          pcVar2 = (pbVar10->_M_dataplus)._M_p;\n          if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n               *)pcVar2 != &pbVar10->field_2) {\n            operator_delete(pcVar2);\n          }\n          pbVar9 = local_28[0].\n                   super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n                   ._M_impl._M_start;\n        }\n      }" { (expression_statement "local_44 = local_50;" (assignment_expression "local_44 = local_50" identifier = identifier) ;) (ERROR "pbVar10 = local_28[0].\n                  super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::" (assignment_expression "pbVar10 = local_28[0].\n                  super__Vector_base<std" identifier = (binary_expression "local_28[0].\n                  super__Vector_base<std" (field_expression "local_28[0].\n                  super__Vector_base" (subscript_expression "local_28[0]" identifier [ number_literal ]) . field_identifier) < identifier)) : : (comma_expression "__cxx11::basic_string<char,_std::char_traits<char>,_std" identifier (ERROR "::basic_string<char,_std::char_traits<char>" : : (comma_expression "basic_string<char,_std" (binary_expression "basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char" identifier < identifier) >) , identifier) : : (binary_expression "allocator<char>_>,_std" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > (ERROR "," ,) identifier) : : (binary_expression "allocator<std" identifier < identifier) : : (comma_expression "__cxx11::basic_string<char,_std::char_traits<char>,_std" identifier (ERROR "::basic_string<char,_std::char_traits<char>" : : (comma_expression "basic_string<char,_std" (binary_expression "basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char" identifier < identifier) >) , identifier) : :) (expression_statement "allocator<char>_>_>_>\n                  ._M_impl._M_start;" (field_expression "allocator<char>_>_>_>\n                  ._M_impl._M_start" (field_expression "allocator<char>_>_>_>\n                  ._M_impl" (binary_expression "allocator<char>_>_>_" (binary_expression "allocator<char>_>_" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > identifier) > identifier) (ERROR ">" >) . field_identifier) . field_identifier) ;) (do_statement "do {\n          (local_44->_M_dataplus)._M_p = (pointer)&local_44->field_2;\n          pcVar2 = (pbVar10->_M_dataplus)._M_p;\n                    /* try { // try from 00146984 to 00146988 has its CatchHandler @ 00146b65 */\n          std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n          _M_construct<char*>(local_44,pcVar2,pcVar2 + pbVar10->_M_string_length,0);\n          pbVar4 = local_28[0].\n                   super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n                   ._M_impl._M_finish;\n          pbVar10 = pbVar10 + 1;\n          local_44 = local_44 + 1;\n        } while (pbVar9 != pbVar10);" do (compound_statement "{\n          (local_44->_M_dataplus)._M_p = (pointer)&local_44->field_2;\n          pcVar2 = (pbVar10->_M_dataplus)._M_p;\n                    /* try { // try from 00146984 to 00146988 has its CatchHandler @ 00146b65 */\n          std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n          _M_construct<char*>(local_44,pcVar2,pcVar2 + pbVar10->_M_string_length,0);\n          pbVar4 = local_28[0].\n                   super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n                   ._M_impl._M_finish;\n          pbVar10 = pbVar10 + 1;\n          local_44 = local_44 + 1;\n        }" { (expression_statement "(local_44->_M_dataplus)._M_p = (pointer)&local_44->field_2;" (assignment_expression "(local_44->_M_dataplus)._M_p = (pointer)&local_44->field_2" (field_expression "(local_44->_M_dataplus)._M_p" (parenthesized_expression "(local_44->_M_dataplus)" ( (field_expression "local_44->_M_dataplus" identifier -> field_identifier) )) . field_identifier) = (binary_expression "(pointer)&local_44->field_2" (parenthesized_expression "(pointer)" ( identifier )) & (field_expression "local_44->field_2" identifier -> field_identifier))) ;) (expression_statement "pcVar2 = (pbVar10->_M_dataplus)._M_p;" (assignment_expression "pcVar2 = (pbVar10->_M_dataplus)._M_p" identifier = (field_expression "(pbVar10->_M_dataplus)._M_p" (parenthesized_expression "(pbVar10->_M_dataplus)" ( (field_expression "pbVar10->_M_dataplus" identifier -> field_identifier) )) . field_identifier)) ;) comment (labeled_statement "std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n          _M_construct<char*>(local_44,pcVar2,pcVar2 + pbVar10->_M_string_length,0);" statement_identifier (ERROR "::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>:" : : (comma_expression "__cxx11::basic_string<char,_std::char_traits<char>,_std" identifier (ERROR "::basic_string<char,_std::char_traits<char>" : : (comma_expression "basic_string<char,_std" (binary_expression "basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char" identifier < identifier) >) , identifier) : : (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > :) : (expression_statement "_M_construct<char*>(local_44,pcVar2,pcVar2 + pbVar10->_M_string_length,0);" (binary_expression "_M_construct<char*>(local_44,pcVar2,pcVar2 + pbVar10->_M_string_length,0)" (binary_expression "_M_construct<char" identifier < identifier) (ERROR "*" *) > (parenthesized_expression "(local_44,pcVar2,pcVar2 + pbVar10->_M_string_length,0)" ( (comma_expression "local_44,pcVar2,pcVar2 + pbVar10->_M_string_length,0" identifier , (comma_expression "pcVar2,pcVar2 + pbVar10->_M_string_length,0" identifier , (comma_expression "pcVar2 + pbVar10->_M_string_length,0" (binary_expression "pcVar2 + pbVar10->_M_string_length" identifier + (field_expression "pbVar10->_M_string_length" identifier -> field_identifier)) , number_literal))) ))) ;)) (ERROR "pbVar4 = local_28[0].\n                   super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::" (assignment_expression "pbVar4 = local_28[0].\n                   super__Vector_base<std" identifier = (binary_expression "local_28[0].\n                   super__Vector_base<std" (field_expression "local_28[0].\n                   super__Vector_base" (subscript_expression "local_28[0]" identifier [ number_literal ]) . field_identifier) < identifier)) : : (comma_expression "__cxx11::basic_string<char,_std::char_traits<char>,_std" identifier (ERROR "::basic_string<char,_std::char_traits<char>" : : (comma_expression "basic_string<char,_std" (binary_expression "basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char" identifier < identifier) >) , identifier) : : (binary_expression "allocator<char>_>,_std" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > (ERROR "," ,) identifier) : : (binary_expression "allocator<std" identifier < identifier) : : (comma_expression "__cxx11::basic_string<char,_std::char_traits<char>,_std" identifier (ERROR "::basic_string<char,_std::char_traits<char>" : : (comma_expression "basic_string<char,_std" (binary_expression "basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char" identifier < identifier) >) , identifier) : :) (expression_statement "allocator<char>_>_>_>\n                   ._M_impl._M_finish;" (field_expression "allocator<char>_>_>_>\n                   ._M_impl._M_finish" (field_expression "allocator<char>_>_>_>\n                   ._M_impl" (binary_expression "allocator<char>_>_>_" (binary_expression "allocator<char>_>_" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > identifier) > identifier) (ERROR ">" >) . field_identifier) . field_identifier) ;) (expression_statement "pbVar10 = pbVar10 + 1;" (assignment_expression "pbVar10 = pbVar10 + 1" identifier = (binary_expression "pbVar10 + 1" identifier + number_literal)) ;) (expression_statement "local_44 = local_44 + 1;" (assignment_expression "local_44 = local_44 + 1" identifier = (binary_expression "local_44 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(pbVar9 != pbVar10)" ( (binary_expression "pbVar9 != pbVar10" identifier != identifier) )) ;) (expression_statement "pVVar6->is_base_ = false;" (assignment_expression "pVVar6->is_base_ = false" (field_expression "pVVar6->is_base_" identifier -> field_identifier) = false) ;) (expression_statement "pVVar6->is_weak_ = false;" (assignment_expression "pVVar6->is_weak_ = false" (field_expression "pVVar6->is_weak_" identifier -> field_identifier) = false) ;) (expression_statement "pVVar6->is_info_ = false;" (assignment_expression "pVVar6->is_info_ = false" (field_expression "pVVar6->is_info_" identifier -> field_identifier) = false) ;) (expression_statement "pVVar6->is_symbol_created_ = false;" (assignment_expression "pVVar6->is_symbol_created_ = false" (field_expression "pVVar6->is_symbol_created_" identifier -> field_identifier) = false) ;) (ERROR "(pVVar6->deps_).\n        super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::" (binary_expression "(pVVar6->deps_).\n        super__Vector_base<std" (field_expression "(pVVar6->deps_).\n        super__Vector_base" (parenthesized_expression "(pVVar6->deps_)" ( (field_expression "pVVar6->deps_" identifier -> field_identifier) )) . field_identifier) < identifier) : : (comma_expression "__cxx11::basic_string<char,_std::char_traits<char>,_std" identifier (ERROR "::basic_string<char,_std::char_traits<char>" : : (comma_expression "basic_string<char,_std" (binary_expression "basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char" identifier < identifier) >) , identifier) : : (binary_expression "allocator<char>_>,_std" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > (ERROR "," ,) identifier) : : (binary_expression "allocator<std" identifier < identifier) : : (comma_expression "__cxx11::basic_string<char,_std::char_traits<char>,_std" identifier (ERROR "::basic_string<char,_std::char_traits<char>" : : (comma_expression "basic_string<char,_std" (binary_expression "basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char" identifier < identifier) >) , identifier) : :) (expression_statement "allocator<char>_>_>_>\n        ._M_impl._M_finish = local_44;" (assignment_expression "allocator<char>_>_>_>\n        ._M_impl._M_finish = local_44" (field_expression "allocator<char>_>_>_>\n        ._M_impl._M_finish" (field_expression "allocator<char>_>_>_>\n        ._M_impl" (binary_expression "allocator<char>_>_>_" (binary_expression "allocator<char>_>_" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > identifier) > identifier) (ERROR ">" >) . field_identifier) . field_identifier) = identifier) ;) (expression_statement "vd = pVVar6;" (assignment_expression "vd = pVVar6" identifier = identifier) ;) (ERROR "pbVar9 = local_28[0].\n                 super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::" (assignment_expression "pbVar9 = local_28[0].\n                 super__Vector_base<std" identifier = (binary_expression "local_28[0].\n                 super__Vector_base<std" (field_expression "local_28[0].\n                 super__Vector_base" (subscript_expression "local_28[0]" identifier [ number_literal ]) . field_identifier) < identifier)) : : (comma_expression "__cxx11::basic_string<char,_std::char_traits<char>,_std" identifier (ERROR "::basic_string<char,_std::char_traits<char>" : : (comma_expression "basic_string<char,_std" (binary_expression "basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char" identifier < identifier) >) , identifier) : : (binary_expression "allocator<char>_>,_std" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > (ERROR "," ,) identifier) : : (binary_expression "allocator<std" identifier < identifier) : : (comma_expression "__cxx11::basic_string<char,_std::char_traits<char>,_std" identifier (ERROR "::basic_string<char,_std::char_traits<char>" : : (comma_expression "basic_string<char,_std" (binary_expression "basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char" identifier < identifier) >) , identifier) : :) (expression_statement "allocator<char>_>_>_>\n                 ._M_impl._M_finish;" (field_expression "allocator<char>_>_>_>\n                 ._M_impl._M_finish" (field_expression "allocator<char>_>_>_>\n                 ._M_impl" (binary_expression "allocator<char>_>_>_" (binary_expression "allocator<char>_>_" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > identifier) > identifier) (ERROR ">" >) . field_identifier) . field_identifier) ;) (for_statement "for (pbVar10 = local_28[0].\n                       super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n                       ._M_impl._M_start; pbVar10 != pbVar4; pbVar10 = pbVar10 + 1) {\n          pcVar2 = (pbVar10->_M_dataplus)._M_p;\n          if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n               *)pcVar2 != &pbVar10->field_2) {\n            operator_delete(pcVar2);\n          }\n          pbVar9 = local_28[0].\n                   super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n                   ._M_impl._M_start;\n        }" for ( (ERROR "pbVar10 = local_28[0].\n                       super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<" (comma_expression "pbVar10 = local_28[0].\n                       super__Vector_base<std::__cxx11::basic_string<char,_std" (binary_expression "pbVar10 = local_28[0].\n                       super__Vector_base<std::__cxx11::basic_string<char" (assignment_expression "pbVar10 = local_28[0].\n                       super__Vector_base<std" identifier = (binary_expression "local_28[0].\n                       super__Vector_base<std" (field_expression "local_28[0].\n                       super__Vector_base" (subscript_expression "local_28[0]" identifier [ number_literal ]) . field_identifier) < identifier)) (ERROR "::__cxx11::basic_string" : : identifier : : identifier) < identifier) , identifier) : : (binary_expression "char_traits<char>,_std" (binary_expression "char_traits<char" identifier < identifier) > (ERROR "," ,) identifier) : : (binary_expression "allocator<char>_>,_std" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > (ERROR "," ,) identifier) : : (binary_expression "allocator<std" identifier < identifier) : : type_identifier (ERROR "::" : :) identifier < primitive_type (ERROR ",_std::" , identifier : :) identifier < primitive_type (ERROR ">,_std::" > , identifier : :) identifier <) (declaration "char>_>_>_>\n                       ._M_impl._M_start;" primitive_type (ERROR ">_>_>_>\n                       ._M_impl." > identifier > identifier > identifier > . identifier .) identifier ;) (binary_expression "pbVar10 != pbVar4" identifier != identifier) ; (assignment_expression "pbVar10 = pbVar10 + 1" identifier = (binary_expression "pbVar10 + 1" identifier + number_literal)) ) (compound_statement "{\n          pcVar2 = (pbVar10->_M_dataplus)._M_p;\n          if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n               *)pcVar2 != &pbVar10->field_2) {\n            operator_delete(pcVar2);\n          }\n          pbVar9 = local_28[0].\n                   super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n                   ._M_impl._M_start;\n        }" { (expression_statement "pcVar2 = (pbVar10->_M_dataplus)._M_p;" (assignment_expression "pcVar2 = (pbVar10->_M_dataplus)._M_p" identifier = (field_expression "(pbVar10->_M_dataplus)._M_p" (parenthesized_expression "(pbVar10->_M_dataplus)" ( (field_expression "pbVar10->_M_dataplus" identifier -> field_identifier) )) . field_identifier)) ;) (if_statement "if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n               *)pcVar2 != &pbVar10->field_2) {\n            operator_delete(pcVar2);\n          }" if (parenthesized_expression "((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n               *)pcVar2 != &pbVar10->field_2)" ( (parenthesized_expression "(anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n               *)pcVar2 != &pbVar10->field_2)" ( (ERROR "anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::" (comma_expression "anon_union_16_2_edb7204a_for_basic_string<char,_std" (binary_expression "anon_union_16_2_edb7204a_for_basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char>,_std" (binary_expression "char_traits<char" identifier < identifier) > (ERROR "," ,) identifier) : :) (binary_expression "allocator<char>_>_9\n               *)pcVar2 != &pbVar10->field_2" (binary_expression "allocator<char>_>_9\n               *)pcVar2" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > (binary_expression "_9\n               *)pcVar2" identifier * (ERROR ")" )) identifier)) != (pointer_expression "&pbVar10->field_2" & (field_expression "pbVar10->field_2" identifier -> field_identifier))) )) )) (compound_statement "{\n            operator_delete(pcVar2);\n          }" { (expression_statement "operator_delete(pcVar2);" (call_expression "operator_delete(pcVar2)" identifier (argument_list "(pcVar2)" ( identifier ))) ;) })) (ERROR "pbVar9 = local_28[0].\n                   super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::" (assignment_expression "pbVar9 = local_28[0].\n                   super__Vector_base<std" identifier = (binary_expression "local_28[0].\n                   super__Vector_base<std" (field_expression "local_28[0].\n                   super__Vector_base" (subscript_expression "local_28[0]" identifier [ number_literal ]) . field_identifier) < identifier)) : : (comma_expression "__cxx11::basic_string<char,_std::char_traits<char>,_std" identifier (ERROR "::basic_string<char,_std::char_traits<char>" : : (comma_expression "basic_string<char,_std" (binary_expression "basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char" identifier < identifier) >) , identifier) : : (binary_expression "allocator<char>_>,_std" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > (ERROR "," ,) identifier) : : (binary_expression "allocator<std" identifier < identifier) : : (comma_expression "__cxx11::basic_string<char,_std::char_traits<char>,_std" identifier (ERROR "::basic_string<char,_std::char_traits<char>" : : (comma_expression "basic_string<char,_std" (binary_expression "basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char" identifier < identifier) >) , identifier) : :) (expression_statement "allocator<char>_>_>_>\n                   ._M_impl._M_start;" (field_expression "allocator<char>_>_>_>\n                   ._M_impl._M_start" (field_expression "allocator<char>_>_>_>\n                   ._M_impl" (binary_expression "allocator<char>_>_>_" (binary_expression "allocator<char>_>_" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > identifier) > identifier) (ERROR ">" >) . field_identifier) . field_identifier) ;) })) }))) (if_statement "if (pbVar9 != (pointer)0x0) {\n        operator_delete(pbVar9);\n      }" if (parenthesized_expression "(pbVar9 != (pointer)0x0)" ( (binary_expression "pbVar9 != (pointer)0x0" identifier != (cast_expression "(pointer)0x0" ( (type_descriptor "pointer" type_identifier) ) number_literal)) )) (compound_statement "{\n        operator_delete(pbVar9);\n      }" { (expression_statement "operator_delete(pbVar9);" (call_expression "operator_delete(pbVar9)" identifier (argument_list "(pbVar9)" ( identifier ))) ;) })) (expression_statement "__position._M_current =\n           (this->defs_).super__Vector_base<gold::Verdef*,_std::allocator<gold::Verdef*>_>._M_impl.\n           _M_finish;" (field_expression "__position._M_current =\n           (this->defs_).super__Vector_base<gold::Verdef*,_std::allocator<gold::Verdef*>_>._M_impl.\n           _M_finish" (field_expression "__position._M_current =\n           (this->defs_).super__Vector_base<gold::Verdef*,_std::allocator<gold::Verdef*>_>._M_impl" (binary_expression "__position._M_current =\n           (this->defs_).super__Vector_base<gold::Verdef*,_std::allocator<gold::Verdef*>_" (binary_expression "__position._M_current =\n           (this->defs_).super__Vector_base<gold::Verdef*,_std::allocator<gold" (binary_expression "__position._M_current =\n           (this->defs_).super__Vector_base<gold::Verdef*,_std" (assignment_expression "__position._M_current =\n           (this->defs_).super__Vector_base<gold" (field_expression "__position._M_current" identifier . field_identifier) = (binary_expression "(this->defs_).super__Vector_base<gold" (field_expression "(this->defs_).super__Vector_base" (parenthesized_expression "(this->defs_)" ( (field_expression "this->defs_" identifier -> field_identifier) )) . field_identifier) < identifier)) (ERROR "::Verdef" : : identifier) * (ERROR "," ,) identifier) (ERROR "::allocator" : : identifier) < identifier) (ERROR "::Verdef" : : identifier) * (ERROR ">" >) identifier) (ERROR ">" >) . field_identifier) . field_identifier) ;) (if_statement "if (__position._M_current ==\n          (this->defs_).super__Vector_base<gold::Verdef*,_std::allocator<gold::Verdef*>_>._M_impl.\n          _M_end_of_storage) {\n        std::vector<gold::Verdef*,_std::allocator<gold::Verdef*>_>::\n        _M_realloc_insert<gold::Verdef*_const&>(&this->defs_,__position,&vd);\n      }\n      else {\n        *__position._M_current = vd;\n        (this->defs_).super__Vector_base<gold::Verdef*,_std::allocator<gold::Verdef*>_>._M_impl.\n        _M_finish = __position._M_current + 1;\n      }" if (parenthesized_expression "(__position._M_current ==\n          (this->defs_).super__Vector_base<gold::Verdef*,_std::allocator<gold::Verdef*>_>._M_impl.\n          _M_end_of_storage)" ( (field_expression "__position._M_current ==\n          (this->defs_).super__Vector_base<gold::Verdef*,_std::allocator<gold::Verdef*>_>._M_impl.\n          _M_end_of_storage" (field_expression "__position._M_current ==\n          (this->defs_).super__Vector_base<gold::Verdef*,_std::allocator<gold::Verdef*>_>._M_impl" (binary_expression "__position._M_current ==\n          (this->defs_).super__Vector_base<gold::Verdef*,_std::allocator<gold::Verdef*>_" (binary_expression "__position._M_current ==\n          (this->defs_).super__Vector_base<gold::Verdef*,_std::allocator<gold" (binary_expression "__position._M_current ==\n          (this->defs_).super__Vector_base<gold::Verdef*,_std" (binary_expression "__position._M_current ==\n          (this->defs_).super__Vector_base<gold" (field_expression "__position._M_current" identifier . field_identifier) == (binary_expression "(this->defs_).super__Vector_base<gold" (field_expression "(this->defs_).super__Vector_base" (parenthesized_expression "(this->defs_)" ( (field_expression "this->defs_" identifier -> field_identifier) )) . field_identifier) < identifier)) (ERROR "::Verdef" : : identifier) * (ERROR "," ,) identifier) (ERROR "::allocator" : : identifier) < identifier) (ERROR "::Verdef" : : identifier) * (ERROR ">" >) identifier) (ERROR ">" >) . field_identifier) . field_identifier) )) (compound_statement "{\n        std::vector<gold::Verdef*,_std::allocator<gold::Verdef*>_>::\n        _M_realloc_insert<gold::Verdef*_const&>(&this->defs_,__position,&vd);\n      }" { (ERROR "std::vector<gold::Verdef*,_std::allocator<gold::Verdef*>_>::\n        _M_realloc_insert<gold::" (comma_expression "std::vector<gold::Verdef*,_std" identifier (ERROR "::vector<gold::Verdef*" : : (binary_expression "vector<gold" identifier < identifier) : : identifier *) , identifier) : : (binary_expression "allocator<gold" identifier < identifier) : : (binary_expression "Verdef*>_>::\n        _M_realloc_insert<gold" (binary_expression "Verdef*>_>::\n        _M_realloc_insert" (binary_expression "Verdef*>_" identifier * (ERROR ">" >) identifier) > (ERROR "::" : :) identifier) < identifier) : :) (expression_statement "Verdef*_const&>(&this->defs_,__position,&vd);" (binary_expression "Verdef*_const&>(&this->defs_,__position,&vd)" (binary_expression "Verdef*_const" identifier * identifier) (ERROR "&" &) > (parenthesized_expression "(&this->defs_,__position,&vd)" ( (comma_expression "&this->defs_,__position,&vd" (pointer_expression "&this->defs_" & (field_expression "this->defs_" identifier -> field_identifier)) , (comma_expression "__position,&vd" identifier , (pointer_expression "&vd" & identifier))) ))) ;) }) (else_clause "else {\n        *__position._M_current = vd;\n        (this->defs_).super__Vector_base<gold::Verdef*,_std::allocator<gold::Verdef*>_>._M_impl.\n        _M_finish = __position._M_current + 1;\n      }" else (compound_statement "{\n        *__position._M_current = vd;\n        (this->defs_).super__Vector_base<gold::Verdef*,_std::allocator<gold::Verdef*>_>._M_impl.\n        _M_finish = __position._M_current + 1;\n      }" { (expression_statement "*__position._M_current = vd;" (assignment_expression "*__position._M_current = vd" (pointer_expression "*__position._M_current" * (field_expression "__position._M_current" identifier . field_identifier)) = identifier) ;) (expression_statement "(this->defs_).super__Vector_base<gold::Verdef*,_std::allocator<gold::Verdef*>_>._M_impl.\n        _M_finish = __position._M_current + 1;" (assignment_expression "(this->defs_).super__Vector_base<gold::Verdef*,_std::allocator<gold::Verdef*>_>._M_impl.\n        _M_finish = __position._M_current + 1" (field_expression "(this->defs_).super__Vector_base<gold::Verdef*,_std::allocator<gold::Verdef*>_>._M_impl.\n        _M_finish" (field_expression "(this->defs_).super__Vector_base<gold::Verdef*,_std::allocator<gold::Verdef*>_>._M_impl" (binary_expression "(this->defs_).super__Vector_base<gold::Verdef*,_std::allocator<gold::Verdef*>_" (binary_expression "(this->defs_).super__Vector_base<gold::Verdef*,_std::allocator<gold" (binary_expression "(this->defs_).super__Vector_base<gold::Verdef*,_std" (binary_expression "(this->defs_).super__Vector_base<gold" (field_expression "(this->defs_).super__Vector_base" (parenthesized_expression "(this->defs_)" ( (field_expression "this->defs_" identifier -> field_identifier) )) . field_identifier) < identifier) (ERROR "::Verdef" : : identifier) * (ERROR "," ,) identifier) (ERROR "::allocator" : : identifier) < identifier) (ERROR "::Verdef" : : identifier) * (ERROR ">" >) identifier) (ERROR ">" >) . field_identifier) . field_identifier) = (binary_expression "__position._M_current + 1" (field_expression "__position._M_current" identifier . field_identifier) + number_literal)) ;) }))) (expression_statement "pVVar6 = vd;" (assignment_expression "pVVar6 = vd" identifier = identifier) ;) (expression_statement "KVar3 = version_key;" (assignment_expression "KVar3 = version_key" identifier = identifier) ;) comment (expression_statement "__n_elt = (undefined4 *)operator_new(0x14);" (assignment_expression "__n_elt = (undefined4 *)operator_new(0x14)" identifier = (cast_expression "(undefined4 *)operator_new(0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "operator_new(0x14)" identifier (argument_list "(0x14)" ( number_literal ))))) ;) (ERROR "local_28[0].\n      super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::" (binary_expression "local_28[0].\n      super__Vector_base<std" (field_expression "local_28[0].\n      super__Vector_base" (subscript_expression "local_28[0]" identifier [ number_literal ]) . field_identifier) < identifier) : : (comma_expression "__cxx11::basic_string<char,_std::char_traits<char>,_std" identifier (ERROR "::basic_string<char,_std::char_traits<char>" : : (comma_expression "basic_string<char,_std" (binary_expression "basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char" identifier < identifier) >) , identifier) : : (binary_expression "allocator<char>_>,_std" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > (ERROR "," ,) identifier) : : (binary_expression "allocator<std" identifier < identifier) : : (comma_expression "__cxx11::basic_string<char,_std::char_traits<char>,_std" identifier (ERROR "::basic_string<char,_std::char_traits<char>" : : (comma_expression "basic_string<char,_std" (binary_expression "basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char" identifier < identifier) >) , identifier) : :) (expression_statement "allocator<char>_>_>_>\n      ._M_impl._M_finish = (pointer)0x0;" (assignment_expression "allocator<char>_>_>_>\n      ._M_impl._M_finish = (pointer)0x0" (field_expression "allocator<char>_>_>_>\n      ._M_impl._M_finish" (field_expression "allocator<char>_>_>_>\n      ._M_impl" (binary_expression "allocator<char>_>_>_" (binary_expression "allocator<char>_>_" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > identifier) > identifier) (ERROR ">" >) . field_identifier) . field_identifier) = (cast_expression "(pointer)0x0" ( (type_descriptor "pointer" type_identifier) ) number_literal)) ;) (expression_statement "*__n_elt = 0;" (assignment_expression "*__n_elt = 0" (pointer_expression "*__n_elt" * identifier) = number_literal) ;) (ERROR "local_28[0].\n      super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::" (binary_expression "local_28[0].\n      super__Vector_base<std" (field_expression "local_28[0].\n      super__Vector_base" (subscript_expression "local_28[0]" identifier [ number_literal ]) . field_identifier) < identifier) : : (comma_expression "__cxx11::basic_string<char,_std::char_traits<char>,_std" identifier (ERROR "::basic_string<char,_std::char_traits<char>" : : (comma_expression "basic_string<char,_std" (binary_expression "basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char" identifier < identifier) >) , identifier) : : (binary_expression "allocator<char>_>,_std" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > (ERROR "," ,) identifier) : : (binary_expression "allocator<std" identifier < identifier) : : (comma_expression "__cxx11::basic_string<char,_std::char_traits<char>,_std" identifier (ERROR "::basic_string<char,_std::char_traits<char>" : : (comma_expression "basic_string<char,_std" (binary_expression "basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char" identifier < identifier) >) , identifier) : :) (expression_statement "allocator<char>_>_>_>\n      ._M_impl._M_start = (pointer)KVar3;" (assignment_expression "allocator<char>_>_>_>\n      ._M_impl._M_start = (pointer)KVar3" (field_expression "allocator<char>_>_>_>\n      ._M_impl._M_start" (field_expression "allocator<char>_>_>_>\n      ._M_impl" (binary_expression "allocator<char>_>_>_" (binary_expression "allocator<char>_>_" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > identifier) > identifier) (ERROR ">" >) . field_identifier) . field_identifier) = (cast_expression "(pointer)KVar3" ( (type_descriptor "pointer" type_identifier) ) identifier)) ;) (expression_statement "__n_elt[2] = 0;" (assignment_expression "__n_elt[2] = 0" (subscript_expression "__n_elt[2]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "__node = (__node_type *)(KVar3 + __n_elt[2]);" (assignment_expression "__node = (__node_type *)(KVar3 + __n_elt[2])" identifier = (cast_expression "(__node_type *)(KVar3 + __n_elt[2])" ( (type_descriptor "__node_type *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(KVar3 + __n_elt[2])" ( (binary_expression "KVar3 + __n_elt[2]" identifier + (subscript_expression "__n_elt[2]" identifier [ number_literal ])) )))) ;) (expression_statement "__n_elt[3] = pVVar6;" (assignment_expression "__n_elt[3] = pVVar6" (subscript_expression "__n_elt[3]" identifier [ number_literal ]) = identifier) ;) (expression_statement "__n_elt[1] = KVar3;" (assignment_expression "__n_elt[1] = KVar3" (subscript_expression "__n_elt[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "uVar5 = (uint)__node % (this->version_table_)._M_h._M_bucket_count;" (assignment_expression "uVar5 = (uint)__node % (this->version_table_)._M_h._M_bucket_count" identifier = (binary_expression "(uint)__node % (this->version_table_)._M_h._M_bucket_count" (cast_expression "(uint)__node" ( (type_descriptor "uint" type_identifier) ) identifier) % (field_expression "(this->version_table_)._M_h._M_bucket_count" (field_expression "(this->version_table_)._M_h" (parenthesized_expression "(this->version_table_)" ( (field_expression "this->version_table_" identifier -> field_identifier) )) . field_identifier) . field_identifier))) ;) (ERROR "p_Var8 = std::\n               _Hashtable<std::pair<unsigned_int,_unsigned_int>,_std::pair<const_std::pair<unsigned_int,_unsigned_int>,_gold::Version_base*>,_std::allocator<std::pair<const_std::pair<unsigned_int,_unsigned_int>,_gold::Version_base*>_>,_std::" (assignment_expression "p_Var8 = std" identifier = identifier) : : (binary_expression "_Hashtable<std" identifier < identifier) : : (comma_expression "pair<unsigned_int,_unsigned_int>,_std" (binary_expression "pair<unsigned_int" identifier < identifier) , (binary_expression "_unsigned_int>,_std" identifier > (ERROR "," ,) identifier)) : : (binary_expression "pair<const_std" identifier < identifier) : : (comma_expression "pair<unsigned_int,_unsigned_int>,_gold" (binary_expression "pair<unsigned_int" identifier < identifier) , (binary_expression "_unsigned_int>,_gold" identifier > (ERROR "," ,) identifier)) : : (comma_expression "Version_base*>,_std" identifier (ERROR "*>" * >) , identifier) : : (binary_expression "allocator<std" identifier < identifier) : : (binary_expression "pair<const_std" identifier < identifier) : : (comma_expression "pair<unsigned_int,_unsigned_int>,_gold" (binary_expression "pair<unsigned_int" identifier < identifier) , (binary_expression "_unsigned_int>,_gold" identifier > (ERROR "," ,) identifier)) : : (binary_expression "Version_base*>_>,_std" (binary_expression "Version_base*>_" identifier * (ERROR ">" >) identifier) > (ERROR "," ,) identifier) : :) (labeled_statement "__detail::_Select1st,_gold::Versions::Version_table_eq,_gold::Versions::Version_table_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<std::pair<unsigned_int,_unsigned_int>,_std::pair<const_std::pair<unsigned_int,_unsigned_int>,_gold::Version_base*>,_std::allocator<std::pair<const_std::pair<unsigned_int,_unsigned_int>,_gold::Version_base*>_>,_std::__detail::_Select1st,_gold::Versions::Version_table_eq,_gold::Versions::Version_table_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n                           *)&this->version_table_,uVar5,(key_type *)(__n_elt + 1),\n                          (__hash_code)__node);" statement_identifier (ERROR "::_Select1st,_gold:" : : (comma_expression "_Select1st,_gold" identifier , identifier) :) : (labeled_statement "Versions::Version_table_eq,_gold::Versions::Version_table_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<std::pair<unsigned_int,_unsigned_int>,_std::pair<const_std::pair<unsigned_int,_unsigned_int>,_gold::Version_base*>,_std::allocator<std::pair<const_std::pair<unsigned_int,_unsigned_int>,_gold::Version_base*>_>,_std::__detail::_Select1st,_gold::Versions::Version_table_eq,_gold::Versions::Version_table_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n                           *)&this->version_table_,uVar5,(key_type *)(__n_elt + 1),\n                          (__hash_code)__node);" statement_identifier (ERROR "::Version_table_eq,_gold:" : : (comma_expression "Version_table_eq,_gold" identifier , identifier) :) : (labeled_statement "Versions::Version_table_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<std::pair<unsigned_int,_unsigned_int>,_std::pair<const_std::pair<unsigned_int,_unsigned_int>,_gold::Version_base*>,_std::allocator<std::pair<const_std::pair<unsigned_int,_unsigned_int>,_gold::Version_base*>_>,_std::__detail::_Select1st,_gold::Versions::Version_table_eq,_gold::Versions::Version_table_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n                           *)&this->version_table_,uVar5,(key_type *)(__n_elt + 1),\n                          (__hash_code)__node);" statement_identifier (ERROR "::Version_table_hash,_std:" : : (comma_expression "Version_table_hash,_std" 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               ::_M_find_before_node\n                         ((_Hashtable<std::pair<unsigned_int,_unsigned_int>,_std::pair<const_std::pair<unsigned_int,_unsigned_int>,_gold::Version_base*>,_std::allocator<std::pair<const_std::pair<unsigned_int,_unsigned_int>,_gold::Version_base*>_>,_std::__detail::_Select1st,_gold::Versions::Version_table_eq,_gold::Versions::Version_table_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n                           *)&this->version_table_,uVar5,(key_type *)(__n_elt + 1),\n                          (__hash_code)__node);" 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               ::_M_find_before_node\n                         ((_Hashtable<std::pair<unsigned_int,_unsigned_int>,_std::pair<const_std::pair<unsigned_int,_unsigned_int>,_gold::Version_base*>,_std::allocator<std::pair<const_std::pair<unsigned_int,_unsigned_int>,_gold::Version_base*>_>,_std::__detail::_Select1st,_gold::Versions::Version_table_eq,_gold::Versions::Version_table_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n                           *)&this->version_table_,uVar5,(key_type *)(__n_elt + 1),\n                          (__hash_code)__node);" 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               ::_M_find_before_node\n                         ((_Hashtable<std::pair<unsigned_int,_unsigned_int>,_std::pair<const_std::pair<unsigned_int,_unsigned_int>,_gold::Version_base*>,_std::allocator<std::pair<const_std::pair<unsigned_int,_unsigned_int>,_gold::Version_base*>_>,_std::__detail::_Select1st,_gold::Versions::Version_table_eq,_gold::Versions::Version_table_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n                           *)&this->version_table_,uVar5,(key_type *)(__n_elt + 1),\n                          (__hash_code)__node);" statement_identifier (ERROR "::_Prime_rehash_policy,_std:" : : (comma_expression "_Prime_rehash_policy,_std" identifier , identifier) :) : (labeled_statement "__detail::_Hashtable_traits<true,_false,_true>_>\n               ::_M_find_before_node\n                         ((_Hashtable<std::pair<unsigned_int,_unsigned_int>,_std::pair<const_std::pair<unsigned_int,_unsigned_int>,_gold::Version_base*>,_std::allocator<std::pair<const_std::pair<unsigned_int,_unsigned_int>,_gold::Version_base*>_>,_std::__detail::_Select1st,_gold::Versions::Version_table_eq,_gold::Versions::Version_table_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n                           *)&this->version_table_,uVar5,(key_type *)(__n_elt + 1),\n                          (__hash_code)__node);" statement_identifier : (ERROR ":" :) (expression_statement "_Hashtable_traits<true,_false,_true>_>\n               ::_M_find_before_node\n                         ((_Hashtable<std::pair<unsigned_int,_unsigned_int>,_std::pair<const_std::pair<unsigned_int,_unsigned_int>,_gold::Version_base*>,_std::allocator<std::pair<const_std::pair<unsigned_int,_unsigned_int>,_gold::Version_base*>_>,_std::__detail::_Select1st,_gold::Versions::Version_table_eq,_gold::Versions::Version_table_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n                           *)&this->version_table_,uVar5,(key_type *)(__n_elt + 1),\n                          (__hash_code)__node);" (comma_expression "_Hashtable_traits<true,_false,_true>_>\n               ::_M_find_before_node\n                         ((_Hashtable<std::pair<unsigned_int,_unsigned_int>,_std::pair<const_std::pair<unsigned_int,_unsigned_int>,_gold::Version_base*>,_std::allocator<std::pair<const_std::pair<unsigned_int,_unsigned_int>,_gold::Version_base*>_>,_std::__detail::_Select1st,_gold::Versions::Version_table_eq,_gold::Versions::Version_table_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n                           *)&this->version_table_,uVar5,(key_type *)(__n_elt + 1),\n                          (__hash_code)__node)" (binary_expression "_Hashtable_traits<true" identifier < true) , (comma_expression "_false,_true>_>\n               ::_M_find_before_node\n                         ((_Hashtable<std::pair<unsigned_int,_unsigned_int>,_std::pair<const_std::pair<unsigned_int,_unsigned_int>,_gold::Version_base*>,_std::allocator<std::pair<const_std::pair<unsigned_int,_unsigned_int>,_gold::Version_base*>_>,_std::__detail::_Select1st,_gold::Versions::Version_table_eq,_gold::Versions::Version_table_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n                           *)&this->version_table_,uVar5,(key_type *)(__n_elt + 1),\n                          (__hash_code)__node)" identifier , (binary_expression "_true>_>\n               ::_M_find_before_node\n                         ((_Hashtable<std::pair<unsigned_int,_unsigned_int>,_std::pair<const_std::pair<unsigned_int,_unsigned_int>,_gold::Version_base*>,_std::allocator<std::pair<const_std::pair<unsigned_int,_unsigned_int>,_gold::Version_base*>_>,_std::__detail::_Select1st,_gold::Versions::Version_table_eq,_gold::Versions::Version_table_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n                           *)&this->version_table_,uVar5,(key_type *)(__n_elt + 1),\n                          (__hash_code)__node)" (binary_expression "_true>_" identifier > identifier) > (ERROR "::" : :) (call_expression "_M_find_before_node\n                         ((_Hashtable<std::pair<unsigned_int,_unsigned_int>,_std::pair<const_std::pair<unsigned_int,_unsigned_int>,_gold::Version_base*>,_std::allocator<std::pair<const_std::pair<unsigned_int,_unsigned_int>,_gold::Version_base*>_>,_std::__detail::_Select1st,_gold::Versions::Version_table_eq,_gold::Versions::Version_table_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n                           *)&this->version_table_,uVar5,(key_type *)(__n_elt + 1),\n                          (__hash_code)__node)" identifier (argument_list "((_Hashtable<std::pair<unsigned_int,_unsigned_int>,_std::pair<const_std::pair<unsigned_int,_unsigned_int>,_gold::Version_base*>,_std::allocator<std::pair<const_std::pair<unsigned_int,_unsigned_int>,_gold::Version_base*>_>,_std::__detail::_Select1st,_gold::Versions::Version_table_eq,_gold::Versions::Version_table_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n                           *)&this->version_table_,uVar5,(key_type *)(__n_elt + 1),\n                          (__hash_code)__node)" ( (binary_expression "(_Hashtable<std::pair<unsigned_int,_unsigned_int>,_std::pair<const_std::pair<unsigned_int,_unsigned_int>,_gold::Version_base*>,_std::allocator<std::pair<const_std::pair<unsigned_int,_unsigned_int>,_gold::Version_base*>_>,_std::__detail::_Select1st,_gold::Versions::Version_table_eq,_gold::Versions::Version_table_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n                           *)&this->version_table_" (parenthesized_expression "(_Hashtable<std::pair<unsigned_int,_unsigned_int>,_std::pair<const_std::pair<unsigned_int,_unsigned_int>,_gold::Version_base*>,_std::allocator<std::pair<const_std::pair<unsigned_int,_unsigned_int>,_gold::Version_base*>_>,_std::__detail::_Select1st,_gold::Versions::Version_table_eq,_gold::Versions::Version_table_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n                           *)" ( (ERROR "_Hashtable<std::pair<unsigned_int,_unsigned_int>,_std::pair<const_std::pair<unsigned_int,_unsigned_int>,_gold::Version_base*>,_std::allocator<std::pair<const_std::pair<unsigned_int,_unsigned_int>,_gold::Version_base*>_>,_std::__detail::_Select1st,_gold::Versions::Version_table_eq,_gold::Versions::Version_table_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::" (comma_expression "_Hashtable<std::pair<unsigned_int,_unsigned_int>,_std" (binary_expression "_Hashtable<std::pair<unsigned_int" (binary_expression "_Hashtable<std" identifier < identifier) (ERROR "::pair" : : identifier) < identifier) , (binary_expression "_unsigned_int>,_std" identifier > (ERROR "," ,) identifier)) : : (binary_expression "pair<const_std" identifier < identifier) : : (comma_expression "pair<unsigned_int,_unsigned_int>,_gold" (binary_expression "pair<unsigned_int" identifier < identifier) , (binary_expression "_unsigned_int>,_gold" identifier > (ERROR "," ,) identifier)) : : (comma_expression "Version_base*>,_std" identifier (ERROR "*>" * >) , identifier) : : (binary_expression "allocator<std" identifier < identifier) : : (binary_expression "pair<const_std" identifier < identifier) : : (comma_expression "pair<unsigned_int,_unsigned_int>,_gold" (binary_expression "pair<unsigned_int" identifier < identifier) , (binary_expression "_unsigned_int>,_gold" identifier > (ERROR "," ,) identifier)) : : (binary_expression "Version_base*>_>,_std" (binary_expression "Version_base*>_" identifier * (ERROR ">" >) identifier) > (ERROR "," ,) identifier) : : identifier : : (comma_expression "_Select1st,_gold" identifier , identifier) : : identifier : : (comma_expression "Version_table_eq,_gold" identifier , identifier) : : identifier : : (comma_expression "Version_table_hash,_std" 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                           *" (binary_expression "_Hashtable_traits<true" identifier < true) , (comma_expression "_false,_true>_>\n                           *" identifier , (binary_expression "_true>_>\n                           *" (binary_expression "_true>_" identifier > identifier) > (pointer_expression "*" * identifier)))) )) & (field_expression "this->version_table_" identifier -> field_identifier)) , identifier , (cast_expression "(key_type *)(__n_elt + 1)" ( (type_descriptor "key_type *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(__n_elt + 1)" ( (binary_expression "__n_elt + 1" identifier + number_literal) ))) , (cast_expression "(__hash_code)__node" ( (type_descriptor "__hash_code" type_identifier) ) identifier) )))))) ;)))))))) (if_statement "if ((p_Var8 == (__node_base *)0x0) || (p_Var8->_M_nxt == (_Hash_node_base *)0x0)) {\n        std::\n        _Hashtable<std::pair<unsigned_int,_unsigned_int>,_std::pair<const_std::pair<unsigned_int,_unsigned_int>,_gold::Version_base*>,_std::allocator<std::pair<const_std::pair<unsigned_int,_unsigned_int>,_gold::Version_base*>_>,_std::__detail::_Select1st,_gold::Versions::Version_table_eq,_gold::Versions::Version_table_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_insert_unique_node\n                  ((_Hashtable<std::pair<unsigned_int,_unsigned_int>,_std::pair<const_std::pair<unsigned_int,_unsigned_int>,_gold::Version_base*>,_std::allocator<std::pair<const_std::pair<unsigned_int,_unsigned_int>,_gold::Version_base*>_>,_std::__detail::_Select1st,_gold::Versions::Version_table_eq,_gold::Versions::Version_table_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n                    *)local_40,(size_type)&this->version_table_,uVar5,__node,(size_type)__n_elt);\n      }\n      else {\n        operator_delete(__n_elt);\n      }" if (parenthesized_expression "((p_Var8 == (__node_base *)0x0) || (p_Var8->_M_nxt == (_Hash_node_base *)0x0))" ( (binary_expression "(p_Var8 == (__node_base *)0x0) || (p_Var8->_M_nxt == (_Hash_node_base *)0x0)" (parenthesized_expression "(p_Var8 == (__node_base *)0x0)" ( (binary_expression "p_Var8 == (__node_base *)0x0" identifier == (cast_expression "(__node_base *)0x0" ( (type_descriptor "__node_base *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) || (parenthesized_expression "(p_Var8->_M_nxt == (_Hash_node_base *)0x0)" ( (binary_expression "p_Var8->_M_nxt == (_Hash_node_base *)0x0" (field_expression "p_Var8->_M_nxt" identifier -> field_identifier) == (cast_expression "(_Hash_node_base *)0x0" ( (type_descriptor "_Hash_node_base *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ))) )) (compound_statement "{\n        std::\n        _Hashtable<std::pair<unsigned_int,_unsigned_int>,_std::pair<const_std::pair<unsigned_int,_unsigned_int>,_gold::Version_base*>,_std::allocator<std::pair<const_std::pair<unsigned_int,_unsigned_int>,_gold::Version_base*>_>,_std::__detail::_Select1st,_gold::Versions::Version_table_eq,_gold::Versions::Version_table_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_insert_unique_node\n                  ((_Hashtable<std::pair<unsigned_int,_unsigned_int>,_std::pair<const_std::pair<unsigned_int,_unsigned_int>,_gold::Version_base*>,_std::allocator<std::pair<const_std::pair<unsigned_int,_unsigned_int>,_gold::Version_base*>_>,_std::__detail::_Select1st,_gold::Versions::Version_table_eq,_gold::Versions::Version_table_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n                    *)local_40,(size_type)&this->version_table_,uVar5,__node,(size_type)__n_elt);\n      }" { (ERROR "std::\n        _Hashtable<std::pair<unsigned_int,_unsigned_int>,_std::pair<const_std::pair<unsigned_int,_unsigned_int>,_gold::Version_base*>,_std::allocator<std::pair<const_std::pair<unsigned_int,_unsigned_int>,_gold::Version_base*>_>,_std::__detail::_Select1st,_gold::Versions::Version_table_eq,_gold::Versions::Version_table_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::" (comma_expression "std::\n        _Hashtable<std::pair<unsigned_int,_unsigned_int>,_std::pair<const_std::pair<unsigned_int,_unsigned_int>,_gold::Version_base*>,_std::allocator<std::pair<const_std::pair<unsigned_int,_unsigned_int>,_gold::Version_base*>_>,_std::__detail::_Select1st,_gold" (binary_expression "std::\n        _Hashtable<std::pair<unsigned_int,_unsigned_int>,_std::pair<const_std::pair<unsigned_int,_unsigned_int>,_gold::Version_base*>,_std::allocator<std::pair<const_std::pair<unsigned_int,_unsigned_int>,_gold::Version_base*>_>,_std" (binary_expression "std::\n        _Hashtable<std::pair<unsigned_int,_unsigned_int>,_std::pair<const_std::pair<unsigned_int,_unsigned_int>,_gold::Version_base*>,_std::allocator<std::pair<const_std::pair<unsigned_int,_unsigned_int>,_gold::Version_base*>_" identifier (ERROR "::\n        _Hashtable<std::pair<unsigned_int,_unsigned_int>,_std::pair<const_std::pair<unsigned_int,_unsigned_int>,_gold::Version_base*>,_std::allocator<std::pair<const_std::pair<unsigned_int,_unsigned_int>,_gold::Version_base*" : : (binary_expression "_Hashtable<std" identifier < identifier) : : (comma_expression "pair<unsigned_int,_unsigned_int>,_std" (binary_expression "pair<unsigned_int" identifier < identifier) , (binary_expression "_unsigned_int>,_std" identifier > (ERROR "," ,) identifier)) : : (binary_expression "pair<const_std" identifier < identifier) : : (comma_expression "pair<unsigned_int,_unsigned_int>,_gold" (binary_expression "pair<unsigned_int" identifier < identifier) , (binary_expression "_unsigned_int>,_gold" identifier > (ERROR "," ,) identifier)) : : (comma_expression "Version_base*>,_std" identifier (ERROR "*>" * >) , identifier) : : (binary_expression "allocator<std" identifier < identifier) : : (binary_expression "pair<const_std" identifier < identifier) : : (comma_expression "pair<unsigned_int,_unsigned_int>,_gold" (binary_expression "pair<unsigned_int" identifier < identifier) , (binary_expression "_unsigned_int>,_gold" identifier > (ERROR "," ,) identifier)) : : identifier *) > identifier) > (ERROR "," ,) identifier) (ERROR "::__detail::_Select1st" : : identifier : : identifier) , identifier) : : identifier : : identifier , identifier : : identifier : : identifier , identifier : : identifier : : identifier , identifier : : identifier : : identifier , identifier : : identifier : : identifier , identifier : : identifier : :) (expression_statement "_Hashtable_traits<true,_false,_true>_>\n        ::_M_insert_unique_node\n                  ((_Hashtable<std::pair<unsigned_int,_unsigned_int>,_std::pair<const_std::pair<unsigned_int,_unsigned_int>,_gold::Version_base*>,_std::allocator<std::pair<const_std::pair<unsigned_int,_unsigned_int>,_gold::Version_base*>_>,_std::__detail::_Select1st,_gold::Versions::Version_table_eq,_gold::Versions::Version_table_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n                    *)local_40,(size_type)&this->version_table_,uVar5,__node,(size_type)__n_elt);" (comma_expression "_Hashtable_traits<true,_false,_true>_>\n        ::_M_insert_unique_node\n                  ((_Hashtable<std::pair<unsigned_int,_unsigned_int>,_std::pair<const_std::pair<unsigned_int,_unsigned_int>,_gold::Version_base*>,_std::allocator<std::pair<const_std::pair<unsigned_int,_unsigned_int>,_gold::Version_base*>_>,_std::__detail::_Select1st,_gold::Versions::Version_table_eq,_gold::Versions::Version_table_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n                    *)local_40,(size_type)&this->version_table_,uVar5,__node,(size_type)__n_elt)" (binary_expression "_Hashtable_traits<true" identifier < true) , (comma_expression "_false,_true>_>\n        ::_M_insert_unique_node\n                  ((_Hashtable<std::pair<unsigned_int,_unsigned_int>,_std::pair<const_std::pair<unsigned_int,_unsigned_int>,_gold::Version_base*>,_std::allocator<std::pair<const_std::pair<unsigned_int,_unsigned_int>,_gold::Version_base*>_>,_std::__detail::_Select1st,_gold::Versions::Version_table_eq,_gold::Versions::Version_table_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n                    *)local_40,(size_type)&this->version_table_,uVar5,__node,(size_type)__n_elt)" identifier , (binary_expression "_true>_>\n        ::_M_insert_unique_node\n                  ((_Hashtable<std::pair<unsigned_int,_unsigned_int>,_std::pair<const_std::pair<unsigned_int,_unsigned_int>,_gold::Version_base*>,_std::allocator<std::pair<const_std::pair<unsigned_int,_unsigned_int>,_gold::Version_base*>_>,_std::__detail::_Select1st,_gold::Versions::Version_table_eq,_gold::Versions::Version_table_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n                    *)local_40,(size_type)&this->version_table_,uVar5,__node,(size_type)__n_elt)" (binary_expression "_true>_" identifier > identifier) > (ERROR "::" : :) (call_expression "_M_insert_unique_node\n                  ((_Hashtable<std::pair<unsigned_int,_unsigned_int>,_std::pair<const_std::pair<unsigned_int,_unsigned_int>,_gold::Version_base*>,_std::allocator<std::pair<const_std::pair<unsigned_int,_unsigned_int>,_gold::Version_base*>_>,_std::__detail::_Select1st,_gold::Versions::Version_table_eq,_gold::Versions::Version_table_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n                    *)local_40,(size_type)&this->version_table_,uVar5,__node,(size_type)__n_elt)" identifier (argument_list "((_Hashtable<std::pair<unsigned_int,_unsigned_int>,_std::pair<const_std::pair<unsigned_int,_unsigned_int>,_gold::Version_base*>,_std::allocator<std::pair<const_std::pair<unsigned_int,_unsigned_int>,_gold::Version_base*>_>,_std::__detail::_Select1st,_gold::Versions::Version_table_eq,_gold::Versions::Version_table_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n                    *)local_40,(size_type)&this->version_table_,uVar5,__node,(size_type)__n_elt)" ( (parenthesized_expression "(_Hashtable<std::pair<unsigned_int,_unsigned_int>,_std::pair<const_std::pair<unsigned_int,_unsigned_int>,_gold::Version_base*>,_std::allocator<std::pair<const_std::pair<unsigned_int,_unsigned_int>,_gold::Version_base*>_>,_std::__detail::_Select1st,_gold::Versions::Version_table_eq,_gold::Versions::Version_table_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n                    *)local_40,(size_type)&this->version_table_,uVar5,__node,(size_type)__n_elt)" ( (ERROR "_Hashtable<std::pair<unsigned_int,_unsigned_int>,_std::pair<const_std::pair<unsigned_int,_unsigned_int>,_gold::Version_base*>,_std::allocator<std::pair<const_std::pair<unsigned_int,_unsigned_int>,_gold::Version_base*>_>,_std::__detail::_Select1st,_gold::Versions::Version_table_eq,_gold::Versions::Version_table_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::" (comma_expression "_Hashtable<std::pair<unsigned_int,_unsigned_int>,_std" (binary_expression "_Hashtable<std::pair<unsigned_int" (binary_expression "_Hashtable<std" identifier < identifier) (ERROR "::pair" : : identifier) < identifier) , (binary_expression "_unsigned_int>,_std" identifier > (ERROR "," ,) identifier)) : : (binary_expression "pair<const_std" identifier < identifier) : : (comma_expression "pair<unsigned_int,_unsigned_int>,_gold" (binary_expression "pair<unsigned_int" identifier < identifier) , (binary_expression "_unsigned_int>,_gold" identifier > (ERROR "," ,) identifier)) : : (comma_expression "Version_base*>,_std" identifier (ERROR "*>" * >) , identifier) : : (binary_expression "allocator<std" identifier < identifier) : : (binary_expression "pair<const_std" identifier < identifier) : : (comma_expression "pair<unsigned_int,_unsigned_int>,_gold" (binary_expression "pair<unsigned_int" identifier < identifier) , (binary_expression "_unsigned_int>,_gold" identifier > (ERROR "," ,) identifier)) : : (binary_expression "Version_base*>_>,_std" (binary_expression "Version_base*>_" identifier * (ERROR ">" >) identifier) > (ERROR "," ,) identifier) : : identifier : : (comma_expression "_Select1st,_gold" identifier , identifier) : : identifier : : (comma_expression "Version_table_eq,_gold" identifier , identifier) : : identifier : : (comma_expression "Version_table_hash,_std" 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                    *)local_40,(size_type)&this->version_table_,uVar5,__node,(size_type)__n_elt" (binary_expression "_Hashtable_traits<true" identifier < true) , (comma_expression "_false,_true>_>\n                    *)local_40,(size_type)&this->version_table_,uVar5,__node,(size_type)__n_elt" identifier , (comma_expression "_true>_>\n                    *)local_40,(size_type)&this->version_table_,uVar5,__node,(size_type)__n_elt" (binary_expression "_true>_>\n                    *)local_40" (binary_expression "_true>_" identifier > identifier) > (pointer_expression "*)local_40" * (ERROR ")" )) identifier)) , (comma_expression "(size_type)&this->version_table_,uVar5,__node,(size_type)__n_elt" (binary_expression "(size_type)&this->version_table_" (parenthesized_expression "(size_type)" ( identifier )) & (field_expression "this->version_table_" identifier -> field_identifier)) , (comma_expression "uVar5,__node,(size_type)__n_elt" identifier , (comma_expression "__node,(size_type)__n_elt" identifier , (cast_expression "(size_type)__n_elt" ( (type_descriptor "size_type" type_identifier) ) identifier))))))) )) )))))) ;) }) (else_clause "else {\n        operator_delete(__n_elt);\n      }" else (compound_statement "{\n        operator_delete(__n_elt);\n      }" { (expression_statement "operator_delete(__n_elt);" (call_expression "operator_delete(__n_elt)" identifier (argument_list "(__n_elt)" ( identifier ))) ;) }))) (expression_statement "local_4c = local_4c + 1;" (assignment_expression "local_4c = local_4c + 1" identifier = (binary_expression "local_4c + 1" identifier + number_literal)) ;) (ERROR "pbVar10 = versions.\n                super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::" (assignment_expression "pbVar10 = versions.\n                super__Vector_base<std" identifier = (binary_expression "versions.\n                super__Vector_base<std" (field_expression "versions.\n                super__Vector_base" identifier . field_identifier) < identifier)) : : (comma_expression "__cxx11::basic_string<char,_std::char_traits<char>,_std" identifier (ERROR "::basic_string<char,_std::char_traits<char>" : : (comma_expression "basic_string<char,_std" (binary_expression "basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char" identifier < identifier) >) , identifier) : : (binary_expression "allocator<char>_>,_std" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > (ERROR "," ,) identifier) : : (binary_expression "allocator<std" identifier < identifier) : : (comma_expression "__cxx11::basic_string<char,_std::char_traits<char>,_std" identifier (ERROR "::basic_string<char,_std::char_traits<char>" : : (comma_expression "basic_string<char,_std" (binary_expression "basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char" identifier < identifier) >) , identifier) : :) (expression_statement "allocator<char>_>_>_>\n                ._M_impl._M_start;" (field_expression "allocator<char>_>_>_>\n                ._M_impl._M_start" (field_expression "allocator<char>_>_>_>\n                ._M_impl" (binary_expression "allocator<char>_>_>_" (binary_expression "allocator<char>_>_" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > identifier) > identifier) (ERROR ">" >) . field_identifier) . field_identifier) ;) (ERROR "pbVar9 = versions.\n               super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::" (assignment_expression "pbVar9 = versions.\n               super__Vector_base<std" identifier = (binary_expression "versions.\n               super__Vector_base<std" (field_expression "versions.\n               super__Vector_base" identifier . field_identifier) < identifier)) : : (comma_expression "__cxx11::basic_string<char,_std::char_traits<char>,_std" identifier (ERROR "::basic_string<char,_std::char_traits<char>" : : (comma_expression "basic_string<char,_std" (binary_expression "basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char" identifier < identifier) >) , identifier) : : (binary_expression "allocator<char>_>,_std" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > (ERROR "," ,) identifier) : : (binary_expression "allocator<std" identifier < identifier) : : (comma_expression "__cxx11::basic_string<char,_std::char_traits<char>,_std" identifier (ERROR "::basic_string<char,_std::char_traits<char>" : : (comma_expression "basic_string<char,_std" (binary_expression "basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char" identifier < identifier) >) , identifier) : :) (expression_statement "allocator<char>_>_>_>\n               ._M_impl._M_start;" (field_expression "allocator<char>_>_>_>\n               ._M_impl._M_start" (field_expression "allocator<char>_>_>_>\n               ._M_impl" (binary_expression "allocator<char>_>_>_" (binary_expression "allocator<char>_>_" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > identifier) > identifier) (ERROR ">" >) . field_identifier) . field_identifier) ;) }) while (parenthesized_expression "(local_4c <\n             (uint)(((int)versions.\n                          super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n                          ._M_impl._M_finish -\n                     (int)versions.\n                          super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n                          ._M_impl._M_start >> 3) * -0x55555555))" ( (binary_expression "local_4c <\n             (uint)(((int)versions.\n                          super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n                          ._M_impl._M_finish -\n                     (int)versions.\n                          super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n                          ._M_impl._M_start >> 3) * -0x55555555)" identifier < (call_expression "(uint)(((int)versions.\n                          super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n                          ._M_impl._M_finish -\n                     (int)versions.\n                          super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n                          ._M_impl._M_start >> 3) * -0x55555555)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(((int)versions.\n                          super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n                          ._M_impl._M_finish -\n                     (int)versions.\n                          super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n                          ._M_impl._M_start >> 3) * -0x55555555)" ( (binary_expression "((int)versions.\n                          super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n                          ._M_impl._M_finish -\n                     (int)versions.\n                          super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n                          ._M_impl._M_start >> 3) * -0x55555555" (parenthesized_expression "((int)versions.\n                          super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n                          ._M_impl._M_finish -\n                     (int)versions.\n                          super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n                          ._M_impl._M_start >> 3)" ( (ERROR "(int)versions.\n                          super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n                          ._M_impl._M_finish -\n                     (int)versions.\n                          super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::" (comma_expression "(int)versions.\n                          super__Vector_base<std::__cxx11::basic_string<char,_std" (binary_expression "(int)versions.\n                          super__Vector_base<std::__cxx11::basic_string<char" (binary_expression "(int)versions.\n                          super__Vector_base<std" (cast_expression "(int)versions.\n                          super__Vector_base" ( (type_descriptor "int" primitive_type) ) (field_expression "versions.\n                          super__Vector_base" identifier . field_identifier)) < identifier) (ERROR "::__cxx11::basic_string" : : identifier : : identifier) < identifier) , identifier) : : (binary_expression "char_traits<char>,_std" (binary_expression "char_traits<char" identifier < identifier) > (ERROR "," ,) identifier) : : (binary_expression "allocator<char>_>,_std" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > (ERROR "," ,) identifier) : : (binary_expression "allocator<std" identifier < identifier) : : identifier : : (comma_expression "basic_string<char,_std" (binary_expression "basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char>,_std" (binary_expression "char_traits<char" identifier < identifier) > (ERROR "," ,) identifier) : : (binary_expression "allocator<char>_>_>_>\n                          ._M_impl._M_finish -\n                     (int)versions.\n                          super__Vector_base<std" (binary_expression "allocator<char>_>_>_>\n                          ._M_impl._M_finish -\n                     (int)versions.\n                          super__Vector_base" (field_expression "allocator<char>_>_>_>\n                          ._M_impl._M_finish" (field_expression "allocator<char>_>_>_>\n                          ._M_impl" (binary_expression "allocator<char>_>_>_" (binary_expression "allocator<char>_>_" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > identifier) > identifier) (ERROR ">" >) . field_identifier) . field_identifier) - (cast_expression "(int)versions.\n                          super__Vector_base" ( (type_descriptor "int" primitive_type) ) (field_expression "versions.\n                          super__Vector_base" identifier . field_identifier))) < identifier) : : identifier : : (comma_expression "basic_string<char,_std" (binary_expression "basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char>,_std" (binary_expression "char_traits<char" identifier < identifier) > (ERROR "," ,) identifier) : : (binary_expression "allocator<char>_>,_std" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > (ERROR "," ,) identifier) : : (binary_expression "allocator<std" identifier < identifier) : : identifier : : (comma_expression "basic_string<char,_std" (binary_expression "basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char>,_std" (binary_expression "char_traits<char" identifier < identifier) > (ERROR "," ,) identifier) : :) (binary_expression "allocator<char>_>_>_>\n                          ._M_impl._M_start >> 3" (field_expression "allocator<char>_>_>_>\n                          ._M_impl._M_start" (field_expression "allocator<char>_>_>_>\n                          ._M_impl" (binary_expression "allocator<char>_>_>_" (binary_expression "allocator<char>_>_" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > identifier) > identifier) (ERROR ">" >) . field_identifier) . field_identifier) >> number_literal) )) * number_literal) )))) )) ;) (for_statement "for (; pbVar10 !=\n           versions.\n           super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n           ._M_impl._M_finish; pbVar10 = pbVar10 + 1) {\n      pcVar2 = (pbVar10->_M_dataplus)._M_p;\n      versions.\n      super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n      ._M_impl._M_start = pbVar9;\n      if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n           *)pcVar2 != &pbVar10->field_2) {\n        operator_delete(pcVar2);\n      }\n      pbVar9 = versions.\n               super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n               ._M_impl._M_start;\n    }" for ( ; (ERROR "pbVar10 !=\n           versions.\n           super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::" (comma_expression "pbVar10 !=\n           versions.\n           super__Vector_base<std::__cxx11::basic_string<char,_std" (binary_expression "pbVar10 !=\n           versions.\n           super__Vector_base<std::__cxx11::basic_string<char" (binary_expression "pbVar10 !=\n           versions.\n           super__Vector_base<std" identifier != (binary_expression "versions.\n           super__Vector_base<std" (field_expression "versions.\n           super__Vector_base" identifier . field_identifier) < identifier)) (ERROR "::__cxx11::basic_string" : : identifier : : identifier) < identifier) , identifier) : : (binary_expression "char_traits<char>,_std" (binary_expression "char_traits<char" identifier < identifier) > (ERROR "," ,) identifier) : : (binary_expression "allocator<char>_>,_std" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > (ERROR "," ,) identifier) : : (binary_expression "allocator<std" identifier < identifier) : : identifier : : (comma_expression "basic_string<char,_std" (binary_expression "basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char>,_std" (binary_expression "char_traits<char" identifier < identifier) > (ERROR "," ,) identifier) : :) (field_expression "allocator<char>_>_>_>\n           ._M_impl._M_finish" (field_expression "allocator<char>_>_>_>\n           ._M_impl" (binary_expression "allocator<char>_>_>_" (binary_expression "allocator<char>_>_" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > identifier) > identifier) (ERROR ">" >) . field_identifier) . field_identifier) ; (assignment_expression "pbVar10 = pbVar10 + 1" identifier = (binary_expression "pbVar10 + 1" identifier + number_literal)) ) (compound_statement "{\n      pcVar2 = (pbVar10->_M_dataplus)._M_p;\n      versions.\n      super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n      ._M_impl._M_start = pbVar9;\n      if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n           *)pcVar2 != &pbVar10->field_2) {\n        operator_delete(pcVar2);\n      }\n      pbVar9 = versions.\n               super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n               ._M_impl._M_start;\n    }" { (expression_statement "pcVar2 = (pbVar10->_M_dataplus)._M_p;" (assignment_expression "pcVar2 = (pbVar10->_M_dataplus)._M_p" identifier = (field_expression "(pbVar10->_M_dataplus)._M_p" (parenthesized_expression "(pbVar10->_M_dataplus)" ( (field_expression "pbVar10->_M_dataplus" identifier -> field_identifier) )) . field_identifier)) ;) (ERROR "versions.\n      super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::" (binary_expression "versions.\n      super__Vector_base<std" (field_expression "versions.\n      super__Vector_base" identifier . field_identifier) < identifier) : : (comma_expression "__cxx11::basic_string<char,_std::char_traits<char>,_std" identifier (ERROR "::basic_string<char,_std::char_traits<char>" : : (comma_expression "basic_string<char,_std" (binary_expression "basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char" identifier < identifier) >) , identifier) : : (binary_expression "allocator<char>_>,_std" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > (ERROR "," ,) identifier) : : (binary_expression "allocator<std" identifier < identifier) : : (comma_expression "__cxx11::basic_string<char,_std::char_traits<char>,_std" identifier (ERROR "::basic_string<char,_std::char_traits<char>" : : (comma_expression "basic_string<char,_std" (binary_expression "basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char" identifier < identifier) >) , identifier) : :) (expression_statement "allocator<char>_>_>_>\n      ._M_impl._M_start = pbVar9;" (assignment_expression "allocator<char>_>_>_>\n      ._M_impl._M_start = pbVar9" (field_expression "allocator<char>_>_>_>\n      ._M_impl._M_start" (field_expression "allocator<char>_>_>_>\n      ._M_impl" (binary_expression "allocator<char>_>_>_" (binary_expression "allocator<char>_>_" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > identifier) > identifier) (ERROR ">" >) . field_identifier) . field_identifier) = identifier) ;) (if_statement "if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n           *)pcVar2 != &pbVar10->field_2) {\n        operator_delete(pcVar2);\n      }" if (parenthesized_expression "((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n           *)pcVar2 != &pbVar10->field_2)" ( (parenthesized_expression "(anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n           *)pcVar2 != &pbVar10->field_2)" ( (ERROR "anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::" (comma_expression "anon_union_16_2_edb7204a_for_basic_string<char,_std" (binary_expression "anon_union_16_2_edb7204a_for_basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char>,_std" (binary_expression "char_traits<char" identifier < identifier) > (ERROR "," ,) identifier) : :) (binary_expression "allocator<char>_>_9\n           *)pcVar2 != &pbVar10->field_2" (binary_expression "allocator<char>_>_9\n           *)pcVar2" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > (binary_expression "_9\n           *)pcVar2" identifier * (ERROR ")" )) identifier)) != (pointer_expression "&pbVar10->field_2" & (field_expression "pbVar10->field_2" identifier -> field_identifier))) )) )) (compound_statement "{\n        operator_delete(pcVar2);\n      }" { (expression_statement "operator_delete(pcVar2);" (call_expression "operator_delete(pcVar2)" identifier (argument_list "(pcVar2)" ( identifier ))) ;) })) (ERROR "pbVar9 = versions.\n               super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::" (assignment_expression "pbVar9 = versions.\n               super__Vector_base<std" identifier = (binary_expression "versions.\n               super__Vector_base<std" (field_expression "versions.\n               super__Vector_base" identifier . field_identifier) < identifier)) : : (comma_expression "__cxx11::basic_string<char,_std::char_traits<char>,_std" identifier (ERROR "::basic_string<char,_std::char_traits<char>" : : (comma_expression "basic_string<char,_std" (binary_expression "basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char" identifier < identifier) >) , identifier) : : (binary_expression "allocator<char>_>,_std" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > (ERROR "," ,) identifier) : : (binary_expression "allocator<std" identifier < identifier) : : (comma_expression "__cxx11::basic_string<char,_std::char_traits<char>,_std" identifier (ERROR "::basic_string<char,_std::char_traits<char>" : : (comma_expression "basic_string<char,_std" (binary_expression "basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char" identifier < identifier) >) , identifier) : :) (expression_statement "allocator<char>_>_>_>\n               ._M_impl._M_start;" (field_expression "allocator<char>_>_>_>\n               ._M_impl._M_start" (field_expression "allocator<char>_>_>_>\n               ._M_impl" (binary_expression "allocator<char>_>_>_" (binary_expression "allocator<char>_>_" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > identifier) > identifier) (ERROR ">" >) . field_identifier) . field_identifier) ;) })) })) (labeled_statement "LAB_00146aca:\n  if (pbVar9 != (pointer)0x0) {\n    operator_delete(pbVar9);\n  }" statement_identifier : (if_statement "if (pbVar9 != (pointer)0x0) {\n    operator_delete(pbVar9);\n  }" if (parenthesized_expression "(pbVar9 != (pointer)0x0)" ( (binary_expression "pbVar9 != (pointer)0x0" identifier != (cast_expression "(pointer)0x0" ( (type_descriptor "pointer" type_identifier) ) number_literal)) )) (compound_statement "{\n    operator_delete(pbVar9);\n  }" { (expression_statement "operator_delete(pbVar9);" (call_expression "operator_delete(pbVar9)" identifier (argument_list "(pbVar9)" ( identifier ))) ;) }))) (return_statement "return;" return ;) })))
(translation_unit "void FUN_00146780(undefined4 *param_1,int param_2,undefined4 param_3)\n\n{\n  int *piVar1;\n  uint uVar2;\n  int iVar3;\n  int *piVar4;\n  undefined4 *puVar5;\n  int *piVar6;\n  undefined1 *puVar7;\n  undefined1 *puVar8;\n  uint uVar9;\n  int *piVar10;\n  undefined1 auStack_70 [12];\n  int **local_64;\n  undefined **local_60;\n  int **local_5c;\n  int **local_58;\n  undefined4 *local_54;\n  int *local_50;\n  uint local_4c;\n  undefined **local_48;\n  int *local_44;\n  undefined1 local_40 [4];\n  int *local_3c;\n  int *local_38;\n  int *local_34;\n  int *local_30;\n  int *local_28;\n  int *local_24;\n  \n  local_48 = &__DT_PLTGOT;\n  *param_1 = 0;\n  param_1[1] = 0;\n  param_1[2] = 0;\n  param_1[3] = 0;\n  param_1[4] = 0;\n  param_1[5] = 0;\n  uVar2 = 0;\n  do {\n    *(undefined4 *)((int)param_1 + uVar2 + 0x18) = 0;\n    uVar2 = uVar2 + 4;\n  } while (uVar2 < 0x1c);\n  param_1[7] = 1;\n  param_1[6] = param_1 + 0xc;\n  iVar3 = *(int *)(param_2 + 0x1c);\n  param_1[8] = 0;\n  param_1[9] = 0;\n  param_1[10] = 0x3f800000;\n  param_1[0xb] = 0;\n  param_1[0xc] = 0;\n  *(undefined1 *)(param_1 + 0xd) = 0;\n  param_1[0xe] = param_2;\n  *(undefined1 *)(param_1 + 0xf) = 1;\n  if (*(int *)(param_2 + 0x18) == iVar3) {\n    return;\n  }\n  local_64 = &local_34;\n                    \n  FUN_00119630(local_64,param_2);\n  puVar8 = auStack_70;\n  if (*(char *)(param_1 + 0xf) != '\0') {\n    piVar4 = local_30;\n    if (local_34 == local_30) goto LAB_00146aca;\n    local_54 = param_1 + 6;\n                    \n    FUN_001463c0(param_1,param_3);\n  }\n  puVar8 = auStack_70;\n  puVar7 = auStack_70;\n  local_4c = 0;\n  local_54 = param_1 + 6;\n  local_58 = &local_28;\n  local_5c = &local_3c;\n  local_60 = local_48 + -0x2068;\n  piVar4 = local_34;\n  if (local_34 != local_30) {\n    do {\n      *(int ***)(puVar7 + -4) = local_5c;\n      *(undefined4 *)(puVar7 + -8) = 1;\n      *(int *)(puVar7 + -0xc) = local_34[local_4c * 6];\n      *(undefined4 *)(puVar7 + -0x10) = param_3;\n      *(undefined4 *)(puVar7 + -0x14) = 0x1468c3;\n      iVar3 = FUN_001200e0();\n      *(int *)(puVar7 + -8) = iVar3;\n      *(undefined4 *)(puVar7 + -0xc) = param_1[0xe];\n      *(int ***)(puVar7 + -0x10) = local_58;\n      *(undefined4 *)(puVar7 + -0x14) = 0x1468d7;\n      FUN_00118dd0();\n      *(undefined4 *)(puVar7 + -0x14) = 0x1c;\n                    \n      *(undefined4 *)(puVar7 + -0x18) = 0x1468de;\n      piVar4 = (int *)FUN_0017ebf0();\n      piVar4[1] = -1;\n      piVar4[2] = iVar3;\n      *piVar4 = (int)local_60;\n      piVar4[3] = 0;\n      local_44 = (int *)((int)local_24 - (int)local_28);\n      piVar4[4] = 0;\n      uVar2 = ((int)local_44 >> 3) * -0x55555555;\n      piVar4[5] = 0;\n      if (uVar2 == 0) {\n        local_50 = (int *)0x0;\n      }\n      else {\n        if (0xaaaaaaa < uVar2) {\n                    \n                    \n          *(undefined1 **)(puVar7 + -8) = &LAB_00146b47;\n          FUN_001c5fe0();\n        }\n        *(int **)(puVar7 + -0x14) = local_44;\n                    \n        *(undefined4 *)(puVar7 + -0x18) = 0x14693e;\n        local_50 = (int *)FUN_0017ebf0();\n      }\n      piVar10 = local_24;\n      puVar8 = puVar7 + -4;\n      piVar4[3] = (int)local_50;\n      piVar4[4] = (int)local_50;\n      piVar4[5] = (int)local_44 + (int)local_50;\n      if (local_28 == local_24) {\n        piVar4[6] = 0;\n        local_38 = piVar4;\n      }\n      else {\n        local_44 = local_50;\n        piVar6 = local_28;\n        do {\n          *local_44 = (int)(local_44 + 2);\n          iVar3 = *piVar6;\n          *(undefined4 *)(puVar7 + -8) = 0;\n          *(int *)(puVar7 + -0xc) = piVar6[1] + iVar3;\n          *(int *)(puVar7 + -0x10) = iVar3;\n          *(int **)(puVar7 + -0x14) = local_44;\n                    \n          *(undefined4 *)(puVar7 + -0x18) = 0x146989;\n          FUN_0004d4e0();\n          piVar1 = local_24;\n          piVar6 = piVar6 + 6;\n          local_44 = local_44 + 6;\n        } while (piVar10 != piVar6);\n        piVar4[6] = 0;\n        piVar4[4] = (int)local_44;\n        local_38 = piVar4;\n        piVar10 = local_24;\n        for (piVar4 = local_28; piVar4 != piVar1; piVar4 = piVar4 + 6) {\n          if ((int *)*piVar4 != piVar4 + 2) {\n            *(int **)(puVar7 + -0x14) = (int *)*piVar4;\n            *(undefined4 *)(puVar7 + -0x18) = 0x1469cd;\n            FUN_001807a0();\n          }\n          piVar10 = local_28;\n        }\n      }\n      if (piVar10 != (int *)0x0) {\n        *(int **)(puVar7 + -0x14) = piVar10;\n        *(undefined4 *)(puVar7 + -0x18) = 0x1469ea;\n        FUN_001807a0();\n      }\n      puVar5 = (undefined4 *)param_1[1];\n      if (puVar5 == (undefined4 *)param_1[2]) {\n        *(int ***)(puVar7 + -0xc) = &local_38;\n        *(undefined4 **)(puVar7 + -0x10) = puVar5;\n        *(undefined4 **)(puVar7 + -0x14) = param_1;\n        *(undefined4 *)(puVar7 + -0x18) = 0x146b28;\n        FUN_00149250();\n      }\n      else {\n        *puVar5 = local_38;\n        param_1[1] = puVar5 + 1;\n      }\n      piVar10 = local_38;\n      piVar4 = local_3c;\n      *(undefined4 *)(puVar7 + -0x14) = 0x14;\n                    \n      *(undefined4 *)(puVar7 + -0x18) = 0x146a1e;\n      puVar5 = (undefined4 *)FUN_0017ebf0();\n      local_24 = (int *)0x0;\n      *puVar5 = 0;\n      local_28 = piVar4;\n      puVar5[2] = 0;\n      uVar9 = (int)piVar4 + puVar5[2];\n      puVar5[3] = piVar10;\n      puVar5[1] = piVar4;\n      uVar2 = param_1[7];\n      *(uint *)(puVar7 + -8) = uVar9;\n      *(undefined4 **)(puVar7 + -0xc) = puVar5 + 1;\n      *(uint *)(puVar7 + -0x10) = uVar9 % uVar2;\n      *(undefined4 **)(puVar7 + -0x14) = local_54;\n      *(undefined4 *)(puVar7 + -0x18) = 0x146a5f;\n      piVar4 = (int *)FUN_0014d100();\n      if ((piVar4 == (int *)0x0) || (*piVar4 == 0)) {\n        *(undefined4 *)(puVar7 + -0x10) = 1;\n        *(undefined4 **)(puVar7 + -0x14) = puVar5;\n        *(uint *)(puVar7 + -0x18) = uVar9;\n        *(uint *)(puVar7 + -0x1c) = uVar9 % uVar2;\n        *(undefined4 **)(puVar7 + -0x20) = local_54;\n        *(undefined1 **)(puVar7 + -0x24) = local_40;\n        *(undefined4 *)(puVar7 + -0x28) = 0x146afc;\n        FUN_0014ced0();\n        puVar8 = puVar7 + -8;\n      }\n      else {\n        *(undefined4 **)(puVar7 + -0x14) = puVar5;\n        *(undefined4 *)(puVar7 + -0x18) = 0x146a7c;\n        FUN_001807a0();\n      }\n      local_4c = local_4c + 1;\n      puVar7 = puVar8;\n      piVar10 = local_34;\n      piVar4 = local_34;\n    } while (local_4c < (uint)(((int)local_30 - (int)local_34 >> 3) * -0x55555555));\n    for (; piVar10 != local_30; piVar10 = piVar10 + 6) {\n      local_34 = piVar4;\n      if ((int *)*piVar10 != piVar10 + 2) {\n        *(int **)(puVar8 + -0x10) = (int *)*piVar10;\n        *(undefined4 *)(puVar8 + -0x14) = 0x146abd;\n        FUN_001807a0();\n      }\n      piVar4 = local_34;\n    }\n  }\nLAB_00146aca:\n  if (piVar4 != (int *)0x0) {\n    *(int **)(puVar8 + -0x10) = piVar4;\n    *(undefined4 *)(puVar8 + -0x14) = 0x146ada;\n    FUN_001807a0();\n  }\n  return;\n}\n\n" (function_definition "void FUN_00146780(undefined4 *param_1,int param_2,undefined4 param_3)\n\n{\n  int *piVar1;\n  uint uVar2;\n  int iVar3;\n  int *piVar4;\n  undefined4 *puVar5;\n  int *piVar6;\n  undefined1 *puVar7;\n  undefined1 *puVar8;\n  uint uVar9;\n  int *piVar10;\n  undefined1 auStack_70 [12];\n  int **local_64;\n  undefined **local_60;\n  int **local_5c;\n  int **local_58;\n  undefined4 *local_54;\n  int *local_50;\n  uint local_4c;\n  undefined **local_48;\n  int *local_44;\n  undefined1 local_40 [4];\n  int *local_3c;\n  int *local_38;\n  int *local_34;\n  int *local_30;\n  int *local_28;\n  int *local_24;\n  \n  local_48 = &__DT_PLTGOT;\n  *param_1 = 0;\n  param_1[1] = 0;\n  param_1[2] = 0;\n  param_1[3] = 0;\n  param_1[4] = 0;\n  param_1[5] = 0;\n  uVar2 = 0;\n  do {\n    *(undefined4 *)((int)param_1 + uVar2 + 0x18) = 0;\n    uVar2 = uVar2 + 4;\n  } while (uVar2 < 0x1c);\n  param_1[7] = 1;\n  param_1[6] = param_1 + 0xc;\n  iVar3 = *(int *)(param_2 + 0x1c);\n  param_1[8] = 0;\n  param_1[9] = 0;\n  param_1[10] = 0x3f800000;\n  param_1[0xb] = 0;\n  param_1[0xc] = 0;\n  *(undefined1 *)(param_1 + 0xd) = 0;\n  param_1[0xe] = param_2;\n  *(undefined1 *)(param_1 + 0xf) = 1;\n  if (*(int *)(param_2 + 0x18) == iVar3) {\n    return;\n  }\n  local_64 = &local_34;\n                    \n  FUN_00119630(local_64,param_2);\n  puVar8 = auStack_70;\n  if (*(char *)(param_1 + 0xf) != '\0') {\n    piVar4 = local_30;\n    if (local_34 == local_30) goto LAB_00146aca;\n    local_54 = param_1 + 6;\n                    \n    FUN_001463c0(param_1,param_3);\n  }\n  puVar8 = auStack_70;\n  puVar7 = auStack_70;\n  local_4c = 0;\n  local_54 = param_1 + 6;\n  local_58 = &local_28;\n  local_5c = &local_3c;\n  local_60 = local_48 + -0x2068;\n  piVar4 = local_34;\n  if (local_34 != local_30) {\n    do {\n      *(int ***)(puVar7 + -4) = local_5c;\n      *(undefined4 *)(puVar7 + -8) = 1;\n      *(int *)(puVar7 + -0xc) = local_34[local_4c * 6];\n      *(undefined4 *)(puVar7 + -0x10) = param_3;\n      *(undefined4 *)(puVar7 + -0x14) = 0x1468c3;\n      iVar3 = FUN_001200e0();\n      *(int *)(puVar7 + -8) = iVar3;\n      *(undefined4 *)(puVar7 + -0xc) = param_1[0xe];\n      *(int ***)(puVar7 + -0x10) = local_58;\n      *(undefined4 *)(puVar7 + -0x14) = 0x1468d7;\n      FUN_00118dd0();\n      *(undefined4 *)(puVar7 + -0x14) = 0x1c;\n                    \n      *(undefined4 *)(puVar7 + -0x18) = 0x1468de;\n      piVar4 = (int *)FUN_0017ebf0();\n      piVar4[1] = -1;\n      piVar4[2] = iVar3;\n      *piVar4 = (int)local_60;\n      piVar4[3] = 0;\n      local_44 = (int *)((int)local_24 - (int)local_28);\n      piVar4[4] = 0;\n      uVar2 = ((int)local_44 >> 3) * -0x55555555;\n      piVar4[5] = 0;\n      if (uVar2 == 0) {\n        local_50 = (int *)0x0;\n      }\n      else {\n        if (0xaaaaaaa < uVar2) {\n                    \n                    \n          *(undefined1 **)(puVar7 + -8) = &LAB_00146b47;\n          FUN_001c5fe0();\n        }\n        *(int **)(puVar7 + -0x14) = local_44;\n                    \n        *(undefined4 *)(puVar7 + -0x18) = 0x14693e;\n        local_50 = (int *)FUN_0017ebf0();\n      }\n      piVar10 = local_24;\n      puVar8 = puVar7 + -4;\n      piVar4[3] = (int)local_50;\n      piVar4[4] = (int)local_50;\n      piVar4[5] = (int)local_44 + (int)local_50;\n      if (local_28 == local_24) {\n        piVar4[6] = 0;\n        local_38 = piVar4;\n      }\n      else {\n        local_44 = local_50;\n        piVar6 = local_28;\n        do {\n          *local_44 = (int)(local_44 + 2);\n          iVar3 = *piVar6;\n          *(undefined4 *)(puVar7 + -8) = 0;\n          *(int *)(puVar7 + -0xc) = piVar6[1] + iVar3;\n          *(int *)(puVar7 + -0x10) = iVar3;\n          *(int **)(puVar7 + -0x14) = local_44;\n                    \n          *(undefined4 *)(puVar7 + -0x18) = 0x146989;\n          FUN_0004d4e0();\n          piVar1 = local_24;\n          piVar6 = piVar6 + 6;\n          local_44 = local_44 + 6;\n        } while (piVar10 != piVar6);\n        piVar4[6] = 0;\n        piVar4[4] = (int)local_44;\n        local_38 = piVar4;\n        piVar10 = local_24;\n        for (piVar4 = local_28; piVar4 != piVar1; piVar4 = piVar4 + 6) {\n          if ((int *)*piVar4 != piVar4 + 2) {\n            *(int **)(puVar7 + -0x14) = (int *)*piVar4;\n            *(undefined4 *)(puVar7 + -0x18) = 0x1469cd;\n            FUN_001807a0();\n          }\n          piVar10 = local_28;\n        }\n      }\n      if (piVar10 != (int *)0x0) {\n        *(int **)(puVar7 + -0x14) = piVar10;\n        *(undefined4 *)(puVar7 + -0x18) = 0x1469ea;\n        FUN_001807a0();\n      }\n      puVar5 = (undefined4 *)param_1[1];\n      if (puVar5 == (undefined4 *)param_1[2]) {\n        *(int ***)(puVar7 + -0xc) = &local_38;\n        *(undefined4 **)(puVar7 + -0x10) = puVar5;\n        *(undefined4 **)(puVar7 + -0x14) = param_1;\n        *(undefined4 *)(puVar7 + -0x18) = 0x146b28;\n        FUN_00149250();\n      }\n      else {\n        *puVar5 = local_38;\n        param_1[1] = puVar5 + 1;\n      }\n      piVar10 = local_38;\n      piVar4 = local_3c;\n      *(undefined4 *)(puVar7 + -0x14) = 0x14;\n                    \n      *(undefined4 *)(puVar7 + -0x18) = 0x146a1e;\n      puVar5 = (undefined4 *)FUN_0017ebf0();\n      local_24 = (int *)0x0;\n      *puVar5 = 0;\n      local_28 = piVar4;\n      puVar5[2] = 0;\n      uVar9 = (int)piVar4 + puVar5[2];\n      puVar5[3] = piVar10;\n      puVar5[1] = piVar4;\n      uVar2 = param_1[7];\n      *(uint *)(puVar7 + -8) = uVar9;\n      *(undefined4 **)(puVar7 + -0xc) = puVar5 + 1;\n      *(uint *)(puVar7 + -0x10) = uVar9 % uVar2;\n      *(undefined4 **)(puVar7 + -0x14) = local_54;\n      *(undefined4 *)(puVar7 + -0x18) = 0x146a5f;\n      piVar4 = (int *)FUN_0014d100();\n      if ((piVar4 == (int *)0x0) || (*piVar4 == 0)) {\n        *(undefined4 *)(puVar7 + -0x10) = 1;\n        *(undefined4 **)(puVar7 + -0x14) = puVar5;\n        *(uint *)(puVar7 + -0x18) = uVar9;\n        *(uint *)(puVar7 + -0x1c) = uVar9 % uVar2;\n        *(undefined4 **)(puVar7 + -0x20) = local_54;\n        *(undefined1 **)(puVar7 + -0x24) = local_40;\n        *(undefined4 *)(puVar7 + -0x28) = 0x146afc;\n        FUN_0014ced0();\n        puVar8 = puVar7 + -8;\n      }\n      else {\n        *(undefined4 **)(puVar7 + -0x14) = puVar5;\n        *(undefined4 *)(puVar7 + -0x18) = 0x146a7c;\n        FUN_001807a0();\n      }\n      local_4c = local_4c + 1;\n      puVar7 = puVar8;\n      piVar10 = local_34;\n      piVar4 = local_34;\n    } while (local_4c < (uint)(((int)local_30 - (int)local_34 >> 3) * -0x55555555));\n    for (; piVar10 != local_30; piVar10 = piVar10 + 6) {\n      local_34 = piVar4;\n      if ((int *)*piVar10 != piVar10 + 2) {\n        *(int **)(puVar8 + -0x10) = (int *)*piVar10;\n        *(undefined4 *)(puVar8 + -0x14) = 0x146abd;\n        FUN_001807a0();\n      }\n      piVar4 = local_34;\n    }\n  }\nLAB_00146aca:\n  if (piVar4 != (int *)0x0) {\n    *(int **)(puVar8 + -0x10) = piVar4;\n    *(undefined4 *)(puVar8 + -0x14) = 0x146ada;\n    FUN_001807a0();\n  }\n  return;\n}" primitive_type (function_declarator "FUN_00146780(undefined4 *param_1,int param_2,undefined4 param_3)" identifier (parameter_list "(undefined4 *param_1,int param_2,undefined4 param_3)" ( (parameter_declaration "undefined4 *param_1" type_identifier (pointer_declarator "*param_1" * identifier)) , (parameter_declaration "int param_2" primitive_type identifier) , (parameter_declaration "undefined4 param_3" type_identifier identifier) ))) (compound_statement "{\n  int *piVar1;\n  uint uVar2;\n  int iVar3;\n  int *piVar4;\n  undefined4 *puVar5;\n  int *piVar6;\n  undefined1 *puVar7;\n  undefined1 *puVar8;\n  uint uVar9;\n  int *piVar10;\n  undefined1 auStack_70 [12];\n  int **local_64;\n  undefined **local_60;\n  int **local_5c;\n  int **local_58;\n  undefined4 *local_54;\n  int *local_50;\n  uint local_4c;\n  undefined **local_48;\n  int *local_44;\n  undefined1 local_40 [4];\n  int *local_3c;\n  int *local_38;\n  int *local_34;\n  int *local_30;\n  int *local_28;\n  int *local_24;\n  \n  local_48 = &__DT_PLTGOT;\n  *param_1 = 0;\n  param_1[1] = 0;\n  param_1[2] = 0;\n  param_1[3] = 0;\n  param_1[4] = 0;\n  param_1[5] = 0;\n  uVar2 = 0;\n  do {\n    *(undefined4 *)((int)param_1 + uVar2 + 0x18) = 0;\n    uVar2 = uVar2 + 4;\n  } while (uVar2 < 0x1c);\n  param_1[7] = 1;\n  param_1[6] = param_1 + 0xc;\n  iVar3 = *(int *)(param_2 + 0x1c);\n  param_1[8] = 0;\n  param_1[9] = 0;\n  param_1[10] = 0x3f800000;\n  param_1[0xb] = 0;\n  param_1[0xc] = 0;\n  *(undefined1 *)(param_1 + 0xd) = 0;\n  param_1[0xe] = param_2;\n  *(undefined1 *)(param_1 + 0xf) = 1;\n  if (*(int *)(param_2 + 0x18) == iVar3) {\n    return;\n  }\n  local_64 = &local_34;\n                    \n  FUN_00119630(local_64,param_2);\n  puVar8 = auStack_70;\n  if (*(char *)(param_1 + 0xf) != '\0') {\n    piVar4 = local_30;\n    if (local_34 == local_30) goto LAB_00146aca;\n    local_54 = param_1 + 6;\n                    \n    FUN_001463c0(param_1,param_3);\n  }\n  puVar8 = auStack_70;\n  puVar7 = auStack_70;\n  local_4c = 0;\n  local_54 = param_1 + 6;\n  local_58 = &local_28;\n  local_5c = &local_3c;\n  local_60 = local_48 + -0x2068;\n  piVar4 = local_34;\n  if (local_34 != local_30) {\n    do {\n      *(int ***)(puVar7 + -4) = local_5c;\n      *(undefined4 *)(puVar7 + -8) = 1;\n      *(int *)(puVar7 + -0xc) = local_34[local_4c * 6];\n      *(undefined4 *)(puVar7 + -0x10) = param_3;\n      *(undefined4 *)(puVar7 + -0x14) = 0x1468c3;\n      iVar3 = FUN_001200e0();\n      *(int *)(puVar7 + -8) = iVar3;\n      *(undefined4 *)(puVar7 + -0xc) = param_1[0xe];\n      *(int ***)(puVar7 + -0x10) = local_58;\n      *(undefined4 *)(puVar7 + -0x14) = 0x1468d7;\n      FUN_00118dd0();\n      *(undefined4 *)(puVar7 + -0x14) = 0x1c;\n                    \n      *(undefined4 *)(puVar7 + -0x18) = 0x1468de;\n      piVar4 = (int *)FUN_0017ebf0();\n      piVar4[1] = -1;\n      piVar4[2] = iVar3;\n      *piVar4 = (int)local_60;\n      piVar4[3] = 0;\n      local_44 = (int *)((int)local_24 - (int)local_28);\n      piVar4[4] = 0;\n      uVar2 = ((int)local_44 >> 3) * -0x55555555;\n      piVar4[5] = 0;\n      if (uVar2 == 0) {\n        local_50 = (int *)0x0;\n      }\n      else {\n        if (0xaaaaaaa < uVar2) {\n                    \n                    \n          *(undefined1 **)(puVar7 + -8) = &LAB_00146b47;\n          FUN_001c5fe0();\n        }\n        *(int **)(puVar7 + -0x14) = local_44;\n                    \n        *(undefined4 *)(puVar7 + -0x18) = 0x14693e;\n        local_50 = (int *)FUN_0017ebf0();\n      }\n      piVar10 = local_24;\n      puVar8 = puVar7 + -4;\n      piVar4[3] = (int)local_50;\n      piVar4[4] = (int)local_50;\n      piVar4[5] = (int)local_44 + (int)local_50;\n      if (local_28 == local_24) {\n        piVar4[6] = 0;\n        local_38 = piVar4;\n      }\n      else {\n        local_44 = local_50;\n        piVar6 = local_28;\n        do {\n          *local_44 = (int)(local_44 + 2);\n          iVar3 = *piVar6;\n          *(undefined4 *)(puVar7 + -8) = 0;\n          *(int *)(puVar7 + -0xc) = piVar6[1] + iVar3;\n          *(int *)(puVar7 + -0x10) = iVar3;\n          *(int **)(puVar7 + -0x14) = local_44;\n                    \n          *(undefined4 *)(puVar7 + -0x18) = 0x146989;\n          FUN_0004d4e0();\n          piVar1 = local_24;\n          piVar6 = piVar6 + 6;\n          local_44 = local_44 + 6;\n        } while (piVar10 != piVar6);\n        piVar4[6] = 0;\n        piVar4[4] = (int)local_44;\n        local_38 = piVar4;\n        piVar10 = local_24;\n        for (piVar4 = local_28; piVar4 != piVar1; piVar4 = piVar4 + 6) {\n          if ((int *)*piVar4 != piVar4 + 2) {\n            *(int **)(puVar7 + -0x14) = (int *)*piVar4;\n            *(undefined4 *)(puVar7 + -0x18) = 0x1469cd;\n            FUN_001807a0();\n          }\n          piVar10 = local_28;\n        }\n      }\n      if (piVar10 != (int *)0x0) {\n        *(int **)(puVar7 + -0x14) = piVar10;\n        *(undefined4 *)(puVar7 + -0x18) = 0x1469ea;\n        FUN_001807a0();\n      }\n      puVar5 = (undefined4 *)param_1[1];\n      if (puVar5 == (undefined4 *)param_1[2]) {\n        *(int ***)(puVar7 + -0xc) = &local_38;\n        *(undefined4 **)(puVar7 + -0x10) = puVar5;\n        *(undefined4 **)(puVar7 + -0x14) = param_1;\n        *(undefined4 *)(puVar7 + -0x18) = 0x146b28;\n        FUN_00149250();\n      }\n      else {\n        *puVar5 = local_38;\n        param_1[1] = puVar5 + 1;\n      }\n      piVar10 = local_38;\n      piVar4 = local_3c;\n      *(undefined4 *)(puVar7 + -0x14) = 0x14;\n                    \n      *(undefined4 *)(puVar7 + -0x18) = 0x146a1e;\n      puVar5 = (undefined4 *)FUN_0017ebf0();\n      local_24 = (int *)0x0;\n      *puVar5 = 0;\n      local_28 = piVar4;\n      puVar5[2] = 0;\n      uVar9 = (int)piVar4 + puVar5[2];\n      puVar5[3] = piVar10;\n      puVar5[1] = piVar4;\n      uVar2 = param_1[7];\n      *(uint *)(puVar7 + -8) = uVar9;\n      *(undefined4 **)(puVar7 + -0xc) = puVar5 + 1;\n      *(uint *)(puVar7 + -0x10) = uVar9 % uVar2;\n      *(undefined4 **)(puVar7 + -0x14) = local_54;\n      *(undefined4 *)(puVar7 + -0x18) = 0x146a5f;\n      piVar4 = (int *)FUN_0014d100();\n      if ((piVar4 == (int *)0x0) || (*piVar4 == 0)) {\n        *(undefined4 *)(puVar7 + -0x10) = 1;\n        *(undefined4 **)(puVar7 + -0x14) = puVar5;\n        *(uint *)(puVar7 + -0x18) = uVar9;\n        *(uint *)(puVar7 + -0x1c) = uVar9 % uVar2;\n        *(undefined4 **)(puVar7 + -0x20) = local_54;\n        *(undefined1 **)(puVar7 + -0x24) = local_40;\n        *(undefined4 *)(puVar7 + -0x28) = 0x146afc;\n        FUN_0014ced0();\n        puVar8 = puVar7 + -8;\n      }\n      else {\n        *(undefined4 **)(puVar7 + -0x14) = puVar5;\n        *(undefined4 *)(puVar7 + -0x18) = 0x146a7c;\n        FUN_001807a0();\n      }\n      local_4c = local_4c + 1;\n      puVar7 = puVar8;\n      piVar10 = local_34;\n      piVar4 = local_34;\n    } while (local_4c < (uint)(((int)local_30 - (int)local_34 >> 3) * -0x55555555));\n    for (; piVar10 != local_30; piVar10 = piVar10 + 6) {\n      local_34 = piVar4;\n      if ((int *)*piVar10 != piVar10 + 2) {\n        *(int **)(puVar8 + -0x10) = (int *)*piVar10;\n        *(undefined4 *)(puVar8 + -0x14) = 0x146abd;\n        FUN_001807a0();\n      }\n      piVar4 = local_34;\n    }\n  }\nLAB_00146aca:\n  if (piVar4 != (int *)0x0) {\n    *(int **)(puVar8 + -0x10) = piVar4;\n    *(undefined4 *)(puVar8 + -0x14) = 0x146ada;\n    FUN_001807a0();\n  }\n  return;\n}" { (declaration "int *piVar1;" primitive_type (pointer_declarator "*piVar1" * identifier) ;) (declaration "uint uVar2;" type_identifier identifier ;) (declaration "int iVar3;" primitive_type identifier ;) (declaration "int *piVar4;" primitive_type (pointer_declarator "*piVar4" * identifier) ;) (declaration "undefined4 *puVar5;" type_identifier (pointer_declarator "*puVar5" * identifier) ;) (declaration "int *piVar6;" primitive_type (pointer_declarator "*piVar6" * identifier) ;) (declaration "undefined1 *puVar7;" type_identifier (pointer_declarator "*puVar7" * identifier) ;) (declaration "undefined1 *puVar8;" type_identifier (pointer_declarator "*puVar8" * identifier) ;) (declaration "uint uVar9;" type_identifier identifier ;) (declaration "int *piVar10;" primitive_type (pointer_declarator "*piVar10" * identifier) ;) (declaration "undefined1 auStack_70 [12];" type_identifier (array_declarator "auStack_70 [12]" identifier [ number_literal ]) ;) (declaration "int **local_64;" primitive_type (pointer_declarator "**local_64" * (pointer_declarator "*local_64" * identifier)) ;) (declaration "undefined **local_60;" type_identifier (pointer_declarator "**local_60" * (pointer_declarator "*local_60" * identifier)) ;) (declaration "int **local_5c;" primitive_type (pointer_declarator "**local_5c" * (pointer_declarator "*local_5c" * identifier)) ;) (declaration "int **local_58;" primitive_type (pointer_declarator "**local_58" * (pointer_declarator "*local_58" * identifier)) ;) (declaration "undefined4 *local_54;" type_identifier (pointer_declarator "*local_54" * identifier) ;) (declaration "int *local_50;" primitive_type (pointer_declarator "*local_50" * identifier) ;) (declaration "uint local_4c;" type_identifier identifier ;) (declaration "undefined **local_48;" type_identifier (pointer_declarator "**local_48" * (pointer_declarator "*local_48" * identifier)) ;) (declaration "int *local_44;" primitive_type (pointer_declarator "*local_44" * identifier) ;) (declaration "undefined1 local_40 [4];" type_identifier (array_declarator "local_40 [4]" identifier [ number_literal ]) ;) (declaration "int *local_3c;" primitive_type (pointer_declarator "*local_3c" * identifier) ;) (declaration "int *local_38;" primitive_type (pointer_declarator "*local_38" * identifier) ;) (declaration "int *local_34;" primitive_type (pointer_declarator "*local_34" * identifier) ;) (declaration "int *local_30;" primitive_type (pointer_declarator "*local_30" * identifier) ;) (declaration "int *local_28;" primitive_type (pointer_declarator "*local_28" * identifier) ;) (declaration "int *local_24;" primitive_type (pointer_declarator "*local_24" * identifier) ;) (expression_statement "local_48 = &__DT_PLTGOT;" (assignment_expression "local_48 = &__DT_PLTGOT" identifier = (pointer_expression "&__DT_PLTGOT" & identifier)) ;) (expression_statement "*param_1 = 0;" (assignment_expression "*param_1 = 0" (pointer_expression "*param_1" * identifier) = number_literal) ;) (expression_statement "param_1[1] = 0;" (assignment_expression "param_1[1] = 0" (subscript_expression "param_1[1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[2] = 0;" (assignment_expression "param_1[2] = 0" (subscript_expression "param_1[2]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[3] = 0;" (assignment_expression "param_1[3] = 0" (subscript_expression "param_1[3]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[4] = 0;" (assignment_expression "param_1[4] = 0" (subscript_expression "param_1[4]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[5] = 0;" (assignment_expression "param_1[5] = 0" (subscript_expression "param_1[5]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "uVar2 = 0;" (assignment_expression "uVar2 = 0" identifier = number_literal) ;) (do_statement "do {\n    *(undefined4 *)((int)param_1 + uVar2 + 0x18) = 0;\n    uVar2 = uVar2 + 4;\n  } while (uVar2 < 0x1c);" do (compound_statement "{\n    *(undefined4 *)((int)param_1 + uVar2 + 0x18) = 0;\n    uVar2 = uVar2 + 4;\n  }" { (expression_statement "*(undefined4 *)((int)param_1 + uVar2 + 0x18) = 0;" (assignment_expression "*(undefined4 *)((int)param_1 + uVar2 + 0x18) = 0" (pointer_expression "*(undefined4 *)((int)param_1 + uVar2 + 0x18)" * (cast_expression "(undefined4 *)((int)param_1 + uVar2 + 0x18)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)param_1 + uVar2 + 0x18)" ( (binary_expression "(int)param_1 + uVar2 + 0x18" (binary_expression "(int)param_1 + uVar2" (cast_expression "(int)param_1" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + number_literal) )))) = number_literal) ;) (expression_statement "uVar2 = uVar2 + 4;" (assignment_expression "uVar2 = uVar2 + 4" identifier = (binary_expression "uVar2 + 4" identifier + number_literal)) ;) }) while (parenthesized_expression "(uVar2 < 0x1c)" ( (binary_expression "uVar2 < 0x1c" identifier < number_literal) )) ;) (expression_statement "param_1[7] = 1;" (assignment_expression "param_1[7] = 1" (subscript_expression "param_1[7]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[6] = param_1 + 0xc;" (assignment_expression "param_1[6] = param_1 + 0xc" (subscript_expression "param_1[6]" identifier [ number_literal ]) = (binary_expression "param_1 + 0xc" identifier + number_literal)) ;) (expression_statement "iVar3 = *(int *)(param_2 + 0x1c);" (assignment_expression "iVar3 = *(int *)(param_2 + 0x1c)" identifier = (pointer_expression "*(int *)(param_2 + 0x1c)" * (cast_expression "(int *)(param_2 + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x1c)" ( (binary_expression "param_2 + 0x1c" identifier + number_literal) ))))) ;) (expression_statement "param_1[8] = 0;" (assignment_expression "param_1[8] = 0" (subscript_expression "param_1[8]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[9] = 0;" (assignment_expression "param_1[9] = 0" (subscript_expression "param_1[9]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[10] = 0x3f800000;" (assignment_expression "param_1[10] = 0x3f800000" (subscript_expression "param_1[10]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[0xb] = 0;" (assignment_expression "param_1[0xb] = 0" (subscript_expression "param_1[0xb]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[0xc] = 0;" (assignment_expression "param_1[0xc] = 0" (subscript_expression "param_1[0xc]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "*(undefined1 *)(param_1 + 0xd) = 0;" (assignment_expression "*(undefined1 *)(param_1 + 0xd) = 0" (pointer_expression "*(undefined1 *)(param_1 + 0xd)" * (cast_expression "(undefined1 *)(param_1 + 0xd)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0xd)" ( (binary_expression "param_1 + 0xd" identifier + number_literal) )))) = number_literal) ;) (expression_statement "param_1[0xe] = param_2;" (assignment_expression "param_1[0xe] = param_2" (subscript_expression "param_1[0xe]" identifier [ number_literal ]) = identifier) ;) (expression_statement "*(undefined1 *)(param_1 + 0xf) = 1;" (assignment_expression "*(undefined1 *)(param_1 + 0xf) = 1" (pointer_expression "*(undefined1 *)(param_1 + 0xf)" * (cast_expression "(undefined1 *)(param_1 + 0xf)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0xf)" ( (binary_expression "param_1 + 0xf" identifier + number_literal) )))) = number_literal) ;) (if_statement "if (*(int *)(param_2 + 0x18) == iVar3) {\n    return;\n  }" if (parenthesized_expression "(*(int *)(param_2 + 0x18) == iVar3)" ( (binary_expression "*(int *)(param_2 + 0x18) == iVar3" (pointer_expression "*(int *)(param_2 + 0x18)" * (cast_expression "(int *)(param_2 + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x18)" ( (binary_expression "param_2 + 0x18" identifier + number_literal) )))) == identifier) )) (compound_statement "{\n    return;\n  }" { (return_statement "return;" return ;) })) (expression_statement "local_64 = &local_34;" (assignment_expression "local_64 = &local_34" identifier = (pointer_expression "&local_34" & identifier)) ;) (expression_statement "FUN_00119630(local_64,param_2);" (call_expression "FUN_00119630(local_64,param_2)" identifier (argument_list "(local_64,param_2)" ( identifier , identifier ))) ;) (expression_statement "puVar8 = auStack_70;" (assignment_expression "puVar8 = auStack_70" identifier = identifier) ;) (if_statement "if (*(char *)(param_1 + 0xf) != '\0') {\n    piVar4 = local_30;\n    if (local_34 == local_30) goto LAB_00146aca;\n    local_54 = param_1 + 6;\n                    \n    FUN_001463c0(param_1,param_3);\n  }" if (parenthesized_expression "(*(char *)(param_1 + 0xf) != '\0')" ( (binary_expression "*(char *)(param_1 + 0xf) != '\0'" (pointer_expression "*(char *)(param_1 + 0xf)" * (cast_expression "(char *)(param_1 + 0xf)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0xf)" ( (binary_expression "param_1 + 0xf" identifier + number_literal) )))) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n    piVar4 = local_30;\n    if (local_34 == local_30) goto LAB_00146aca;\n    local_54 = param_1 + 6;\n                    \n    FUN_001463c0(param_1,param_3);\n  }" { (expression_statement "piVar4 = local_30;" (assignment_expression "piVar4 = local_30" identifier = identifier) ;) (if_statement "if (local_34 == local_30) goto LAB_00146aca;" if (parenthesized_expression "(local_34 == local_30)" ( (binary_expression "local_34 == local_30" identifier == identifier) )) (goto_statement "goto LAB_00146aca;" goto statement_identifier ;)) (expression_statement "local_54 = param_1 + 6;" (assignment_expression "local_54 = param_1 + 6" identifier = (binary_expression "param_1 + 6" identifier + number_literal)) ;) (expression_statement "FUN_001463c0(param_1,param_3);" (call_expression "FUN_001463c0(param_1,param_3)" identifier (argument_list "(param_1,param_3)" ( identifier , identifier ))) ;) })) (expression_statement "puVar8 = auStack_70;" (assignment_expression "puVar8 = auStack_70" identifier = identifier) ;) (expression_statement "puVar7 = auStack_70;" (assignment_expression "puVar7 = auStack_70" identifier = identifier) ;) (expression_statement "local_4c = 0;" (assignment_expression "local_4c = 0" identifier = number_literal) ;) (expression_statement "local_54 = param_1 + 6;" (assignment_expression "local_54 = param_1 + 6" identifier = (binary_expression "param_1 + 6" identifier + number_literal)) ;) (expression_statement "local_58 = &local_28;" (assignment_expression "local_58 = &local_28" identifier = (pointer_expression "&local_28" & identifier)) ;) (expression_statement "local_5c = &local_3c;" (assignment_expression "local_5c = &local_3c" identifier = (pointer_expression "&local_3c" & identifier)) ;) (expression_statement "local_60 = local_48 + -0x2068;" (assignment_expression "local_60 = local_48 + -0x2068" identifier = (binary_expression "local_48 + -0x2068" identifier + number_literal)) ;) (expression_statement "piVar4 = local_34;" (assignment_expression "piVar4 = local_34" identifier = identifier) ;) (if_statement "if (local_34 != local_30) {\n    do {\n      *(int ***)(puVar7 + -4) = local_5c;\n      *(undefined4 *)(puVar7 + -8) = 1;\n      *(int *)(puVar7 + -0xc) = local_34[local_4c * 6];\n      *(undefined4 *)(puVar7 + -0x10) = param_3;\n      *(undefined4 *)(puVar7 + -0x14) = 0x1468c3;\n      iVar3 = FUN_001200e0();\n      *(int *)(puVar7 + -8) = iVar3;\n      *(undefined4 *)(puVar7 + -0xc) = param_1[0xe];\n      *(int ***)(puVar7 + -0x10) = local_58;\n      *(undefined4 *)(puVar7 + -0x14) = 0x1468d7;\n      FUN_00118dd0();\n      *(undefined4 *)(puVar7 + -0x14) = 0x1c;\n                    \n      *(undefined4 *)(puVar7 + -0x18) = 0x1468de;\n      piVar4 = (int *)FUN_0017ebf0();\n      piVar4[1] = -1;\n      piVar4[2] = iVar3;\n      *piVar4 = (int)local_60;\n      piVar4[3] = 0;\n      local_44 = (int *)((int)local_24 - (int)local_28);\n      piVar4[4] = 0;\n      uVar2 = ((int)local_44 >> 3) * -0x55555555;\n      piVar4[5] = 0;\n      if (uVar2 == 0) {\n        local_50 = (int *)0x0;\n      }\n      else {\n        if (0xaaaaaaa < uVar2) {\n                    \n                    \n          *(undefined1 **)(puVar7 + -8) = &LAB_00146b47;\n          FUN_001c5fe0();\n        }\n        *(int **)(puVar7 + -0x14) = local_44;\n                    \n        *(undefined4 *)(puVar7 + -0x18) = 0x14693e;\n        local_50 = (int *)FUN_0017ebf0();\n      }\n      piVar10 = local_24;\n      puVar8 = puVar7 + -4;\n      piVar4[3] = (int)local_50;\n      piVar4[4] = (int)local_50;\n      piVar4[5] = (int)local_44 + (int)local_50;\n      if (local_28 == local_24) {\n        piVar4[6] = 0;\n        local_38 = piVar4;\n      }\n      else {\n        local_44 = local_50;\n        piVar6 = local_28;\n        do {\n          *local_44 = (int)(local_44 + 2);\n          iVar3 = *piVar6;\n          *(undefined4 *)(puVar7 + -8) = 0;\n          *(int *)(puVar7 + -0xc) = piVar6[1] + iVar3;\n          *(int *)(puVar7 + -0x10) = iVar3;\n          *(int **)(puVar7 + -0x14) = local_44;\n                    \n          *(undefined4 *)(puVar7 + -0x18) = 0x146989;\n          FUN_0004d4e0();\n          piVar1 = local_24;\n          piVar6 = piVar6 + 6;\n          local_44 = local_44 + 6;\n        } while (piVar10 != piVar6);\n        piVar4[6] = 0;\n        piVar4[4] = (int)local_44;\n        local_38 = piVar4;\n        piVar10 = local_24;\n        for (piVar4 = local_28; piVar4 != piVar1; piVar4 = piVar4 + 6) {\n          if ((int *)*piVar4 != piVar4 + 2) {\n            *(int **)(puVar7 + -0x14) = (int *)*piVar4;\n            *(undefined4 *)(puVar7 + -0x18) = 0x1469cd;\n            FUN_001807a0();\n          }\n          piVar10 = local_28;\n        }\n      }\n      if (piVar10 != (int *)0x0) {\n        *(int **)(puVar7 + -0x14) = piVar10;\n        *(undefined4 *)(puVar7 + -0x18) = 0x1469ea;\n        FUN_001807a0();\n      }\n      puVar5 = (undefined4 *)param_1[1];\n      if (puVar5 == (undefined4 *)param_1[2]) {\n        *(int ***)(puVar7 + -0xc) = &local_38;\n        *(undefined4 **)(puVar7 + -0x10) = puVar5;\n        *(undefined4 **)(puVar7 + -0x14) = param_1;\n        *(undefined4 *)(puVar7 + -0x18) = 0x146b28;\n        FUN_00149250();\n      }\n      else {\n        *puVar5 = local_38;\n        param_1[1] = puVar5 + 1;\n      }\n      piVar10 = local_38;\n      piVar4 = local_3c;\n      *(undefined4 *)(puVar7 + -0x14) = 0x14;\n                    \n      *(undefined4 *)(puVar7 + -0x18) = 0x146a1e;\n      puVar5 = (undefined4 *)FUN_0017ebf0();\n      local_24 = (int *)0x0;\n      *puVar5 = 0;\n      local_28 = piVar4;\n      puVar5[2] = 0;\n      uVar9 = (int)piVar4 + puVar5[2];\n      puVar5[3] = piVar10;\n      puVar5[1] = piVar4;\n      uVar2 = param_1[7];\n      *(uint *)(puVar7 + -8) = uVar9;\n      *(undefined4 **)(puVar7 + -0xc) = puVar5 + 1;\n      *(uint *)(puVar7 + -0x10) = uVar9 % uVar2;\n      *(undefined4 **)(puVar7 + -0x14) = local_54;\n      *(undefined4 *)(puVar7 + -0x18) = 0x146a5f;\n      piVar4 = (int *)FUN_0014d100();\n      if ((piVar4 == (int *)0x0) || (*piVar4 == 0)) {\n        *(undefined4 *)(puVar7 + -0x10) = 1;\n        *(undefined4 **)(puVar7 + -0x14) = puVar5;\n        *(uint *)(puVar7 + -0x18) = uVar9;\n        *(uint *)(puVar7 + -0x1c) = uVar9 % uVar2;\n        *(undefined4 **)(puVar7 + -0x20) = local_54;\n        *(undefined1 **)(puVar7 + -0x24) = local_40;\n        *(undefined4 *)(puVar7 + -0x28) = 0x146afc;\n        FUN_0014ced0();\n        puVar8 = puVar7 + -8;\n      }\n      else {\n        *(undefined4 **)(puVar7 + -0x14) = puVar5;\n        *(undefined4 *)(puVar7 + -0x18) = 0x146a7c;\n        FUN_001807a0();\n      }\n      local_4c = local_4c + 1;\n      puVar7 = puVar8;\n      piVar10 = local_34;\n      piVar4 = local_34;\n    } while (local_4c < (uint)(((int)local_30 - (int)local_34 >> 3) * -0x55555555));\n    for (; piVar10 != local_30; piVar10 = piVar10 + 6) {\n      local_34 = piVar4;\n      if ((int *)*piVar10 != piVar10 + 2) {\n        *(int **)(puVar8 + -0x10) = (int *)*piVar10;\n        *(undefined4 *)(puVar8 + -0x14) = 0x146abd;\n        FUN_001807a0();\n      }\n      piVar4 = local_34;\n    }\n  }" if (parenthesized_expression "(local_34 != local_30)" ( (binary_expression "local_34 != local_30" identifier != identifier) )) (compound_statement "{\n    do {\n      *(int ***)(puVar7 + -4) = local_5c;\n      *(undefined4 *)(puVar7 + -8) = 1;\n      *(int *)(puVar7 + -0xc) = local_34[local_4c * 6];\n      *(undefined4 *)(puVar7 + -0x10) = param_3;\n      *(undefined4 *)(puVar7 + -0x14) = 0x1468c3;\n      iVar3 = FUN_001200e0();\n      *(int *)(puVar7 + -8) = iVar3;\n      *(undefined4 *)(puVar7 + -0xc) = param_1[0xe];\n      *(int ***)(puVar7 + -0x10) = local_58;\n      *(undefined4 *)(puVar7 + -0x14) = 0x1468d7;\n      FUN_00118dd0();\n      *(undefined4 *)(puVar7 + -0x14) = 0x1c;\n                    \n      *(undefined4 *)(puVar7 + -0x18) = 0x1468de;\n      piVar4 = (int *)FUN_0017ebf0();\n      piVar4[1] = -1;\n      piVar4[2] = iVar3;\n      *piVar4 = (int)local_60;\n      piVar4[3] = 0;\n      local_44 = (int *)((int)local_24 - (int)local_28);\n      piVar4[4] = 0;\n      uVar2 = ((int)local_44 >> 3) * -0x55555555;\n      piVar4[5] = 0;\n      if (uVar2 == 0) {\n        local_50 = (int *)0x0;\n      }\n      else {\n        if (0xaaaaaaa < uVar2) {\n                    \n                    \n          *(undefined1 **)(puVar7 + -8) = &LAB_00146b47;\n          FUN_001c5fe0();\n        }\n        *(int **)(puVar7 + -0x14) = local_44;\n                    \n        *(undefined4 *)(puVar7 + -0x18) = 0x14693e;\n        local_50 = (int *)FUN_0017ebf0();\n      }\n      piVar10 = local_24;\n      puVar8 = puVar7 + -4;\n      piVar4[3] = (int)local_50;\n      piVar4[4] = (int)local_50;\n      piVar4[5] = (int)local_44 + (int)local_50;\n      if (local_28 == local_24) {\n        piVar4[6] = 0;\n        local_38 = piVar4;\n      }\n      else {\n        local_44 = local_50;\n        piVar6 = local_28;\n        do {\n          *local_44 = (int)(local_44 + 2);\n          iVar3 = *piVar6;\n          *(undefined4 *)(puVar7 + -8) = 0;\n          *(int *)(puVar7 + -0xc) = piVar6[1] + iVar3;\n          *(int *)(puVar7 + -0x10) = iVar3;\n          *(int **)(puVar7 + -0x14) = local_44;\n                    \n          *(undefined4 *)(puVar7 + -0x18) = 0x146989;\n          FUN_0004d4e0();\n          piVar1 = local_24;\n          piVar6 = piVar6 + 6;\n          local_44 = local_44 + 6;\n        } while (piVar10 != piVar6);\n        piVar4[6] = 0;\n        piVar4[4] = (int)local_44;\n        local_38 = piVar4;\n        piVar10 = local_24;\n        for (piVar4 = local_28; piVar4 != piVar1; piVar4 = piVar4 + 6) {\n          if ((int *)*piVar4 != piVar4 + 2) {\n            *(int **)(puVar7 + -0x14) = (int *)*piVar4;\n            *(undefined4 *)(puVar7 + -0x18) = 0x1469cd;\n            FUN_001807a0();\n          }\n          piVar10 = local_28;\n        }\n      }\n      if (piVar10 != (int *)0x0) {\n        *(int **)(puVar7 + -0x14) = piVar10;\n        *(undefined4 *)(puVar7 + -0x18) = 0x1469ea;\n        FUN_001807a0();\n      }\n      puVar5 = (undefined4 *)param_1[1];\n      if (puVar5 == (undefined4 *)param_1[2]) {\n        *(int ***)(puVar7 + -0xc) = &local_38;\n        *(undefined4 **)(puVar7 + -0x10) = puVar5;\n        *(undefined4 **)(puVar7 + -0x14) = param_1;\n        *(undefined4 *)(puVar7 + -0x18) = 0x146b28;\n        FUN_00149250();\n      }\n      else {\n        *puVar5 = local_38;\n        param_1[1] = puVar5 + 1;\n      }\n      piVar10 = local_38;\n      piVar4 = local_3c;\n      *(undefined4 *)(puVar7 + -0x14) = 0x14;\n                    \n      *(undefined4 *)(puVar7 + -0x18) = 0x146a1e;\n      puVar5 = (undefined4 *)FUN_0017ebf0();\n      local_24 = (int *)0x0;\n      *puVar5 = 0;\n      local_28 = piVar4;\n      puVar5[2] = 0;\n      uVar9 = (int)piVar4 + puVar5[2];\n      puVar5[3] = piVar10;\n      puVar5[1] = piVar4;\n      uVar2 = param_1[7];\n      *(uint *)(puVar7 + -8) = uVar9;\n      *(undefined4 **)(puVar7 + -0xc) = puVar5 + 1;\n      *(uint *)(puVar7 + -0x10) = uVar9 % uVar2;\n      *(undefined4 **)(puVar7 + -0x14) = local_54;\n      *(undefined4 *)(puVar7 + -0x18) = 0x146a5f;\n      piVar4 = (int *)FUN_0014d100();\n      if ((piVar4 == (int *)0x0) || (*piVar4 == 0)) {\n        *(undefined4 *)(puVar7 + -0x10) = 1;\n        *(undefined4 **)(puVar7 + -0x14) = puVar5;\n        *(uint *)(puVar7 + -0x18) = uVar9;\n        *(uint *)(puVar7 + -0x1c) = uVar9 % uVar2;\n        *(undefined4 **)(puVar7 + -0x20) = local_54;\n        *(undefined1 **)(puVar7 + -0x24) = local_40;\n        *(undefined4 *)(puVar7 + -0x28) = 0x146afc;\n        FUN_0014ced0();\n        puVar8 = puVar7 + -8;\n      }\n      else {\n        *(undefined4 **)(puVar7 + -0x14) = puVar5;\n        *(undefined4 *)(puVar7 + -0x18) = 0x146a7c;\n        FUN_001807a0();\n      }\n      local_4c = local_4c + 1;\n      puVar7 = puVar8;\n      piVar10 = local_34;\n      piVar4 = local_34;\n    } while (local_4c < (uint)(((int)local_30 - (int)local_34 >> 3) * -0x55555555));\n    for (; piVar10 != local_30; piVar10 = piVar10 + 6) {\n      local_34 = piVar4;\n      if ((int *)*piVar10 != piVar10 + 2) {\n        *(int **)(puVar8 + -0x10) = (int *)*piVar10;\n        *(undefined4 *)(puVar8 + -0x14) = 0x146abd;\n        FUN_001807a0();\n      }\n      piVar4 = local_34;\n    }\n  }" { (do_statement "do {\n      *(int ***)(puVar7 + -4) = local_5c;\n      *(undefined4 *)(puVar7 + -8) = 1;\n      *(int *)(puVar7 + -0xc) = local_34[local_4c * 6];\n      *(undefined4 *)(puVar7 + -0x10) = param_3;\n      *(undefined4 *)(puVar7 + -0x14) = 0x1468c3;\n      iVar3 = FUN_001200e0();\n      *(int *)(puVar7 + -8) = iVar3;\n      *(undefined4 *)(puVar7 + -0xc) = param_1[0xe];\n      *(int ***)(puVar7 + -0x10) = local_58;\n      *(undefined4 *)(puVar7 + -0x14) = 0x1468d7;\n      FUN_00118dd0();\n      *(undefined4 *)(puVar7 + -0x14) = 0x1c;\n                    \n      *(undefined4 *)(puVar7 + -0x18) = 0x1468de;\n      piVar4 = (int *)FUN_0017ebf0();\n      piVar4[1] = -1;\n      piVar4[2] = iVar3;\n      *piVar4 = (int)local_60;\n      piVar4[3] = 0;\n      local_44 = (int *)((int)local_24 - (int)local_28);\n      piVar4[4] = 0;\n      uVar2 = ((int)local_44 >> 3) * -0x55555555;\n      piVar4[5] = 0;\n      if (uVar2 == 0) {\n        local_50 = (int *)0x0;\n      }\n      else {\n        if (0xaaaaaaa < uVar2) {\n                    \n                    \n          *(undefined1 **)(puVar7 + -8) = &LAB_00146b47;\n          FUN_001c5fe0();\n        }\n        *(int **)(puVar7 + -0x14) = local_44;\n                    \n        *(undefined4 *)(puVar7 + -0x18) = 0x14693e;\n        local_50 = (int *)FUN_0017ebf0();\n      }\n      piVar10 = local_24;\n      puVar8 = puVar7 + -4;\n      piVar4[3] = (int)local_50;\n      piVar4[4] = (int)local_50;\n      piVar4[5] = (int)local_44 + (int)local_50;\n      if (local_28 == local_24) {\n        piVar4[6] = 0;\n        local_38 = piVar4;\n      }\n      else {\n        local_44 = local_50;\n        piVar6 = local_28;\n        do {\n          *local_44 = (int)(local_44 + 2);\n          iVar3 = *piVar6;\n          *(undefined4 *)(puVar7 + -8) = 0;\n          *(int *)(puVar7 + -0xc) = piVar6[1] + iVar3;\n          *(int *)(puVar7 + -0x10) = iVar3;\n          *(int **)(puVar7 + -0x14) = local_44;\n                    \n          *(undefined4 *)(puVar7 + -0x18) = 0x146989;\n          FUN_0004d4e0();\n          piVar1 = local_24;\n          piVar6 = piVar6 + 6;\n          local_44 = local_44 + 6;\n        } while (piVar10 != piVar6);\n        piVar4[6] = 0;\n        piVar4[4] = (int)local_44;\n        local_38 = piVar4;\n        piVar10 = local_24;\n        for (piVar4 = local_28; piVar4 != piVar1; piVar4 = piVar4 + 6) {\n          if ((int *)*piVar4 != piVar4 + 2) {\n            *(int **)(puVar7 + -0x14) = (int *)*piVar4;\n            *(undefined4 *)(puVar7 + -0x18) = 0x1469cd;\n            FUN_001807a0();\n          }\n          piVar10 = local_28;\n        }\n      }\n      if (piVar10 != (int *)0x0) {\n        *(int **)(puVar7 + -0x14) = piVar10;\n        *(undefined4 *)(puVar7 + -0x18) = 0x1469ea;\n        FUN_001807a0();\n      }\n      puVar5 = (undefined4 *)param_1[1];\n      if (puVar5 == (undefined4 *)param_1[2]) {\n        *(int ***)(puVar7 + -0xc) = &local_38;\n        *(undefined4 **)(puVar7 + -0x10) = puVar5;\n        *(undefined4 **)(puVar7 + -0x14) = param_1;\n        *(undefined4 *)(puVar7 + -0x18) = 0x146b28;\n        FUN_00149250();\n      }\n      else {\n        *puVar5 = local_38;\n        param_1[1] = puVar5 + 1;\n      }\n      piVar10 = local_38;\n      piVar4 = local_3c;\n      *(undefined4 *)(puVar7 + -0x14) = 0x14;\n                    \n      *(undefined4 *)(puVar7 + -0x18) = 0x146a1e;\n      puVar5 = (undefined4 *)FUN_0017ebf0();\n      local_24 = (int *)0x0;\n      *puVar5 = 0;\n      local_28 = piVar4;\n      puVar5[2] = 0;\n      uVar9 = (int)piVar4 + puVar5[2];\n      puVar5[3] = piVar10;\n      puVar5[1] = piVar4;\n      uVar2 = param_1[7];\n      *(uint *)(puVar7 + -8) = uVar9;\n      *(undefined4 **)(puVar7 + -0xc) = puVar5 + 1;\n      *(uint *)(puVar7 + -0x10) = uVar9 % uVar2;\n      *(undefined4 **)(puVar7 + -0x14) = local_54;\n      *(undefined4 *)(puVar7 + -0x18) = 0x146a5f;\n      piVar4 = (int *)FUN_0014d100();\n      if ((piVar4 == (int *)0x0) || (*piVar4 == 0)) {\n        *(undefined4 *)(puVar7 + -0x10) = 1;\n        *(undefined4 **)(puVar7 + -0x14) = puVar5;\n        *(uint *)(puVar7 + -0x18) = uVar9;\n        *(uint *)(puVar7 + -0x1c) = uVar9 % uVar2;\n        *(undefined4 **)(puVar7 + -0x20) = local_54;\n        *(undefined1 **)(puVar7 + -0x24) = local_40;\n        *(undefined4 *)(puVar7 + -0x28) = 0x146afc;\n        FUN_0014ced0();\n        puVar8 = puVar7 + -8;\n      }\n      else {\n        *(undefined4 **)(puVar7 + -0x14) = puVar5;\n        *(undefined4 *)(puVar7 + -0x18) = 0x146a7c;\n        FUN_001807a0();\n      }\n      local_4c = local_4c + 1;\n      puVar7 = puVar8;\n      piVar10 = local_34;\n      piVar4 = local_34;\n    } while (local_4c < (uint)(((int)local_30 - (int)local_34 >> 3) * -0x55555555));" do (compound_statement "{\n      *(int ***)(puVar7 + -4) = local_5c;\n      *(undefined4 *)(puVar7 + -8) = 1;\n      *(int *)(puVar7 + -0xc) = local_34[local_4c * 6];\n      *(undefined4 *)(puVar7 + -0x10) = param_3;\n      *(undefined4 *)(puVar7 + -0x14) = 0x1468c3;\n      iVar3 = FUN_001200e0();\n      *(int *)(puVar7 + -8) = iVar3;\n      *(undefined4 *)(puVar7 + -0xc) = param_1[0xe];\n      *(int ***)(puVar7 + -0x10) = local_58;\n      *(undefined4 *)(puVar7 + -0x14) = 0x1468d7;\n      FUN_00118dd0();\n      *(undefined4 *)(puVar7 + -0x14) = 0x1c;\n                    \n      *(undefined4 *)(puVar7 + -0x18) = 0x1468de;\n      piVar4 = (int *)FUN_0017ebf0();\n      piVar4[1] = -1;\n      piVar4[2] = iVar3;\n      *piVar4 = (int)local_60;\n      piVar4[3] = 0;\n      local_44 = (int *)((int)local_24 - (int)local_28);\n      piVar4[4] = 0;\n      uVar2 = ((int)local_44 >> 3) * -0x55555555;\n      piVar4[5] = 0;\n      if (uVar2 == 0) {\n        local_50 = (int *)0x0;\n      }\n      else {\n        if (0xaaaaaaa < uVar2) {\n                    \n                    \n          *(undefined1 **)(puVar7 + -8) = &LAB_00146b47;\n          FUN_001c5fe0();\n        }\n        *(int **)(puVar7 + -0x14) = local_44;\n                    \n        *(undefined4 *)(puVar7 + -0x18) = 0x14693e;\n        local_50 = (int *)FUN_0017ebf0();\n      }\n      piVar10 = local_24;\n      puVar8 = puVar7 + -4;\n      piVar4[3] = (int)local_50;\n      piVar4[4] = (int)local_50;\n      piVar4[5] = (int)local_44 + (int)local_50;\n      if (local_28 == local_24) {\n        piVar4[6] = 0;\n        local_38 = piVar4;\n      }\n      else {\n        local_44 = local_50;\n        piVar6 = local_28;\n        do {\n          *local_44 = (int)(local_44 + 2);\n          iVar3 = *piVar6;\n          *(undefined4 *)(puVar7 + -8) = 0;\n          *(int *)(puVar7 + -0xc) = piVar6[1] + iVar3;\n          *(int *)(puVar7 + -0x10) = iVar3;\n          *(int **)(puVar7 + -0x14) = local_44;\n                    \n          *(undefined4 *)(puVar7 + -0x18) = 0x146989;\n          FUN_0004d4e0();\n          piVar1 = local_24;\n          piVar6 = piVar6 + 6;\n          local_44 = local_44 + 6;\n        } while (piVar10 != piVar6);\n        piVar4[6] = 0;\n        piVar4[4] = (int)local_44;\n        local_38 = piVar4;\n        piVar10 = local_24;\n        for (piVar4 = local_28; piVar4 != piVar1; piVar4 = piVar4 + 6) {\n          if ((int *)*piVar4 != piVar4 + 2) {\n            *(int **)(puVar7 + -0x14) = (int *)*piVar4;\n            *(undefined4 *)(puVar7 + -0x18) = 0x1469cd;\n            FUN_001807a0();\n          }\n          piVar10 = local_28;\n        }\n      }\n      if (piVar10 != (int *)0x0) {\n        *(int **)(puVar7 + -0x14) = piVar10;\n        *(undefined4 *)(puVar7 + -0x18) = 0x1469ea;\n        FUN_001807a0();\n      }\n      puVar5 = (undefined4 *)param_1[1];\n      if (puVar5 == (undefined4 *)param_1[2]) {\n        *(int ***)(puVar7 + -0xc) = &local_38;\n        *(undefined4 **)(puVar7 + -0x10) = puVar5;\n        *(undefined4 **)(puVar7 + -0x14) = param_1;\n        *(undefined4 *)(puVar7 + -0x18) = 0x146b28;\n        FUN_00149250();\n      }\n      else {\n        *puVar5 = local_38;\n        param_1[1] = puVar5 + 1;\n      }\n      piVar10 = local_38;\n      piVar4 = local_3c;\n      *(undefined4 *)(puVar7 + -0x14) = 0x14;\n                    \n      *(undefined4 *)(puVar7 + -0x18) = 0x146a1e;\n      puVar5 = (undefined4 *)FUN_0017ebf0();\n      local_24 = (int *)0x0;\n      *puVar5 = 0;\n      local_28 = piVar4;\n      puVar5[2] = 0;\n      uVar9 = (int)piVar4 + puVar5[2];\n      puVar5[3] = piVar10;\n      puVar5[1] = piVar4;\n      uVar2 = param_1[7];\n      *(uint *)(puVar7 + -8) = uVar9;\n      *(undefined4 **)(puVar7 + -0xc) = puVar5 + 1;\n      *(uint *)(puVar7 + -0x10) = uVar9 % uVar2;\n      *(undefined4 **)(puVar7 + -0x14) = local_54;\n      *(undefined4 *)(puVar7 + -0x18) = 0x146a5f;\n      piVar4 = (int *)FUN_0014d100();\n      if ((piVar4 == (int *)0x0) || (*piVar4 == 0)) {\n        *(undefined4 *)(puVar7 + -0x10) = 1;\n        *(undefined4 **)(puVar7 + -0x14) = puVar5;\n        *(uint *)(puVar7 + -0x18) = uVar9;\n        *(uint *)(puVar7 + -0x1c) = uVar9 % uVar2;\n        *(undefined4 **)(puVar7 + -0x20) = local_54;\n        *(undefined1 **)(puVar7 + -0x24) = local_40;\n        *(undefined4 *)(puVar7 + -0x28) = 0x146afc;\n        FUN_0014ced0();\n        puVar8 = puVar7 + -8;\n      }\n      else {\n        *(undefined4 **)(puVar7 + -0x14) = puVar5;\n        *(undefined4 *)(puVar7 + -0x18) = 0x146a7c;\n        FUN_001807a0();\n      }\n      local_4c = local_4c + 1;\n      puVar7 = puVar8;\n      piVar10 = local_34;\n      piVar4 = local_34;\n    }" { (expression_statement "*(int ***)(puVar7 + -4) = local_5c;" (assignment_expression "*(int ***)(puVar7 + -4) = local_5c" (pointer_expression "*(int ***)(puVar7 + -4)" * (cast_expression "(int ***)(puVar7 + -4)" ( (type_descriptor "int ***" primitive_type (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar7 + -4)" ( (binary_expression "puVar7 + -4" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar7 + -8) = 1;" (assignment_expression "*(undefined4 *)(puVar7 + -8) = 1" (pointer_expression "*(undefined4 *)(puVar7 + -8)" * (cast_expression "(undefined4 *)(puVar7 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar7 + -8)" ( (binary_expression "puVar7 + -8" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)(puVar7 + -0xc) = local_34[local_4c * 6];" (assignment_expression "*(int *)(puVar7 + -0xc) = local_34[local_4c * 6]" (pointer_expression "*(int *)(puVar7 + -0xc)" * (cast_expression "(int *)(puVar7 + -0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar7 + -0xc)" ( (binary_expression "puVar7 + -0xc" identifier + number_literal) )))) = (subscript_expression "local_34[local_4c * 6]" identifier [ (binary_expression "local_4c * 6" identifier * number_literal) ])) ;) (expression_statement "*(undefined4 *)(puVar7 + -0x10) = param_3;" (assignment_expression "*(undefined4 *)(puVar7 + -0x10) = param_3" (pointer_expression "*(undefined4 *)(puVar7 + -0x10)" * (cast_expression "(undefined4 *)(puVar7 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar7 + -0x10)" ( (binary_expression "puVar7 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar7 + -0x14) = 0x1468c3;" (assignment_expression "*(undefined4 *)(puVar7 + -0x14) = 0x1468c3" (pointer_expression "*(undefined4 *)(puVar7 + -0x14)" * (cast_expression "(undefined4 *)(puVar7 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar7 + -0x14)" ( (binary_expression "puVar7 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "iVar3 = FUN_001200e0();" (assignment_expression "iVar3 = FUN_001200e0()" identifier = (call_expression "FUN_001200e0()" identifier (argument_list "()" ( )))) ;) (expression_statement "*(int *)(puVar7 + -8) = iVar3;" (assignment_expression "*(int *)(puVar7 + -8) = iVar3" (pointer_expression "*(int *)(puVar7 + -8)" * (cast_expression "(int *)(puVar7 + -8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar7 + -8)" ( (binary_expression "puVar7 + -8" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar7 + -0xc) = param_1[0xe];" (assignment_expression "*(undefined4 *)(puVar7 + -0xc) = param_1[0xe]" (pointer_expression "*(undefined4 *)(puVar7 + -0xc)" * (cast_expression "(undefined4 *)(puVar7 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar7 + -0xc)" ( (binary_expression "puVar7 + -0xc" identifier + number_literal) )))) = (subscript_expression "param_1[0xe]" identifier [ number_literal ])) ;) (expression_statement "*(int ***)(puVar7 + -0x10) = local_58;" (assignment_expression "*(int ***)(puVar7 + -0x10) = local_58" (pointer_expression "*(int ***)(puVar7 + -0x10)" * (cast_expression "(int ***)(puVar7 + -0x10)" ( (type_descriptor "int ***" primitive_type (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar7 + -0x10)" ( (binary_expression "puVar7 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar7 + -0x14) = 0x1468d7;" (assignment_expression "*(undefined4 *)(puVar7 + -0x14) = 0x1468d7" (pointer_expression "*(undefined4 *)(puVar7 + -0x14)" * (cast_expression "(undefined4 *)(puVar7 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar7 + -0x14)" ( (binary_expression "puVar7 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_00118dd0();" (call_expression "FUN_00118dd0()" identifier (argument_list "()" ( ))) ;) (expression_statement "*(undefined4 *)(puVar7 + -0x14) = 0x1c;" (assignment_expression "*(undefined4 *)(puVar7 + -0x14) = 0x1c" (pointer_expression "*(undefined4 *)(puVar7 + -0x14)" * (cast_expression "(undefined4 *)(puVar7 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar7 + -0x14)" ( (binary_expression "puVar7 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar7 + -0x18) = 0x1468de;" (assignment_expression "*(undefined4 *)(puVar7 + -0x18) = 0x1468de" (pointer_expression "*(undefined4 *)(puVar7 + -0x18)" * (cast_expression "(undefined4 *)(puVar7 + -0x18)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar7 + -0x18)" ( (binary_expression "puVar7 + -0x18" identifier + number_literal) )))) = number_literal) ;) (expression_statement "piVar4 = (int *)FUN_0017ebf0();" (assignment_expression "piVar4 = (int *)FUN_0017ebf0()" identifier = (cast_expression "(int *)FUN_0017ebf0()" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_0017ebf0()" identifier (argument_list "()" ( ))))) ;) (expression_statement "piVar4[1] = -1;" (assignment_expression "piVar4[1] = -1" (subscript_expression "piVar4[1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar4[2] = iVar3;" (assignment_expression "piVar4[2] = iVar3" (subscript_expression "piVar4[2]" identifier [ number_literal ]) = identifier) ;) (expression_statement "*piVar4 = (int)local_60;" (assignment_expression "*piVar4 = (int)local_60" (pointer_expression "*piVar4" * identifier) = (cast_expression "(int)local_60" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "piVar4[3] = 0;" (assignment_expression "piVar4[3] = 0" (subscript_expression "piVar4[3]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_44 = (int *)((int)local_24 - (int)local_28);" (assignment_expression "local_44 = (int *)((int)local_24 - (int)local_28)" identifier = (cast_expression "(int *)((int)local_24 - (int)local_28)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_24 - (int)local_28)" ( (binary_expression "(int)local_24 - (int)local_28" (cast_expression "(int)local_24" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)local_28" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (expression_statement "piVar4[4] = 0;" (assignment_expression "piVar4[4] = 0" (subscript_expression "piVar4[4]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "uVar2 = ((int)local_44 >> 3) * -0x55555555;" (assignment_expression "uVar2 = ((int)local_44 >> 3) * -0x55555555" identifier = (binary_expression "((int)local_44 >> 3) * -0x55555555" (parenthesized_expression "((int)local_44 >> 3)" ( (binary_expression "(int)local_44 >> 3" (cast_expression "(int)local_44" ( (type_descriptor "int" primitive_type) ) identifier) >> number_literal) )) * number_literal)) ;) (expression_statement "piVar4[5] = 0;" (assignment_expression "piVar4[5] = 0" (subscript_expression "piVar4[5]" identifier [ number_literal ]) = number_literal) ;) (if_statement "if (uVar2 == 0) {\n        local_50 = (int *)0x0;\n      }\n      else {\n        if (0xaaaaaaa < uVar2) {\n                    \n                    \n          *(undefined1 **)(puVar7 + -8) = &LAB_00146b47;\n          FUN_001c5fe0();\n        }\n        *(int **)(puVar7 + -0x14) = local_44;\n                    \n        *(undefined4 *)(puVar7 + -0x18) = 0x14693e;\n        local_50 = (int *)FUN_0017ebf0();\n      }" if (parenthesized_expression "(uVar2 == 0)" ( (binary_expression "uVar2 == 0" identifier == number_literal) )) (compound_statement "{\n        local_50 = (int *)0x0;\n      }" { (expression_statement "local_50 = (int *)0x0;" (assignment_expression "local_50 = (int *)0x0" identifier = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }) (else_clause "else {\n        if (0xaaaaaaa < uVar2) {\n                    \n                    \n          *(undefined1 **)(puVar7 + -8) = &LAB_00146b47;\n          FUN_001c5fe0();\n        }\n        *(int **)(puVar7 + -0x14) = local_44;\n                    \n        *(undefined4 *)(puVar7 + -0x18) = 0x14693e;\n        local_50 = (int *)FUN_0017ebf0();\n      }" else (compound_statement "{\n        if (0xaaaaaaa < uVar2) {\n                    \n                    \n          *(undefined1 **)(puVar7 + -8) = &LAB_00146b47;\n          FUN_001c5fe0();\n        }\n        *(int **)(puVar7 + -0x14) = local_44;\n                    \n        *(undefined4 *)(puVar7 + -0x18) = 0x14693e;\n        local_50 = (int *)FUN_0017ebf0();\n      }" { (if_statement "if (0xaaaaaaa < uVar2) {\n                    \n                    \n          *(undefined1 **)(puVar7 + -8) = &LAB_00146b47;\n          FUN_001c5fe0();\n        }" if (parenthesized_expression "(0xaaaaaaa < uVar2)" ( (binary_expression "0xaaaaaaa < uVar2" number_literal < identifier) )) (compound_statement "{\n                    \n                    \n          *(undefined1 **)(puVar7 + -8) = &LAB_00146b47;\n          FUN_001c5fe0();\n        }" { (expression_statement "*(undefined1 **)(puVar7 + -8) = &LAB_00146b47;" (assignment_expression "*(undefined1 **)(puVar7 + -8) = &LAB_00146b47" (pointer_expression "*(undefined1 **)(puVar7 + -8)" * (cast_expression "(undefined1 **)(puVar7 + -8)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar7 + -8)" ( (binary_expression "puVar7 + -8" identifier + number_literal) )))) = (pointer_expression "&LAB_00146b47" & identifier)) ;) (expression_statement "FUN_001c5fe0();" (call_expression "FUN_001c5fe0()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "*(int **)(puVar7 + -0x14) = local_44;" (assignment_expression "*(int **)(puVar7 + -0x14) = local_44" (pointer_expression "*(int **)(puVar7 + -0x14)" * (cast_expression "(int **)(puVar7 + -0x14)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar7 + -0x14)" ( (binary_expression "puVar7 + -0x14" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar7 + -0x18) = 0x14693e;" (assignment_expression "*(undefined4 *)(puVar7 + -0x18) = 0x14693e" (pointer_expression "*(undefined4 *)(puVar7 + -0x18)" * (cast_expression "(undefined4 *)(puVar7 + -0x18)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar7 + -0x18)" ( (binary_expression "puVar7 + -0x18" identifier + number_literal) )))) = number_literal) ;) (expression_statement "local_50 = (int *)FUN_0017ebf0();" (assignment_expression "local_50 = (int *)FUN_0017ebf0()" identifier = (cast_expression "(int *)FUN_0017ebf0()" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_0017ebf0()" identifier (argument_list "()" ( ))))) ;) }))) (expression_statement "piVar10 = local_24;" (assignment_expression "piVar10 = local_24" identifier = identifier) ;) (expression_statement "puVar8 = puVar7 + -4;" (assignment_expression "puVar8 = puVar7 + -4" identifier = (binary_expression "puVar7 + -4" identifier + number_literal)) ;) (expression_statement "piVar4[3] = (int)local_50;" (assignment_expression "piVar4[3] = (int)local_50" (subscript_expression "piVar4[3]" identifier [ number_literal ]) = (cast_expression "(int)local_50" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "piVar4[4] = (int)local_50;" (assignment_expression "piVar4[4] = (int)local_50" (subscript_expression "piVar4[4]" identifier [ number_literal ]) = (cast_expression "(int)local_50" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "piVar4[5] = (int)local_44 + (int)local_50;" (assignment_expression "piVar4[5] = (int)local_44 + (int)local_50" (subscript_expression "piVar4[5]" identifier [ number_literal ]) = (binary_expression "(int)local_44 + (int)local_50" (cast_expression "(int)local_44" ( (type_descriptor "int" primitive_type) ) identifier) + (cast_expression "(int)local_50" ( (type_descriptor "int" primitive_type) ) identifier))) ;) (if_statement "if (local_28 == local_24) {\n        piVar4[6] = 0;\n        local_38 = piVar4;\n      }\n      else {\n        local_44 = local_50;\n        piVar6 = local_28;\n        do {\n          *local_44 = (int)(local_44 + 2);\n          iVar3 = *piVar6;\n          *(undefined4 *)(puVar7 + -8) = 0;\n          *(int *)(puVar7 + -0xc) = piVar6[1] + iVar3;\n          *(int *)(puVar7 + -0x10) = iVar3;\n          *(int **)(puVar7 + -0x14) = local_44;\n                    \n          *(undefined4 *)(puVar7 + -0x18) = 0x146989;\n          FUN_0004d4e0();\n          piVar1 = local_24;\n          piVar6 = piVar6 + 6;\n          local_44 = local_44 + 6;\n        } while (piVar10 != piVar6);\n        piVar4[6] = 0;\n        piVar4[4] = (int)local_44;\n        local_38 = piVar4;\n        piVar10 = local_24;\n        for (piVar4 = local_28; piVar4 != piVar1; piVar4 = piVar4 + 6) {\n          if ((int *)*piVar4 != piVar4 + 2) {\n            *(int **)(puVar7 + -0x14) = (int *)*piVar4;\n            *(undefined4 *)(puVar7 + -0x18) = 0x1469cd;\n            FUN_001807a0();\n          }\n          piVar10 = local_28;\n        }\n      }" if (parenthesized_expression "(local_28 == local_24)" ( (binary_expression "local_28 == local_24" identifier == identifier) )) (compound_statement "{\n        piVar4[6] = 0;\n        local_38 = piVar4;\n      }" { (expression_statement "piVar4[6] = 0;" (assignment_expression "piVar4[6] = 0" (subscript_expression "piVar4[6]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_38 = piVar4;" (assignment_expression "local_38 = piVar4" identifier = identifier) ;) }) (else_clause "else {\n        local_44 = local_50;\n        piVar6 = local_28;\n        do {\n          *local_44 = (int)(local_44 + 2);\n          iVar3 = *piVar6;\n          *(undefined4 *)(puVar7 + -8) = 0;\n          *(int *)(puVar7 + -0xc) = piVar6[1] + iVar3;\n          *(int *)(puVar7 + -0x10) = iVar3;\n          *(int **)(puVar7 + -0x14) = local_44;\n                    \n          *(undefined4 *)(puVar7 + -0x18) = 0x146989;\n          FUN_0004d4e0();\n          piVar1 = local_24;\n          piVar6 = piVar6 + 6;\n          local_44 = local_44 + 6;\n        } while (piVar10 != piVar6);\n        piVar4[6] = 0;\n        piVar4[4] = (int)local_44;\n        local_38 = piVar4;\n        piVar10 = local_24;\n        for (piVar4 = local_28; piVar4 != piVar1; piVar4 = piVar4 + 6) {\n          if ((int *)*piVar4 != piVar4 + 2) {\n            *(int **)(puVar7 + -0x14) = (int *)*piVar4;\n            *(undefined4 *)(puVar7 + -0x18) = 0x1469cd;\n            FUN_001807a0();\n          }\n          piVar10 = local_28;\n        }\n      }" else (compound_statement "{\n        local_44 = local_50;\n        piVar6 = local_28;\n        do {\n          *local_44 = (int)(local_44 + 2);\n          iVar3 = *piVar6;\n          *(undefined4 *)(puVar7 + -8) = 0;\n          *(int *)(puVar7 + -0xc) = piVar6[1] + iVar3;\n          *(int *)(puVar7 + -0x10) = iVar3;\n          *(int **)(puVar7 + -0x14) = local_44;\n                    \n          *(undefined4 *)(puVar7 + -0x18) = 0x146989;\n          FUN_0004d4e0();\n          piVar1 = local_24;\n          piVar6 = piVar6 + 6;\n          local_44 = local_44 + 6;\n        } while (piVar10 != piVar6);\n        piVar4[6] = 0;\n        piVar4[4] = (int)local_44;\n        local_38 = piVar4;\n        piVar10 = local_24;\n        for (piVar4 = local_28; piVar4 != piVar1; piVar4 = piVar4 + 6) {\n          if ((int *)*piVar4 != piVar4 + 2) {\n            *(int **)(puVar7 + -0x14) = (int *)*piVar4;\n            *(undefined4 *)(puVar7 + -0x18) = 0x1469cd;\n            FUN_001807a0();\n          }\n          piVar10 = local_28;\n        }\n      }" { (expression_statement "local_44 = local_50;" (assignment_expression "local_44 = local_50" identifier = identifier) ;) (expression_statement "piVar6 = local_28;" (assignment_expression "piVar6 = local_28" identifier = identifier) ;) (do_statement "do {\n          *local_44 = (int)(local_44 + 2);\n          iVar3 = *piVar6;\n          *(undefined4 *)(puVar7 + -8) = 0;\n          *(int *)(puVar7 + -0xc) = piVar6[1] + iVar3;\n          *(int *)(puVar7 + -0x10) = iVar3;\n          *(int **)(puVar7 + -0x14) = local_44;\n                    \n          *(undefined4 *)(puVar7 + -0x18) = 0x146989;\n          FUN_0004d4e0();\n          piVar1 = local_24;\n          piVar6 = piVar6 + 6;\n          local_44 = local_44 + 6;\n        } while (piVar10 != piVar6);" do (compound_statement "{\n          *local_44 = (int)(local_44 + 2);\n          iVar3 = *piVar6;\n          *(undefined4 *)(puVar7 + -8) = 0;\n          *(int *)(puVar7 + -0xc) = piVar6[1] + iVar3;\n          *(int *)(puVar7 + -0x10) = iVar3;\n          *(int **)(puVar7 + -0x14) = local_44;\n                    \n          *(undefined4 *)(puVar7 + -0x18) = 0x146989;\n          FUN_0004d4e0();\n          piVar1 = local_24;\n          piVar6 = piVar6 + 6;\n          local_44 = local_44 + 6;\n        }" { (expression_statement "*local_44 = (int)(local_44 + 2);" (assignment_expression "*local_44 = (int)(local_44 + 2)" (pointer_expression "*local_44" * identifier) = (cast_expression "(int)(local_44 + 2)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(local_44 + 2)" ( (binary_expression "local_44 + 2" identifier + number_literal) )))) ;) (expression_statement "iVar3 = *piVar6;" (assignment_expression "iVar3 = *piVar6" identifier = (pointer_expression "*piVar6" * identifier)) ;) (expression_statement "*(undefined4 *)(puVar7 + -8) = 0;" (assignment_expression "*(undefined4 *)(puVar7 + -8) = 0" (pointer_expression "*(undefined4 *)(puVar7 + -8)" * (cast_expression "(undefined4 *)(puVar7 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar7 + -8)" ( (binary_expression "puVar7 + -8" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)(puVar7 + -0xc) = piVar6[1] + iVar3;" (assignment_expression "*(int *)(puVar7 + -0xc) = piVar6[1] + iVar3" (pointer_expression "*(int *)(puVar7 + -0xc)" * (cast_expression "(int *)(puVar7 + -0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar7 + -0xc)" ( (binary_expression "puVar7 + -0xc" identifier + number_literal) )))) = (binary_expression "piVar6[1] + iVar3" (subscript_expression "piVar6[1]" identifier [ number_literal ]) + identifier)) ;) (expression_statement "*(int *)(puVar7 + -0x10) = iVar3;" (assignment_expression "*(int *)(puVar7 + -0x10) = iVar3" (pointer_expression "*(int *)(puVar7 + -0x10)" * (cast_expression "(int *)(puVar7 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar7 + -0x10)" ( (binary_expression "puVar7 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int **)(puVar7 + -0x14) = local_44;" (assignment_expression "*(int **)(puVar7 + -0x14) = local_44" (pointer_expression "*(int **)(puVar7 + -0x14)" * (cast_expression "(int **)(puVar7 + -0x14)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar7 + -0x14)" ( (binary_expression "puVar7 + -0x14" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar7 + -0x18) = 0x146989;" (assignment_expression "*(undefined4 *)(puVar7 + -0x18) = 0x146989" (pointer_expression "*(undefined4 *)(puVar7 + -0x18)" * (cast_expression "(undefined4 *)(puVar7 + -0x18)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar7 + -0x18)" ( (binary_expression "puVar7 + -0x18" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_0004d4e0();" (call_expression "FUN_0004d4e0()" identifier (argument_list "()" ( ))) ;) (expression_statement "piVar1 = local_24;" (assignment_expression "piVar1 = local_24" identifier = identifier) ;) (expression_statement "piVar6 = piVar6 + 6;" (assignment_expression "piVar6 = piVar6 + 6" identifier = (binary_expression "piVar6 + 6" identifier + number_literal)) ;) (expression_statement "local_44 = local_44 + 6;" (assignment_expression "local_44 = local_44 + 6" identifier = (binary_expression "local_44 + 6" identifier + number_literal)) ;) }) while (parenthesized_expression "(piVar10 != piVar6)" ( (binary_expression "piVar10 != piVar6" identifier != identifier) )) ;) (expression_statement "piVar4[6] = 0;" (assignment_expression "piVar4[6] = 0" (subscript_expression "piVar4[6]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar4[4] = (int)local_44;" (assignment_expression "piVar4[4] = (int)local_44" (subscript_expression "piVar4[4]" identifier [ number_literal ]) = (cast_expression "(int)local_44" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "local_38 = piVar4;" (assignment_expression "local_38 = piVar4" identifier = identifier) ;) (expression_statement "piVar10 = local_24;" (assignment_expression "piVar10 = local_24" identifier = identifier) ;) (for_statement "for (piVar4 = local_28; piVar4 != piVar1; piVar4 = piVar4 + 6) {\n          if ((int *)*piVar4 != piVar4 + 2) {\n            *(int **)(puVar7 + -0x14) = (int *)*piVar4;\n            *(undefined4 *)(puVar7 + -0x18) = 0x1469cd;\n            FUN_001807a0();\n          }\n          piVar10 = local_28;\n        }" for ( (assignment_expression "piVar4 = local_28" identifier = identifier) ; (binary_expression "piVar4 != piVar1" identifier != identifier) ; (assignment_expression "piVar4 = piVar4 + 6" identifier = (binary_expression "piVar4 + 6" identifier + number_literal)) ) (compound_statement "{\n          if ((int *)*piVar4 != piVar4 + 2) {\n            *(int **)(puVar7 + -0x14) = (int *)*piVar4;\n            *(undefined4 *)(puVar7 + -0x18) = 0x1469cd;\n            FUN_001807a0();\n          }\n          piVar10 = local_28;\n        }" { (if_statement "if ((int *)*piVar4 != piVar4 + 2) {\n            *(int **)(puVar7 + -0x14) = (int *)*piVar4;\n            *(undefined4 *)(puVar7 + -0x18) = 0x1469cd;\n            FUN_001807a0();\n          }" if (parenthesized_expression "((int *)*piVar4 != piVar4 + 2)" ( (binary_expression "(int *)*piVar4 != piVar4 + 2" (cast_expression "(int *)*piVar4" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar4" * identifier)) != (binary_expression "piVar4 + 2" identifier + number_literal)) )) (compound_statement "{\n            *(int **)(puVar7 + -0x14) = (int *)*piVar4;\n            *(undefined4 *)(puVar7 + -0x18) = 0x1469cd;\n            FUN_001807a0();\n          }" { (expression_statement "*(int **)(puVar7 + -0x14) = (int *)*piVar4;" (assignment_expression "*(int **)(puVar7 + -0x14) = (int *)*piVar4" (pointer_expression "*(int **)(puVar7 + -0x14)" * (cast_expression "(int **)(puVar7 + -0x14)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar7 + -0x14)" ( (binary_expression "puVar7 + -0x14" identifier + number_literal) )))) = (cast_expression "(int *)*piVar4" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar4" * identifier))) ;) (expression_statement "*(undefined4 *)(puVar7 + -0x18) = 0x1469cd;" (assignment_expression "*(undefined4 *)(puVar7 + -0x18) = 0x1469cd" (pointer_expression "*(undefined4 *)(puVar7 + -0x18)" * (cast_expression "(undefined4 *)(puVar7 + -0x18)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar7 + -0x18)" ( (binary_expression "puVar7 + -0x18" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_001807a0();" (call_expression "FUN_001807a0()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "piVar10 = local_28;" (assignment_expression "piVar10 = local_28" identifier = identifier) ;) })) }))) (if_statement "if (piVar10 != (int *)0x0) {\n        *(int **)(puVar7 + -0x14) = piVar10;\n        *(undefined4 *)(puVar7 + -0x18) = 0x1469ea;\n        FUN_001807a0();\n      }" if (parenthesized_expression "(piVar10 != (int *)0x0)" ( (binary_expression "piVar10 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        *(int **)(puVar7 + -0x14) = piVar10;\n        *(undefined4 *)(puVar7 + -0x18) = 0x1469ea;\n        FUN_001807a0();\n      }" { (expression_statement "*(int **)(puVar7 + -0x14) = piVar10;" (assignment_expression "*(int **)(puVar7 + -0x14) = piVar10" (pointer_expression "*(int **)(puVar7 + -0x14)" * (cast_expression "(int **)(puVar7 + -0x14)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar7 + -0x14)" ( (binary_expression "puVar7 + -0x14" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar7 + -0x18) = 0x1469ea;" (assignment_expression "*(undefined4 *)(puVar7 + -0x18) = 0x1469ea" (pointer_expression "*(undefined4 *)(puVar7 + -0x18)" * (cast_expression "(undefined4 *)(puVar7 + -0x18)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar7 + -0x18)" ( (binary_expression "puVar7 + -0x18" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_001807a0();" (call_expression "FUN_001807a0()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "puVar5 = (undefined4 *)param_1[1];" (assignment_expression "puVar5 = (undefined4 *)param_1[1]" identifier = (cast_expression "(undefined4 *)param_1[1]" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_1[1]" identifier [ number_literal ]))) ;) (if_statement "if (puVar5 == (undefined4 *)param_1[2]) {\n        *(int ***)(puVar7 + -0xc) = &local_38;\n        *(undefined4 **)(puVar7 + -0x10) = puVar5;\n        *(undefined4 **)(puVar7 + -0x14) = param_1;\n        *(undefined4 *)(puVar7 + -0x18) = 0x146b28;\n        FUN_00149250();\n      }\n      else {\n        *puVar5 = local_38;\n        param_1[1] = puVar5 + 1;\n      }" if (parenthesized_expression "(puVar5 == (undefined4 *)param_1[2])" ( (binary_expression "puVar5 == (undefined4 *)param_1[2]" identifier == (cast_expression "(undefined4 *)param_1[2]" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_1[2]" identifier [ number_literal ]))) )) (compound_statement "{\n        *(int ***)(puVar7 + -0xc) = &local_38;\n        *(undefined4 **)(puVar7 + -0x10) = puVar5;\n        *(undefined4 **)(puVar7 + -0x14) = param_1;\n        *(undefined4 *)(puVar7 + -0x18) = 0x146b28;\n        FUN_00149250();\n      }" { (expression_statement "*(int ***)(puVar7 + -0xc) = &local_38;" (assignment_expression "*(int ***)(puVar7 + -0xc) = &local_38" (pointer_expression "*(int ***)(puVar7 + -0xc)" * (cast_expression "(int ***)(puVar7 + -0xc)" ( (type_descriptor "int ***" primitive_type (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar7 + -0xc)" ( (binary_expression "puVar7 + -0xc" identifier + number_literal) )))) = (pointer_expression "&local_38" & identifier)) ;) (expression_statement "*(undefined4 **)(puVar7 + -0x10) = puVar5;" (assignment_expression "*(undefined4 **)(puVar7 + -0x10) = puVar5" (pointer_expression "*(undefined4 **)(puVar7 + -0x10)" * (cast_expression "(undefined4 **)(puVar7 + -0x10)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar7 + -0x10)" ( (binary_expression "puVar7 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 **)(puVar7 + -0x14) = param_1;" (assignment_expression "*(undefined4 **)(puVar7 + -0x14) = param_1" (pointer_expression "*(undefined4 **)(puVar7 + -0x14)" * (cast_expression "(undefined4 **)(puVar7 + -0x14)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar7 + -0x14)" ( (binary_expression "puVar7 + -0x14" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar7 + -0x18) = 0x146b28;" (assignment_expression "*(undefined4 *)(puVar7 + -0x18) = 0x146b28" (pointer_expression "*(undefined4 *)(puVar7 + -0x18)" * (cast_expression "(undefined4 *)(puVar7 + -0x18)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar7 + -0x18)" ( (binary_expression "puVar7 + -0x18" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_00149250();" (call_expression "FUN_00149250()" identifier (argument_list "()" ( ))) ;) }) (else_clause "else {\n        *puVar5 = local_38;\n        param_1[1] = puVar5 + 1;\n      }" else (compound_statement "{\n        *puVar5 = local_38;\n        param_1[1] = puVar5 + 1;\n      }" { (expression_statement "*puVar5 = local_38;" (assignment_expression "*puVar5 = local_38" (pointer_expression "*puVar5" * identifier) = identifier) ;) (expression_statement "param_1[1] = puVar5 + 1;" (assignment_expression "param_1[1] = puVar5 + 1" (subscript_expression "param_1[1]" identifier [ number_literal ]) = (binary_expression "puVar5 + 1" identifier + number_literal)) ;) }))) (expression_statement "piVar10 = local_38;" (assignment_expression "piVar10 = local_38" identifier = identifier) ;) (expression_statement "piVar4 = local_3c;" (assignment_expression "piVar4 = local_3c" identifier = identifier) ;) (expression_statement "*(undefined4 *)(puVar7 + -0x14) = 0x14;" (assignment_expression "*(undefined4 *)(puVar7 + -0x14) = 0x14" (pointer_expression "*(undefined4 *)(puVar7 + -0x14)" * (cast_expression "(undefined4 *)(puVar7 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar7 + -0x14)" ( (binary_expression "puVar7 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar7 + -0x18) = 0x146a1e;" (assignment_expression "*(undefined4 *)(puVar7 + -0x18) = 0x146a1e" (pointer_expression "*(undefined4 *)(puVar7 + -0x18)" * (cast_expression "(undefined4 *)(puVar7 + -0x18)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar7 + -0x18)" ( (binary_expression "puVar7 + -0x18" identifier + number_literal) )))) = number_literal) ;) (expression_statement "puVar5 = (undefined4 *)FUN_0017ebf0();" (assignment_expression "puVar5 = (undefined4 *)FUN_0017ebf0()" identifier = (cast_expression "(undefined4 *)FUN_0017ebf0()" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_0017ebf0()" identifier (argument_list "()" ( ))))) ;) (expression_statement "local_24 = (int *)0x0;" (assignment_expression "local_24 = (int *)0x0" identifier = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "*puVar5 = 0;" (assignment_expression "*puVar5 = 0" (pointer_expression "*puVar5" * identifier) = number_literal) ;) (expression_statement "local_28 = piVar4;" (assignment_expression "local_28 = piVar4" identifier = identifier) ;) (expression_statement "puVar5[2] = 0;" (assignment_expression "puVar5[2] = 0" (subscript_expression "puVar5[2]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "uVar9 = (int)piVar4 + puVar5[2];" (assignment_expression "uVar9 = (int)piVar4 + puVar5[2]" identifier = (binary_expression "(int)piVar4 + puVar5[2]" (cast_expression "(int)piVar4" ( (type_descriptor "int" primitive_type) ) identifier) + (subscript_expression "puVar5[2]" identifier [ number_literal ]))) ;) (expression_statement "puVar5[3] = piVar10;" (assignment_expression "puVar5[3] = piVar10" (subscript_expression "puVar5[3]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar5[1] = piVar4;" (assignment_expression "puVar5[1] = piVar4" (subscript_expression "puVar5[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "uVar2 = param_1[7];" (assignment_expression "uVar2 = param_1[7]" identifier = (subscript_expression "param_1[7]" identifier [ number_literal ])) ;) (expression_statement "*(uint *)(puVar7 + -8) = uVar9;" (assignment_expression "*(uint *)(puVar7 + -8) = uVar9" (pointer_expression "*(uint *)(puVar7 + -8)" * (cast_expression "(uint *)(puVar7 + -8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar7 + -8)" ( (binary_expression "puVar7 + -8" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 **)(puVar7 + -0xc) = puVar5 + 1;" (assignment_expression "*(undefined4 **)(puVar7 + -0xc) = puVar5 + 1" (pointer_expression "*(undefined4 **)(puVar7 + -0xc)" * (cast_expression "(undefined4 **)(puVar7 + -0xc)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar7 + -0xc)" ( (binary_expression "puVar7 + -0xc" identifier + number_literal) )))) = (binary_expression "puVar5 + 1" identifier + number_literal)) ;) (expression_statement "*(uint *)(puVar7 + -0x10) = uVar9 % uVar2;" (assignment_expression "*(uint *)(puVar7 + -0x10) = uVar9 % uVar2" (pointer_expression "*(uint *)(puVar7 + -0x10)" * (cast_expression "(uint *)(puVar7 + -0x10)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar7 + -0x10)" ( (binary_expression "puVar7 + -0x10" identifier + number_literal) )))) = (binary_expression "uVar9 % uVar2" identifier % identifier)) ;) (expression_statement "*(undefined4 **)(puVar7 + -0x14) = local_54;" (assignment_expression "*(undefined4 **)(puVar7 + -0x14) = local_54" (pointer_expression "*(undefined4 **)(puVar7 + -0x14)" * (cast_expression "(undefined4 **)(puVar7 + -0x14)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar7 + -0x14)" ( (binary_expression "puVar7 + -0x14" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar7 + -0x18) = 0x146a5f;" (assignment_expression "*(undefined4 *)(puVar7 + -0x18) = 0x146a5f" (pointer_expression "*(undefined4 *)(puVar7 + -0x18)" * (cast_expression "(undefined4 *)(puVar7 + -0x18)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar7 + -0x18)" ( (binary_expression "puVar7 + -0x18" identifier + number_literal) )))) = number_literal) ;) (expression_statement "piVar4 = (int *)FUN_0014d100();" (assignment_expression "piVar4 = (int *)FUN_0014d100()" identifier = (cast_expression "(int *)FUN_0014d100()" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_0014d100()" identifier (argument_list "()" ( ))))) ;) (if_statement "if ((piVar4 == (int *)0x0) || (*piVar4 == 0)) {\n        *(undefined4 *)(puVar7 + -0x10) = 1;\n        *(undefined4 **)(puVar7 + -0x14) = puVar5;\n        *(uint *)(puVar7 + -0x18) = uVar9;\n        *(uint *)(puVar7 + -0x1c) = uVar9 % uVar2;\n        *(undefined4 **)(puVar7 + -0x20) = local_54;\n        *(undefined1 **)(puVar7 + -0x24) = local_40;\n        *(undefined4 *)(puVar7 + -0x28) = 0x146afc;\n        FUN_0014ced0();\n        puVar8 = puVar7 + -8;\n      }\n      else {\n        *(undefined4 **)(puVar7 + -0x14) = puVar5;\n        *(undefined4 *)(puVar7 + -0x18) = 0x146a7c;\n        FUN_001807a0();\n      }" if (parenthesized_expression "((piVar4 == (int *)0x0) || (*piVar4 == 0))" ( (binary_expression "(piVar4 == (int *)0x0) || (*piVar4 == 0)" (parenthesized_expression "(piVar4 == (int *)0x0)" ( (binary_expression "piVar4 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) || (parenthesized_expression "(*piVar4 == 0)" ( (binary_expression "*piVar4 == 0" (pointer_expression "*piVar4" * identifier) == number_literal) ))) )) (compound_statement "{\n        *(undefined4 *)(puVar7 + -0x10) = 1;\n        *(undefined4 **)(puVar7 + -0x14) = puVar5;\n        *(uint *)(puVar7 + -0x18) = uVar9;\n        *(uint *)(puVar7 + -0x1c) = uVar9 % uVar2;\n        *(undefined4 **)(puVar7 + -0x20) = local_54;\n        *(undefined1 **)(puVar7 + -0x24) = local_40;\n        *(undefined4 *)(puVar7 + -0x28) = 0x146afc;\n        FUN_0014ced0();\n        puVar8 = puVar7 + -8;\n      }" { (expression_statement "*(undefined4 *)(puVar7 + -0x10) = 1;" (assignment_expression "*(undefined4 *)(puVar7 + -0x10) = 1" (pointer_expression "*(undefined4 *)(puVar7 + -0x10)" * (cast_expression "(undefined4 *)(puVar7 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar7 + -0x10)" ( (binary_expression "puVar7 + -0x10" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 **)(puVar7 + -0x14) = puVar5;" (assignment_expression "*(undefined4 **)(puVar7 + -0x14) = puVar5" (pointer_expression "*(undefined4 **)(puVar7 + -0x14)" * (cast_expression "(undefined4 **)(puVar7 + -0x14)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar7 + -0x14)" ( (binary_expression "puVar7 + -0x14" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(uint *)(puVar7 + -0x18) = uVar9;" (assignment_expression "*(uint *)(puVar7 + -0x18) = uVar9" (pointer_expression "*(uint *)(puVar7 + -0x18)" * (cast_expression "(uint *)(puVar7 + -0x18)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar7 + -0x18)" ( (binary_expression "puVar7 + -0x18" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(uint *)(puVar7 + -0x1c) = uVar9 % uVar2;" (assignment_expression "*(uint *)(puVar7 + -0x1c) = uVar9 % uVar2" (pointer_expression "*(uint *)(puVar7 + -0x1c)" * (cast_expression "(uint *)(puVar7 + -0x1c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar7 + -0x1c)" ( (binary_expression "puVar7 + -0x1c" identifier + number_literal) )))) = (binary_expression "uVar9 % uVar2" identifier % identifier)) ;) (expression_statement "*(undefined4 **)(puVar7 + -0x20) = local_54;" (assignment_expression "*(undefined4 **)(puVar7 + -0x20) = local_54" (pointer_expression "*(undefined4 **)(puVar7 + -0x20)" * (cast_expression "(undefined4 **)(puVar7 + -0x20)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar7 + -0x20)" ( (binary_expression "puVar7 + -0x20" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined1 **)(puVar7 + -0x24) = local_40;" (assignment_expression "*(undefined1 **)(puVar7 + -0x24) = local_40" (pointer_expression "*(undefined1 **)(puVar7 + -0x24)" * (cast_expression "(undefined1 **)(puVar7 + -0x24)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar7 + -0x24)" ( (binary_expression "puVar7 + -0x24" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar7 + -0x28) = 0x146afc;" (assignment_expression "*(undefined4 *)(puVar7 + -0x28) = 0x146afc" (pointer_expression "*(undefined4 *)(puVar7 + -0x28)" * (cast_expression "(undefined4 *)(puVar7 + -0x28)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar7 + -0x28)" ( (binary_expression "puVar7 + -0x28" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_0014ced0();" (call_expression "FUN_0014ced0()" identifier (argument_list "()" ( ))) ;) (expression_statement "puVar8 = puVar7 + -8;" (assignment_expression "puVar8 = puVar7 + -8" identifier = (binary_expression "puVar7 + -8" identifier + number_literal)) ;) }) (else_clause "else {\n        *(undefined4 **)(puVar7 + -0x14) = puVar5;\n        *(undefined4 *)(puVar7 + -0x18) = 0x146a7c;\n        FUN_001807a0();\n      }" else (compound_statement "{\n        *(undefined4 **)(puVar7 + -0x14) = puVar5;\n        *(undefined4 *)(puVar7 + -0x18) = 0x146a7c;\n        FUN_001807a0();\n      }" { (expression_statement "*(undefined4 **)(puVar7 + -0x14) = puVar5;" (assignment_expression "*(undefined4 **)(puVar7 + -0x14) = puVar5" (pointer_expression "*(undefined4 **)(puVar7 + -0x14)" * (cast_expression "(undefined4 **)(puVar7 + -0x14)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar7 + -0x14)" ( (binary_expression "puVar7 + -0x14" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar7 + -0x18) = 0x146a7c;" (assignment_expression "*(undefined4 *)(puVar7 + -0x18) = 0x146a7c" (pointer_expression "*(undefined4 *)(puVar7 + -0x18)" * (cast_expression "(undefined4 *)(puVar7 + -0x18)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar7 + -0x18)" ( (binary_expression "puVar7 + -0x18" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_001807a0();" (call_expression "FUN_001807a0()" identifier (argument_list "()" ( ))) ;) }))) (expression_statement "local_4c = local_4c + 1;" (assignment_expression "local_4c = local_4c + 1" identifier = (binary_expression "local_4c + 1" identifier + number_literal)) ;) (expression_statement "puVar7 = puVar8;" (assignment_expression "puVar7 = puVar8" identifier = identifier) ;) (expression_statement "piVar10 = local_34;" (assignment_expression "piVar10 = local_34" identifier = identifier) ;) (expression_statement "piVar4 = local_34;" (assignment_expression "piVar4 = local_34" identifier = identifier) ;) }) while (parenthesized_expression "(local_4c < (uint)(((int)local_30 - (int)local_34 >> 3) * -0x55555555))" ( (binary_expression "local_4c < (uint)(((int)local_30 - (int)local_34 >> 3) * -0x55555555)" identifier < (call_expression "(uint)(((int)local_30 - (int)local_34 >> 3) * -0x55555555)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(((int)local_30 - (int)local_34 >> 3) * -0x55555555)" ( (binary_expression "((int)local_30 - (int)local_34 >> 3) * -0x55555555" (parenthesized_expression "((int)local_30 - (int)local_34 >> 3)" ( (binary_expression "(int)local_30 - (int)local_34 >> 3" (binary_expression "(int)local_30 - (int)local_34" (cast_expression "(int)local_30" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)local_34" ( (type_descriptor "int" primitive_type) ) identifier)) >> number_literal) )) * number_literal) )))) )) ;) (for_statement "for (; piVar10 != local_30; piVar10 = piVar10 + 6) {\n      local_34 = piVar4;\n      if ((int *)*piVar10 != piVar10 + 2) {\n        *(int **)(puVar8 + -0x10) = (int *)*piVar10;\n        *(undefined4 *)(puVar8 + -0x14) = 0x146abd;\n        FUN_001807a0();\n      }\n      piVar4 = local_34;\n    }" for ( ; (binary_expression "piVar10 != local_30" identifier != identifier) ; (assignment_expression "piVar10 = piVar10 + 6" identifier = (binary_expression "piVar10 + 6" identifier + number_literal)) ) (compound_statement "{\n      local_34 = piVar4;\n      if ((int *)*piVar10 != piVar10 + 2) {\n        *(int **)(puVar8 + -0x10) = (int *)*piVar10;\n        *(undefined4 *)(puVar8 + -0x14) = 0x146abd;\n        FUN_001807a0();\n      }\n      piVar4 = local_34;\n    }" { (expression_statement "local_34 = piVar4;" (assignment_expression "local_34 = piVar4" identifier = identifier) ;) (if_statement "if ((int *)*piVar10 != piVar10 + 2) {\n        *(int **)(puVar8 + -0x10) = (int *)*piVar10;\n        *(undefined4 *)(puVar8 + -0x14) = 0x146abd;\n        FUN_001807a0();\n      }" if (parenthesized_expression "((int *)*piVar10 != piVar10 + 2)" ( (binary_expression "(int *)*piVar10 != piVar10 + 2" (cast_expression "(int *)*piVar10" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar10" * identifier)) != (binary_expression "piVar10 + 2" identifier + number_literal)) )) (compound_statement "{\n        *(int **)(puVar8 + -0x10) = (int *)*piVar10;\n        *(undefined4 *)(puVar8 + -0x14) = 0x146abd;\n        FUN_001807a0();\n      }" { (expression_statement "*(int **)(puVar8 + -0x10) = (int *)*piVar10;" (assignment_expression "*(int **)(puVar8 + -0x10) = (int *)*piVar10" (pointer_expression "*(int **)(puVar8 + -0x10)" * (cast_expression "(int **)(puVar8 + -0x10)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar8 + -0x10)" ( (binary_expression "puVar8 + -0x10" identifier + number_literal) )))) = (cast_expression "(int *)*piVar10" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar10" * identifier))) ;) (expression_statement "*(undefined4 *)(puVar8 + -0x14) = 0x146abd;" (assignment_expression "*(undefined4 *)(puVar8 + -0x14) = 0x146abd" (pointer_expression "*(undefined4 *)(puVar8 + -0x14)" * (cast_expression "(undefined4 *)(puVar8 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar8 + -0x14)" ( (binary_expression "puVar8 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_001807a0();" (call_expression "FUN_001807a0()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "piVar4 = local_34;" (assignment_expression "piVar4 = local_34" identifier = identifier) ;) })) })) (labeled_statement "LAB_00146aca:\n  if (piVar4 != (int *)0x0) {\n    *(int **)(puVar8 + -0x10) = piVar4;\n    *(undefined4 *)(puVar8 + -0x14) = 0x146ada;\n    FUN_001807a0();\n  }" statement_identifier : (if_statement "if (piVar4 != (int *)0x0) {\n    *(int **)(puVar8 + -0x10) = piVar4;\n    *(undefined4 *)(puVar8 + -0x14) = 0x146ada;\n    FUN_001807a0();\n  }" if (parenthesized_expression "(piVar4 != (int *)0x0)" ( (binary_expression "piVar4 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    *(int **)(puVar8 + -0x10) = piVar4;\n    *(undefined4 *)(puVar8 + -0x14) = 0x146ada;\n    FUN_001807a0();\n  }" { (expression_statement "*(int **)(puVar8 + -0x10) = piVar4;" (assignment_expression "*(int **)(puVar8 + -0x10) = piVar4" (pointer_expression "*(int **)(puVar8 + -0x10)" * (cast_expression "(int **)(puVar8 + -0x10)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar8 + -0x10)" ( (binary_expression "puVar8 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar8 + -0x14) = 0x146ada;" (assignment_expression "*(undefined4 *)(puVar8 + -0x14) = 0x146ada" (pointer_expression "*(undefined4 *)(puVar8 + -0x14)" * (cast_expression "(undefined4 *)(puVar8 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar8 + -0x14)" ( (binary_expression "puVar8 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_001807a0();" (call_expression "FUN_001807a0()" identifier (argument_list "()" ( ))) ;) }))) (return_statement "return;" return ;) })))
(translation_unit (function_definition TYPE (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE (pointer_declarator * IDENT)) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) ))) (compound_statement { (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * IDENT)) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * IDENT)) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * IDENT)) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * IDENT)) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * (pointer_declarator * IDENT)) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT) + LIT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_expression IDENT < LIT) )) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (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 (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_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 (subscript_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) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == IDENT) )) (compound_statement { (return_statement return ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;) (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 IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == IDENT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;) })) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != IDENT) )) (compound_statement { (do_statement do (compound_statement { (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 *)) ) (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) )))) = (subscript_expression IDENT [ (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) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (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 *)))) ) (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 (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 *)) ) (call_expression IDENT (argument_list ( ))))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) - (cast_expression ( (type_descriptor TYPE) ) IDENT)) )))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) >> LIT) )) * LIT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = 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 *)) ) LIT)) ;) }) (else_clause else (compound_statement { (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 * (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 * (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 *)) ) (call_expression IDENT (argument_list ( ))))) ;) }))) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (cast_expression ( (type_descriptor TYPE) ) IDENT))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == IDENT) )) (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression IDENT + 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) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (subscript_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 (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)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_expression IDENT != IDENT) )) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (for_statement for ( (assignment_expression IDENT = IDENT) ; (binary_expression IDENT != IDENT) ; (assignment_expression IDENT = (binary_expression IDENT + LIT)) ) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT)) != (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) )))) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (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 ( ))) ;) })) (expression_statement (assignment_expression IDENT = IDENT) ;) })) }))) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) 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 *)) ) (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 *)) ) (subscript_expression IDENT [ LIT ]))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (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 *)))) ) (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 *))) ) (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 (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 * IDENT) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression IDENT + LIT)) ;) }))) (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 (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 *)) ) (call_expression IDENT (argument_list ( ))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (subscript_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) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (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) )))) = (binary_expression IDENT % 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 (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( ))))) ;) (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 (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 *))) ) (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 % 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 (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)) ;) }) (else_clause else (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 *)) ) (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 IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }) while (parenthesized_expression ( (binary_expression IDENT < (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) - (cast_expression ( (type_descriptor TYPE) ) IDENT)) >> LIT) )) * LIT) )))) )) ;) (for_statement for ( ; (binary_expression IDENT != IDENT) ; (assignment_expression IDENT = (binary_expression IDENT + LIT)) ) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT)) != (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) )))) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (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 ( ))) ;) })) (expression_statement (assignment_expression IDENT = IDENT) ;) })) })) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) 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 *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) }))) (return_statement return ;) })))
(function_definition "void FUN_00146780(undefined4 *param_1,int param_2,undefined4 param_3)\n\n{\n  int *piVar1;\n  uint uVar2;\n  int iVar3;\n  int *piVar4;\n  undefined4 *puVar5;\n  int *piVar6;\n  undefined1 *puVar7;\n  undefined1 *puVar8;\n  uint uVar9;\n  int *piVar10;\n  undefined1 auStack_70 [12];\n  int **local_64;\n  undefined **local_60;\n  int **local_5c;\n  int **local_58;\n  undefined4 *local_54;\n  int *local_50;\n  uint local_4c;\n  undefined **local_48;\n  int *local_44;\n  undefined1 local_40 [4];\n  int *local_3c;\n  int *local_38;\n  int *local_34;\n  int *local_30;\n  int *local_28;\n  int *local_24;\n  \n  local_48 = &__DT_PLTGOT;\n  *param_1 = 0;\n  param_1[1] = 0;\n  param_1[2] = 0;\n  param_1[3] = 0;\n  param_1[4] = 0;\n  param_1[5] = 0;\n  uVar2 = 0;\n  do {\n    *(undefined4 *)((int)param_1 + uVar2 + 0x18) = 0;\n    uVar2 = uVar2 + 4;\n  } while (uVar2 < 0x1c);\n  param_1[7] = 1;\n  param_1[6] = param_1 + 0xc;\n  iVar3 = *(int *)(param_2 + 0x1c);\n  param_1[8] = 0;\n  param_1[9] = 0;\n  param_1[10] = 0x3f800000;\n  param_1[0xb] = 0;\n  param_1[0xc] = 0;\n  *(undefined1 *)(param_1 + 0xd) = 0;\n  param_1[0xe] = param_2;\n  *(undefined1 *)(param_1 + 0xf) = 1;\n  if (*(int *)(param_2 + 0x18) == iVar3) {\n    return;\n  }\n  local_64 = &local_34;\n                    \n  FUN_00119630(local_64,param_2);\n  puVar8 = auStack_70;\n  if (*(char *)(param_1 + 0xf) != '\0') {\n    piVar4 = local_30;\n    if (local_34 == local_30) goto LAB_00146aca;\n    local_54 = param_1 + 6;\n                    \n    FUN_001463c0(param_1,param_3);\n  }\n  puVar8 = auStack_70;\n  puVar7 = auStack_70;\n  local_4c = 0;\n  local_54 = param_1 + 6;\n  local_58 = &local_28;\n  local_5c = &local_3c;\n  local_60 = local_48 + -0x2068;\n  piVar4 = local_34;\n  if (local_34 != local_30) {\n    do {\n      *(int ***)(puVar7 + -4) = local_5c;\n      *(undefined4 *)(puVar7 + -8) = 1;\n      *(int *)(puVar7 + -0xc) = local_34[local_4c * 6];\n      *(undefined4 *)(puVar7 + -0x10) = param_3;\n      *(undefined4 *)(puVar7 + -0x14) = 0x1468c3;\n      iVar3 = FUN_001200e0();\n      *(int *)(puVar7 + -8) = iVar3;\n      *(undefined4 *)(puVar7 + -0xc) = param_1[0xe];\n      *(int ***)(puVar7 + -0x10) = local_58;\n      *(undefined4 *)(puVar7 + -0x14) = 0x1468d7;\n      FUN_00118dd0();\n      *(undefined4 *)(puVar7 + -0x14) = 0x1c;\n                    \n      *(undefined4 *)(puVar7 + -0x18) = 0x1468de;\n      piVar4 = (int *)FUN_0017ebf0();\n      piVar4[1] = -1;\n      piVar4[2] = iVar3;\n      *piVar4 = (int)local_60;\n      piVar4[3] = 0;\n      local_44 = (int *)((int)local_24 - (int)local_28);\n      piVar4[4] = 0;\n      uVar2 = ((int)local_44 >> 3) * -0x55555555;\n      piVar4[5] = 0;\n      if (uVar2 == 0) {\n        local_50 = (int *)0x0;\n      }\n      else {\n        if (0xaaaaaaa < uVar2) {\n                    \n                    \n          *(undefined1 **)(puVar7 + -8) = &LAB_00146b47;\n          FUN_001c5fe0();\n        }\n        *(int **)(puVar7 + -0x14) = local_44;\n                    \n        *(undefined4 *)(puVar7 + -0x18) = 0x14693e;\n        local_50 = (int *)FUN_0017ebf0();\n      }\n      piVar10 = local_24;\n      puVar8 = puVar7 + -4;\n      piVar4[3] = (int)local_50;\n      piVar4[4] = (int)local_50;\n      piVar4[5] = (int)local_44 + (int)local_50;\n      if (local_28 == local_24) {\n        piVar4[6] = 0;\n        local_38 = piVar4;\n      }\n      else {\n        local_44 = local_50;\n        piVar6 = local_28;\n        do {\n          *local_44 = (int)(local_44 + 2);\n          iVar3 = *piVar6;\n          *(undefined4 *)(puVar7 + -8) = 0;\n          *(int *)(puVar7 + -0xc) = piVar6[1] + iVar3;\n          *(int *)(puVar7 + -0x10) = iVar3;\n          *(int **)(puVar7 + -0x14) = local_44;\n                    \n          *(undefined4 *)(puVar7 + -0x18) = 0x146989;\n          FUN_0004d4e0();\n          piVar1 = local_24;\n          piVar6 = piVar6 + 6;\n          local_44 = local_44 + 6;\n        } while (piVar10 != piVar6);\n        piVar4[6] = 0;\n        piVar4[4] = (int)local_44;\n        local_38 = piVar4;\n        piVar10 = local_24;\n        for (piVar4 = local_28; piVar4 != piVar1; piVar4 = piVar4 + 6) {\n          if ((int *)*piVar4 != piVar4 + 2) {\n            *(int **)(puVar7 + -0x14) = (int *)*piVar4;\n            *(undefined4 *)(puVar7 + -0x18) = 0x1469cd;\n            FUN_001807a0();\n          }\n          piVar10 = local_28;\n        }\n      }\n      if (piVar10 != (int *)0x0) {\n        *(int **)(puVar7 + -0x14) = piVar10;\n        *(undefined4 *)(puVar7 + -0x18) = 0x1469ea;\n        FUN_001807a0();\n      }\n      puVar5 = (undefined4 *)param_1[1];\n      if (puVar5 == (undefined4 *)param_1[2]) {\n        *(int ***)(puVar7 + -0xc) = &local_38;\n        *(undefined4 **)(puVar7 + -0x10) = puVar5;\n        *(undefined4 **)(puVar7 + -0x14) = param_1;\n        *(undefined4 *)(puVar7 + -0x18) = 0x146b28;\n        FUN_00149250();\n      }\n      else {\n        *puVar5 = local_38;\n        param_1[1] = puVar5 + 1;\n      }\n      piVar10 = local_38;\n      piVar4 = local_3c;\n      *(undefined4 *)(puVar7 + -0x14) = 0x14;\n                    \n      *(undefined4 *)(puVar7 + -0x18) = 0x146a1e;\n      puVar5 = (undefined4 *)FUN_0017ebf0();\n      local_24 = (int *)0x0;\n      *puVar5 = 0;\n      local_28 = piVar4;\n      puVar5[2] = 0;\n      uVar9 = (int)piVar4 + puVar5[2];\n      puVar5[3] = piVar10;\n      puVar5[1] = piVar4;\n      uVar2 = param_1[7];\n      *(uint *)(puVar7 + -8) = uVar9;\n      *(undefined4 **)(puVar7 + -0xc) = puVar5 + 1;\n      *(uint *)(puVar7 + -0x10) = uVar9 % uVar2;\n      *(undefined4 **)(puVar7 + -0x14) = local_54;\n      *(undefined4 *)(puVar7 + -0x18) = 0x146a5f;\n      piVar4 = (int *)FUN_0014d100();\n      if ((piVar4 == (int *)0x0) || (*piVar4 == 0)) {\n        *(undefined4 *)(puVar7 + -0x10) = 1;\n        *(undefined4 **)(puVar7 + -0x14) = puVar5;\n        *(uint *)(puVar7 + -0x18) = uVar9;\n        *(uint *)(puVar7 + -0x1c) = uVar9 % uVar2;\n        *(undefined4 **)(puVar7 + -0x20) = local_54;\n        *(undefined1 **)(puVar7 + -0x24) = local_40;\n        *(undefined4 *)(puVar7 + -0x28) = 0x146afc;\n        FUN_0014ced0();\n        puVar8 = puVar7 + -8;\n      }\n      else {\n        *(undefined4 **)(puVar7 + -0x14) = puVar5;\n        *(undefined4 *)(puVar7 + -0x18) = 0x146a7c;\n        FUN_001807a0();\n      }\n      local_4c = local_4c + 1;\n      puVar7 = puVar8;\n      piVar10 = local_34;\n      piVar4 = local_34;\n    } while (local_4c < (uint)(((int)local_30 - (int)local_34 >> 3) * -0x55555555));\n    for (; piVar10 != local_30; piVar10 = piVar10 + 6) {\n      local_34 = piVar4;\n      if ((int *)*piVar10 != piVar10 + 2) {\n        *(int **)(puVar8 + -0x10) = (int *)*piVar10;\n        *(undefined4 *)(puVar8 + -0x14) = 0x146abd;\n        FUN_001807a0();\n      }\n      piVar4 = local_34;\n    }\n  }\nLAB_00146aca:\n  if (piVar4 != (int *)0x0) {\n    *(int **)(puVar8 + -0x10) = piVar4;\n    *(undefined4 *)(puVar8 + -0x14) = 0x146ada;\n    FUN_001807a0();\n  }\n  return;\n}" (primitive_type "void") (function_declarator "FUN_00146780(undefined4 *param_1,int param_2,undefined4 param_3)" (identifier "FUN_00146780") (parameter_list "(undefined4 *param_1,int param_2,undefined4 param_3)" (( "(") (parameter_declaration "undefined4 *param_1" (type_identifier "undefined4") (pointer_declarator "*param_1" (* "*") (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")) () ")"))) (compound_statement "{\n  int *piVar1;\n  uint uVar2;\n  int iVar3;\n  int *piVar4;\n  undefined4 *puVar5;\n  int *piVar6;\n  undefined1 *puVar7;\n  undefined1 *puVar8;\n  uint uVar9;\n  int *piVar10;\n  undefined1 auStack_70 [12];\n  int **local_64;\n  undefined **local_60;\n  int **local_5c;\n  int **local_58;\n  undefined4 *local_54;\n  int *local_50;\n  uint local_4c;\n  undefined **local_48;\n  int *local_44;\n  undefined1 local_40 [4];\n  int *local_3c;\n  int *local_38;\n  int *local_34;\n  int *local_30;\n  int *local_28;\n  int *local_24;\n  \n  local_48 = &__DT_PLTGOT;\n  *param_1 = 0;\n  param_1[1] = 0;\n  param_1[2] = 0;\n  param_1[3] = 0;\n  param_1[4] = 0;\n  param_1[5] = 0;\n  uVar2 = 0;\n  do {\n    *(undefined4 *)((int)param_1 + uVar2 + 0x18) = 0;\n    uVar2 = uVar2 + 4;\n  } while (uVar2 < 0x1c);\n  param_1[7] = 1;\n  param_1[6] = param_1 + 0xc;\n  iVar3 = *(int *)(param_2 + 0x1c);\n  param_1[8] = 0;\n  param_1[9] = 0;\n  param_1[10] = 0x3f800000;\n  param_1[0xb] = 0;\n  param_1[0xc] = 0;\n  *(undefined1 *)(param_1 + 0xd) = 0;\n  param_1[0xe] = param_2;\n  *(undefined1 *)(param_1 + 0xf) = 1;\n  if (*(int *)(param_2 + 0x18) == iVar3) {\n    return;\n  }\n  local_64 = &local_34;\n                    \n  FUN_00119630(local_64,param_2);\n  puVar8 = auStack_70;\n  if (*(char *)(param_1 + 0xf) != '\0') {\n    piVar4 = local_30;\n    if (local_34 == local_30) goto LAB_00146aca;\n    local_54 = param_1 + 6;\n                    \n    FUN_001463c0(param_1,param_3);\n  }\n  puVar8 = auStack_70;\n  puVar7 = auStack_70;\n  local_4c = 0;\n  local_54 = param_1 + 6;\n  local_58 = &local_28;\n  local_5c = &local_3c;\n  local_60 = local_48 + -0x2068;\n  piVar4 = local_34;\n  if (local_34 != local_30) {\n    do {\n      *(int ***)(puVar7 + -4) = local_5c;\n      *(undefined4 *)(puVar7 + -8) = 1;\n      *(int *)(puVar7 + -0xc) = local_34[local_4c * 6];\n      *(undefined4 *)(puVar7 + -0x10) = param_3;\n      *(undefined4 *)(puVar7 + -0x14) = 0x1468c3;\n      iVar3 = FUN_001200e0();\n      *(int *)(puVar7 + -8) = iVar3;\n      *(undefined4 *)(puVar7 + -0xc) = param_1[0xe];\n      *(int ***)(puVar7 + -0x10) = local_58;\n      *(undefined4 *)(puVar7 + -0x14) = 0x1468d7;\n      FUN_00118dd0();\n      *(undefined4 *)(puVar7 + -0x14) = 0x1c;\n                    \n      *(undefined4 *)(puVar7 + -0x18) = 0x1468de;\n      piVar4 = (int *)FUN_0017ebf0();\n      piVar4[1] = -1;\n      piVar4[2] = iVar3;\n      *piVar4 = (int)local_60;\n      piVar4[3] = 0;\n      local_44 = (int *)((int)local_24 - (int)local_28);\n      piVar4[4] = 0;\n      uVar2 = ((int)local_44 >> 3) * -0x55555555;\n      piVar4[5] = 0;\n      if (uVar2 == 0) {\n        local_50 = (int *)0x0;\n      }\n      else {\n        if (0xaaaaaaa < uVar2) {\n                    \n                    \n          *(undefined1 **)(puVar7 + -8) = &LAB_00146b47;\n          FUN_001c5fe0();\n        }\n        *(int **)(puVar7 + -0x14) = local_44;\n                    \n        *(undefined4 *)(puVar7 + -0x18) = 0x14693e;\n        local_50 = (int *)FUN_0017ebf0();\n      }\n      piVar10 = local_24;\n      puVar8 = puVar7 + -4;\n      piVar4[3] = (int)local_50;\n      piVar4[4] = (int)local_50;\n      piVar4[5] = (int)local_44 + (int)local_50;\n      if (local_28 == local_24) {\n        piVar4[6] = 0;\n        local_38 = piVar4;\n      }\n      else {\n        local_44 = local_50;\n        piVar6 = local_28;\n        do {\n          *local_44 = (int)(local_44 + 2);\n          iVar3 = *piVar6;\n          *(undefined4 *)(puVar7 + -8) = 0;\n          *(int *)(puVar7 + -0xc) = piVar6[1] + iVar3;\n          *(int *)(puVar7 + -0x10) = iVar3;\n          *(int **)(puVar7 + -0x14) = local_44;\n                    \n          *(undefined4 *)(puVar7 + -0x18) = 0x146989;\n          FUN_0004d4e0();\n          piVar1 = local_24;\n          piVar6 = piVar6 + 6;\n          local_44 = local_44 + 6;\n        } while (piVar10 != piVar6);\n        piVar4[6] = 0;\n        piVar4[4] = (int)local_44;\n        local_38 = piVar4;\n        piVar10 = local_24;\n        for (piVar4 = local_28; piVar4 != piVar1; piVar4 = piVar4 + 6) {\n          if ((int *)*piVar4 != piVar4 + 2) {\n            *(int **)(puVar7 + -0x14) = (int *)*piVar4;\n            *(undefined4 *)(puVar7 + -0x18) = 0x1469cd;\n            FUN_001807a0();\n          }\n          piVar10 = local_28;\n        }\n      }\n      if (piVar10 != (int *)0x0) {\n        *(int **)(puVar7 + -0x14) = piVar10;\n        *(undefined4 *)(puVar7 + -0x18) = 0x1469ea;\n        FUN_001807a0();\n      }\n      puVar5 = (undefined4 *)param_1[1];\n      if (puVar5 == (undefined4 *)param_1[2]) {\n        *(int ***)(puVar7 + -0xc) = &local_38;\n        *(undefined4 **)(puVar7 + -0x10) = puVar5;\n        *(undefined4 **)(puVar7 + -0x14) = param_1;\n        *(undefined4 *)(puVar7 + -0x18) = 0x146b28;\n        FUN_00149250();\n      }\n      else {\n        *puVar5 = local_38;\n        param_1[1] = puVar5 + 1;\n      }\n      piVar10 = local_38;\n      piVar4 = local_3c;\n      *(undefined4 *)(puVar7 + -0x14) = 0x14;\n                    \n      *(undefined4 *)(puVar7 + -0x18) = 0x146a1e;\n      puVar5 = (undefined4 *)FUN_0017ebf0();\n      local_24 = (int *)0x0;\n      *puVar5 = 0;\n      local_28 = piVar4;\n      puVar5[2] = 0;\n      uVar9 = (int)piVar4 + puVar5[2];\n      puVar5[3] = piVar10;\n      puVar5[1] = piVar4;\n      uVar2 = param_1[7];\n      *(uint *)(puVar7 + -8) = uVar9;\n      *(undefined4 **)(puVar7 + -0xc) = puVar5 + 1;\n      *(uint *)(puVar7 + -0x10) = uVar9 % uVar2;\n      *(undefined4 **)(puVar7 + -0x14) = local_54;\n      *(undefined4 *)(puVar7 + -0x18) = 0x146a5f;\n      piVar4 = (int *)FUN_0014d100();\n      if ((piVar4 == (int *)0x0) || (*piVar4 == 0)) {\n        *(undefined4 *)(puVar7 + -0x10) = 1;\n        *(undefined4 **)(puVar7 + -0x14) = puVar5;\n        *(uint *)(puVar7 + -0x18) = uVar9;\n        *(uint *)(puVar7 + -0x1c) = uVar9 % uVar2;\n        *(undefined4 **)(puVar7 + -0x20) = local_54;\n        *(undefined1 **)(puVar7 + -0x24) = local_40;\n        *(undefined4 *)(puVar7 + -0x28) = 0x146afc;\n        FUN_0014ced0();\n        puVar8 = puVar7 + -8;\n      }\n      else {\n        *(undefined4 **)(puVar7 + -0x14) = puVar5;\n        *(undefined4 *)(puVar7 + -0x18) = 0x146a7c;\n        FUN_001807a0();\n      }\n      local_4c = local_4c + 1;\n      puVar7 = puVar8;\n      piVar10 = local_34;\n      piVar4 = local_34;\n    } while (local_4c < (uint)(((int)local_30 - (int)local_34 >> 3) * -0x55555555));\n    for (; piVar10 != local_30; piVar10 = piVar10 + 6) {\n      local_34 = piVar4;\n      if ((int *)*piVar10 != piVar10 + 2) {\n        *(int **)(puVar8 + -0x10) = (int *)*piVar10;\n        *(undefined4 *)(puVar8 + -0x14) = 0x146abd;\n        FUN_001807a0();\n      }\n      piVar4 = local_34;\n    }\n  }\nLAB_00146aca:\n  if (piVar4 != (int *)0x0) {\n    *(int **)(puVar8 + -0x10) = piVar4;\n    *(undefined4 *)(puVar8 + -0x14) = 0x146ada;\n    FUN_001807a0();\n  }\n  return;\n}" ({ "{") (declaration "int *piVar1;" (primitive_type "int") (pointer_declarator "*piVar1" (* "*") (identifier "piVar1")) (; ";")) (declaration "uint uVar2;" (type_identifier "uint") (identifier "uVar2") (; ";")) (declaration "int iVar3;" (primitive_type "int") (identifier "iVar3") (; ";")) (declaration "int *piVar4;" (primitive_type "int") (pointer_declarator "*piVar4" (* "*") (identifier "piVar4")) (; ";")) (declaration "undefined4 *puVar5;" (type_identifier "undefined4") (pointer_declarator "*puVar5" (* "*") (identifier "puVar5")) (; ";")) (declaration "int *piVar6;" (primitive_type "int") (pointer_declarator "*piVar6" (* "*") (identifier "piVar6")) (; ";")) (declaration "undefined1 *puVar7;" (type_identifier "undefined1") (pointer_declarator "*puVar7" (* "*") (identifier "puVar7")) (; ";")) (declaration "undefined1 *puVar8;" (type_identifier "undefined1") (pointer_declarator "*puVar8" (* "*") (identifier "puVar8")) (; ";")) (declaration "uint uVar9;" (type_identifier "uint") (identifier "uVar9") (; ";")) (declaration "int *piVar10;" (primitive_type "int") (pointer_declarator "*piVar10" (* "*") (identifier "piVar10")) (; ";")) (declaration "undefined1 auStack_70 [12];" (type_identifier "undefined1") (array_declarator "auStack_70 [12]" (identifier "auStack_70") ([ "[") (number_literal "12") (] "]")) (; ";")) (declaration "int **local_64;" (primitive_type "int") (pointer_declarator "**local_64" (* "*") (pointer_declarator "*local_64" (* "*") (identifier "local_64"))) (; ";")) (declaration "undefined **local_60;" (type_identifier "undefined") (pointer_declarator "**local_60" (* "*") (pointer_declarator "*local_60" (* "*") (identifier "local_60"))) (; ";")) (declaration "int **local_5c;" (primitive_type "int") (pointer_declarator "**local_5c" (* "*") (pointer_declarator "*local_5c" (* "*") (identifier "local_5c"))) (; ";")) (declaration "int **local_58;" (primitive_type "int") (pointer_declarator "**local_58" (* "*") (pointer_declarator "*local_58" (* "*") (identifier "local_58"))) (; ";")) (declaration "undefined4 *local_54;" (type_identifier "undefined4") (pointer_declarator "*local_54" (* "*") (identifier "local_54")) (; ";")) (declaration "int *local_50;" (primitive_type "int") (pointer_declarator "*local_50" (* "*") (identifier "local_50")) (; ";")) (declaration "uint local_4c;" (type_identifier "uint") (identifier "local_4c") (; ";")) (declaration "undefined **local_48;" (type_identifier "undefined") (pointer_declarator "**local_48" (* "*") (pointer_declarator "*local_48" (* "*") (identifier "local_48"))) (; ";")) (declaration "int *local_44;" (primitive_type "int") (pointer_declarator "*local_44" (* "*") (identifier "local_44")) (; ";")) (declaration "undefined1 local_40 [4];" (type_identifier "undefined1") (array_declarator "local_40 [4]" (identifier "local_40") ([ "[") (number_literal "4") (] "]")) (; ";")) (declaration "int *local_3c;" (primitive_type "int") (pointer_declarator "*local_3c" (* "*") (identifier "local_3c")) (; ";")) (declaration "int *local_38;" (primitive_type "int") (pointer_declarator "*local_38" (* "*") (identifier "local_38")) (; ";")) (declaration "int *local_34;" (primitive_type "int") (pointer_declarator "*local_34" (* "*") (identifier "local_34")) (; ";")) (declaration "int *local_30;" (primitive_type "int") (pointer_declarator "*local_30" (* "*") (identifier "local_30")) (; ";")) (declaration "int *local_28;" (primitive_type "int") (pointer_declarator "*local_28" (* "*") (identifier "local_28")) (; ";")) (declaration "int *local_24;" (primitive_type "int") (pointer_declarator "*local_24" (* "*") (identifier "local_24")) (; ";")) (expression_statement "local_48 = &__DT_PLTGOT;" (assignment_expression "local_48 = &__DT_PLTGOT" (identifier "local_48") (= "=") (pointer_expression "&__DT_PLTGOT" (& "&") (identifier "__DT_PLTGOT"))) (; ";")) (expression_statement "*param_1 = 0;" (assignment_expression "*param_1 = 0" (pointer_expression "*param_1" (* "*") (identifier "param_1")) (= "=") (number_literal "0")) (; ";")) (expression_statement "param_1[1] = 0;" (assignment_expression "param_1[1] = 0" (subscript_expression "param_1[1]" (identifier "param_1") ([ "[") (number_literal "1") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "param_1[2] = 0;" (assignment_expression "param_1[2] = 0" (subscript_expression "param_1[2]" (identifier "param_1") ([ "[") (number_literal "2") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "param_1[3] = 0;" (assignment_expression "param_1[3] = 0" (subscript_expression "param_1[3]" (identifier "param_1") ([ "[") (number_literal "3") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "param_1[4] = 0;" (assignment_expression "param_1[4] = 0" (subscript_expression "param_1[4]" (identifier "param_1") ([ "[") (number_literal "4") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "param_1[5] = 0;" (assignment_expression "param_1[5] = 0" (subscript_expression "param_1[5]" (identifier "param_1") ([ "[") (number_literal "5") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "uVar2 = 0;" (assignment_expression "uVar2 = 0" (identifier "uVar2") (= "=") (number_literal "0")) (; ";")) (do_statement "do {\n    *(undefined4 *)((int)param_1 + uVar2 + 0x18) = 0;\n    uVar2 = uVar2 + 4;\n  } while (uVar2 < 0x1c);" (do "do") (compound_statement "{\n    *(undefined4 *)((int)param_1 + uVar2 + 0x18) = 0;\n    uVar2 = uVar2 + 4;\n  }" ({ "{") (expression_statement "*(undefined4 *)((int)param_1 + uVar2 + 0x18) = 0;" (assignment_expression "*(undefined4 *)((int)param_1 + uVar2 + 0x18) = 0" (pointer_expression "*(undefined4 *)((int)param_1 + uVar2 + 0x18)" (* "*") (cast_expression "(undefined4 *)((int)param_1 + uVar2 + 0x18)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)param_1 + uVar2 + 0x18)" (( "(") (binary_expression "(int)param_1 + uVar2 + 0x18" (binary_expression "(int)param_1 + uVar2" (cast_expression "(int)param_1" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "param_1")) (+ "+") (identifier "uVar2")) (+ "+") (number_literal "0x18")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "uVar2 = uVar2 + 4;" (assignment_expression "uVar2 = uVar2 + 4" (identifier "uVar2") (= "=") (binary_expression "uVar2 + 4" (identifier "uVar2") (+ "+") (number_literal "4"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(uVar2 < 0x1c)" (( "(") (binary_expression "uVar2 < 0x1c" (identifier "uVar2") (< "<") (number_literal "0x1c")) () ")")) (; ";")) (expression_statement "param_1[7] = 1;" (assignment_expression "param_1[7] = 1" (subscript_expression "param_1[7]" (identifier "param_1") ([ "[") (number_literal "7") (] "]")) (= "=") (number_literal "1")) (; ";")) (expression_statement "param_1[6] = param_1 + 0xc;" (assignment_expression "param_1[6] = param_1 + 0xc" (subscript_expression "param_1[6]" (identifier "param_1") ([ "[") (number_literal "6") (] "]")) (= "=") (binary_expression "param_1 + 0xc" (identifier "param_1") (+ "+") (number_literal "0xc"))) (; ";")) (expression_statement "iVar3 = *(int *)(param_2 + 0x1c);" (assignment_expression "iVar3 = *(int *)(param_2 + 0x1c)" (identifier "iVar3") (= "=") (pointer_expression "*(int *)(param_2 + 0x1c)" (* "*") (cast_expression "(int *)(param_2 + 0x1c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_2 + 0x1c)" (( "(") (binary_expression "param_2 + 0x1c" (identifier "param_2") (+ "+") (number_literal "0x1c")) () ")"))))) (; ";")) (expression_statement "param_1[8] = 0;" (assignment_expression "param_1[8] = 0" (subscript_expression "param_1[8]" (identifier "param_1") ([ "[") (number_literal "8") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "param_1[9] = 0;" (assignment_expression "param_1[9] = 0" (subscript_expression "param_1[9]" (identifier "param_1") ([ "[") (number_literal "9") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "param_1[10] = 0x3f800000;" (assignment_expression "param_1[10] = 0x3f800000" (subscript_expression "param_1[10]" (identifier "param_1") ([ "[") (number_literal "10") (] "]")) (= "=") (number_literal "0x3f800000")) (; ";")) (expression_statement "param_1[0xb] = 0;" (assignment_expression "param_1[0xb] = 0" (subscript_expression "param_1[0xb]" (identifier "param_1") ([ "[") (number_literal "0xb") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "param_1[0xc] = 0;" (assignment_expression "param_1[0xc] = 0" (subscript_expression "param_1[0xc]" (identifier "param_1") ([ "[") (number_literal "0xc") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(undefined1 *)(param_1 + 0xd) = 0;" (assignment_expression "*(undefined1 *)(param_1 + 0xd) = 0" (pointer_expression "*(undefined1 *)(param_1 + 0xd)" (* "*") (cast_expression "(undefined1 *)(param_1 + 0xd)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0xd)" (( "(") (binary_expression "param_1 + 0xd" (identifier "param_1") (+ "+") (number_literal "0xd")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "param_1[0xe] = param_2;" (assignment_expression "param_1[0xe] = param_2" (subscript_expression "param_1[0xe]" (identifier "param_1") ([ "[") (number_literal "0xe") (] "]")) (= "=") (identifier "param_2")) (; ";")) (expression_statement "*(undefined1 *)(param_1 + 0xf) = 1;" (assignment_expression "*(undefined1 *)(param_1 + 0xf) = 1" (pointer_expression "*(undefined1 *)(param_1 + 0xf)" (* "*") (cast_expression "(undefined1 *)(param_1 + 0xf)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0xf)" (( "(") (binary_expression "param_1 + 0xf" (identifier "param_1") (+ "+") (number_literal "0xf")) () ")")))) (= "=") (number_literal "1")) (; ";")) (if_statement "if (*(int *)(param_2 + 0x18) == iVar3) {\n    return;\n  }" (if "if") (parenthesized_expression "(*(int *)(param_2 + 0x18) == iVar3)" (( "(") (binary_expression "*(int *)(param_2 + 0x18) == iVar3" (pointer_expression "*(int *)(param_2 + 0x18)" (* "*") (cast_expression "(int *)(param_2 + 0x18)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_2 + 0x18)" (( "(") (binary_expression "param_2 + 0x18" (identifier "param_2") (+ "+") (number_literal "0x18")) () ")")))) (== "==") (identifier "iVar3")) () ")")) (compound_statement "{\n    return;\n  }" ({ "{") (return_statement "return;" (return "return") (; ";")) (} "}"))) (expression_statement "local_64 = &local_34;" (assignment_expression "local_64 = &local_34" (identifier "local_64") (= "=") (pointer_expression "&local_34" (& "&") (identifier "local_34"))) (; ";")) (expression_statement "FUN_00119630(local_64,param_2);" (call_expression "FUN_00119630(local_64,param_2)" (identifier "FUN_00119630") (argument_list "(local_64,param_2)" (( "(") (identifier "local_64") (, ",") (identifier "param_2") () ")"))) (; ";")) (expression_statement "puVar8 = auStack_70;" (assignment_expression "puVar8 = auStack_70" (identifier "puVar8") (= "=") (identifier "auStack_70")) (; ";")) (if_statement "if (*(char *)(param_1 + 0xf) != '\0') {\n    piVar4 = local_30;\n    if (local_34 == local_30) goto LAB_00146aca;\n    local_54 = param_1 + 6;\n                    \n    FUN_001463c0(param_1,param_3);\n  }" (if "if") (parenthesized_expression "(*(char *)(param_1 + 0xf) != '\0')" (( "(") (binary_expression "*(char *)(param_1 + 0xf) != '\0'" (pointer_expression "*(char *)(param_1 + 0xf)" (* "*") (cast_expression "(char *)(param_1 + 0xf)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0xf)" (( "(") (binary_expression "param_1 + 0xf" (identifier "param_1") (+ "+") (number_literal "0xf")) () ")")))) (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n    piVar4 = local_30;\n    if (local_34 == local_30) goto LAB_00146aca;\n    local_54 = param_1 + 6;\n                    \n    FUN_001463c0(param_1,param_3);\n  }" ({ "{") (expression_statement "piVar4 = local_30;" (assignment_expression "piVar4 = local_30" (identifier "piVar4") (= "=") (identifier "local_30")) (; ";")) (if_statement "if (local_34 == local_30) goto LAB_00146aca;" (if "if") (parenthesized_expression "(local_34 == local_30)" (( "(") (binary_expression "local_34 == local_30" (identifier "local_34") (== "==") (identifier "local_30")) () ")")) (goto_statement "goto LAB_00146aca;" (goto "goto") (statement_identifier "LAB_00146aca") (; ";"))) (expression_statement "local_54 = param_1 + 6;" (assignment_expression "local_54 = param_1 + 6" (identifier "local_54") (= "=") (binary_expression "param_1 + 6" (identifier "param_1") (+ "+") (number_literal "6"))) (; ";")) (expression_statement "FUN_001463c0(param_1,param_3);" (call_expression "FUN_001463c0(param_1,param_3)" (identifier "FUN_001463c0") (argument_list "(param_1,param_3)" (( "(") (identifier "param_1") (, ",") (identifier "param_3") () ")"))) (; ";")) (} "}"))) (expression_statement "puVar8 = auStack_70;" (assignment_expression "puVar8 = auStack_70" (identifier "puVar8") (= "=") (identifier "auStack_70")) (; ";")) (expression_statement "puVar7 = auStack_70;" (assignment_expression "puVar7 = auStack_70" (identifier "puVar7") (= "=") (identifier "auStack_70")) (; ";")) (expression_statement "local_4c = 0;" (assignment_expression "local_4c = 0" (identifier "local_4c") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_54 = param_1 + 6;" (assignment_expression "local_54 = param_1 + 6" (identifier "local_54") (= "=") (binary_expression "param_1 + 6" (identifier "param_1") (+ "+") (number_literal "6"))) (; ";")) (expression_statement "local_58 = &local_28;" (assignment_expression "local_58 = &local_28" (identifier "local_58") (= "=") (pointer_expression "&local_28" (& "&") (identifier "local_28"))) (; ";")) (expression_statement "local_5c = &local_3c;" (assignment_expression "local_5c = &local_3c" (identifier "local_5c") (= "=") (pointer_expression "&local_3c" (& "&") (identifier "local_3c"))) (; ";")) (expression_statement "local_60 = local_48 + -0x2068;" (assignment_expression "local_60 = local_48 + -0x2068" (identifier "local_60") (= "=") (binary_expression "local_48 + -0x2068" (identifier "local_48") (+ "+") (number_literal "-0x2068"))) (; ";")) (expression_statement "piVar4 = local_34;" (assignment_expression "piVar4 = local_34" (identifier "piVar4") (= "=") (identifier "local_34")) (; ";")) (if_statement "if (local_34 != local_30) {\n    do {\n      *(int ***)(puVar7 + -4) = local_5c;\n      *(undefined4 *)(puVar7 + -8) = 1;\n      *(int *)(puVar7 + -0xc) = local_34[local_4c * 6];\n      *(undefined4 *)(puVar7 + -0x10) = param_3;\n      *(undefined4 *)(puVar7 + -0x14) = 0x1468c3;\n      iVar3 = FUN_001200e0();\n      *(int *)(puVar7 + -8) = iVar3;\n      *(undefined4 *)(puVar7 + -0xc) = param_1[0xe];\n      *(int ***)(puVar7 + -0x10) = local_58;\n      *(undefined4 *)(puVar7 + -0x14) = 0x1468d7;\n      FUN_00118dd0();\n      *(undefined4 *)(puVar7 + -0x14) = 0x1c;\n                    \n      *(undefined4 *)(puVar7 + -0x18) = 0x1468de;\n      piVar4 = (int *)FUN_0017ebf0();\n      piVar4[1] = -1;\n      piVar4[2] = iVar3;\n      *piVar4 = (int)local_60;\n      piVar4[3] = 0;\n      local_44 = (int *)((int)local_24 - (int)local_28);\n      piVar4[4] = 0;\n      uVar2 = ((int)local_44 >> 3) * -0x55555555;\n      piVar4[5] = 0;\n      if (uVar2 == 0) {\n        local_50 = (int *)0x0;\n      }\n      else {\n        if (0xaaaaaaa < uVar2) {\n                    \n                    \n          *(undefined1 **)(puVar7 + -8) = &LAB_00146b47;\n          FUN_001c5fe0();\n        }\n        *(int **)(puVar7 + -0x14) = local_44;\n                    \n        *(undefined4 *)(puVar7 + -0x18) = 0x14693e;\n        local_50 = (int *)FUN_0017ebf0();\n      }\n      piVar10 = local_24;\n      puVar8 = puVar7 + -4;\n      piVar4[3] = (int)local_50;\n      piVar4[4] = (int)local_50;\n      piVar4[5] = (int)local_44 + (int)local_50;\n      if (local_28 == local_24) {\n        piVar4[6] = 0;\n        local_38 = piVar4;\n      }\n      else {\n        local_44 = local_50;\n        piVar6 = local_28;\n        do {\n          *local_44 = (int)(local_44 + 2);\n          iVar3 = *piVar6;\n          *(undefined4 *)(puVar7 + -8) = 0;\n          *(int *)(puVar7 + -0xc) = piVar6[1] + iVar3;\n          *(int *)(puVar7 + -0x10) = iVar3;\n          *(int **)(puVar7 + -0x14) = local_44;\n                    \n          *(undefined4 *)(puVar7 + -0x18) = 0x146989;\n          FUN_0004d4e0();\n          piVar1 = local_24;\n          piVar6 = piVar6 + 6;\n          local_44 = local_44 + 6;\n        } while (piVar10 != piVar6);\n        piVar4[6] = 0;\n        piVar4[4] = (int)local_44;\n        local_38 = piVar4;\n        piVar10 = local_24;\n        for (piVar4 = local_28; piVar4 != piVar1; piVar4 = piVar4 + 6) {\n          if ((int *)*piVar4 != piVar4 + 2) {\n            *(int **)(puVar7 + -0x14) = (int *)*piVar4;\n            *(undefined4 *)(puVar7 + -0x18) = 0x1469cd;\n            FUN_001807a0();\n          }\n          piVar10 = local_28;\n        }\n      }\n      if (piVar10 != (int *)0x0) {\n        *(int **)(puVar7 + -0x14) = piVar10;\n        *(undefined4 *)(puVar7 + -0x18) = 0x1469ea;\n        FUN_001807a0();\n      }\n      puVar5 = (undefined4 *)param_1[1];\n      if (puVar5 == (undefined4 *)param_1[2]) {\n        *(int ***)(puVar7 + -0xc) = &local_38;\n        *(undefined4 **)(puVar7 + -0x10) = puVar5;\n        *(undefined4 **)(puVar7 + -0x14) = param_1;\n        *(undefined4 *)(puVar7 + -0x18) = 0x146b28;\n        FUN_00149250();\n      }\n      else {\n        *puVar5 = local_38;\n        param_1[1] = puVar5 + 1;\n      }\n      piVar10 = local_38;\n      piVar4 = local_3c;\n      *(undefined4 *)(puVar7 + -0x14) = 0x14;\n                    \n      *(undefined4 *)(puVar7 + -0x18) = 0x146a1e;\n      puVar5 = (undefined4 *)FUN_0017ebf0();\n      local_24 = (int *)0x0;\n      *puVar5 = 0;\n      local_28 = piVar4;\n      puVar5[2] = 0;\n      uVar9 = (int)piVar4 + puVar5[2];\n      puVar5[3] = piVar10;\n      puVar5[1] = piVar4;\n      uVar2 = param_1[7];\n      *(uint *)(puVar7 + -8) = uVar9;\n      *(undefined4 **)(puVar7 + -0xc) = puVar5 + 1;\n      *(uint *)(puVar7 + -0x10) = uVar9 % uVar2;\n      *(undefined4 **)(puVar7 + -0x14) = local_54;\n      *(undefined4 *)(puVar7 + -0x18) = 0x146a5f;\n      piVar4 = (int *)FUN_0014d100();\n      if ((piVar4 == (int *)0x0) || (*piVar4 == 0)) {\n        *(undefined4 *)(puVar7 + -0x10) = 1;\n        *(undefined4 **)(puVar7 + -0x14) = puVar5;\n        *(uint *)(puVar7 + -0x18) = uVar9;\n        *(uint *)(puVar7 + -0x1c) = uVar9 % uVar2;\n        *(undefined4 **)(puVar7 + -0x20) = local_54;\n        *(undefined1 **)(puVar7 + -0x24) = local_40;\n        *(undefined4 *)(puVar7 + -0x28) = 0x146afc;\n        FUN_0014ced0();\n        puVar8 = puVar7 + -8;\n      }\n      else {\n        *(undefined4 **)(puVar7 + -0x14) = puVar5;\n        *(undefined4 *)(puVar7 + -0x18) = 0x146a7c;\n        FUN_001807a0();\n      }\n      local_4c = local_4c + 1;\n      puVar7 = puVar8;\n      piVar10 = local_34;\n      piVar4 = local_34;\n    } while (local_4c < (uint)(((int)local_30 - (int)local_34 >> 3) * -0x55555555));\n    for (; piVar10 != local_30; piVar10 = piVar10 + 6) {\n      local_34 = piVar4;\n      if ((int *)*piVar10 != piVar10 + 2) {\n        *(int **)(puVar8 + -0x10) = (int *)*piVar10;\n        *(undefined4 *)(puVar8 + -0x14) = 0x146abd;\n        FUN_001807a0();\n      }\n      piVar4 = local_34;\n    }\n  }" (if "if") (parenthesized_expression "(local_34 != local_30)" (( "(") (binary_expression "local_34 != local_30" (identifier "local_34") (!= "!=") (identifier "local_30")) () ")")) (compound_statement "{\n    do {\n      *(int ***)(puVar7 + -4) = local_5c;\n      *(undefined4 *)(puVar7 + -8) = 1;\n      *(int *)(puVar7 + -0xc) = local_34[local_4c * 6];\n      *(undefined4 *)(puVar7 + -0x10) = param_3;\n      *(undefined4 *)(puVar7 + -0x14) = 0x1468c3;\n      iVar3 = FUN_001200e0();\n      *(int *)(puVar7 + -8) = iVar3;\n      *(undefined4 *)(puVar7 + -0xc) = param_1[0xe];\n      *(int ***)(puVar7 + -0x10) = local_58;\n      *(undefined4 *)(puVar7 + -0x14) = 0x1468d7;\n      FUN_00118dd0();\n      *(undefined4 *)(puVar7 + -0x14) = 0x1c;\n                    \n      *(undefined4 *)(puVar7 + -0x18) = 0x1468de;\n      piVar4 = (int *)FUN_0017ebf0();\n      piVar4[1] = -1;\n      piVar4[2] = iVar3;\n      *piVar4 = (int)local_60;\n      piVar4[3] = 0;\n      local_44 = (int *)((int)local_24 - (int)local_28);\n      piVar4[4] = 0;\n      uVar2 = ((int)local_44 >> 3) * -0x55555555;\n      piVar4[5] = 0;\n      if (uVar2 == 0) {\n        local_50 = (int *)0x0;\n      }\n      else {\n        if (0xaaaaaaa < uVar2) {\n                    \n                    \n          *(undefined1 **)(puVar7 + -8) = &LAB_00146b47;\n          FUN_001c5fe0();\n        }\n        *(int **)(puVar7 + -0x14) = local_44;\n                    \n        *(undefined4 *)(puVar7 + -0x18) = 0x14693e;\n        local_50 = (int *)FUN_0017ebf0();\n      }\n      piVar10 = local_24;\n      puVar8 = puVar7 + -4;\n      piVar4[3] = (int)local_50;\n      piVar4[4] = (int)local_50;\n      piVar4[5] = (int)local_44 + (int)local_50;\n      if (local_28 == local_24) {\n        piVar4[6] = 0;\n        local_38 = piVar4;\n      }\n      else {\n        local_44 = local_50;\n        piVar6 = local_28;\n        do {\n          *local_44 = (int)(local_44 + 2);\n          iVar3 = *piVar6;\n          *(undefined4 *)(puVar7 + -8) = 0;\n          *(int *)(puVar7 + -0xc) = piVar6[1] + iVar3;\n          *(int *)(puVar7 + -0x10) = iVar3;\n          *(int **)(puVar7 + -0x14) = local_44;\n                    \n          *(undefined4 *)(puVar7 + -0x18) = 0x146989;\n          FUN_0004d4e0();\n          piVar1 = local_24;\n          piVar6 = piVar6 + 6;\n          local_44 = local_44 + 6;\n        } while (piVar10 != piVar6);\n        piVar4[6] = 0;\n        piVar4[4] = (int)local_44;\n        local_38 = piVar4;\n        piVar10 = local_24;\n        for (piVar4 = local_28; piVar4 != piVar1; piVar4 = piVar4 + 6) {\n          if ((int *)*piVar4 != piVar4 + 2) {\n            *(int **)(puVar7 + -0x14) = (int *)*piVar4;\n            *(undefined4 *)(puVar7 + -0x18) = 0x1469cd;\n            FUN_001807a0();\n          }\n          piVar10 = local_28;\n        }\n      }\n      if (piVar10 != (int *)0x0) {\n        *(int **)(puVar7 + -0x14) = piVar10;\n        *(undefined4 *)(puVar7 + -0x18) = 0x1469ea;\n        FUN_001807a0();\n      }\n      puVar5 = (undefined4 *)param_1[1];\n      if (puVar5 == (undefined4 *)param_1[2]) {\n        *(int ***)(puVar7 + -0xc) = &local_38;\n        *(undefined4 **)(puVar7 + -0x10) = puVar5;\n        *(undefined4 **)(puVar7 + -0x14) = param_1;\n        *(undefined4 *)(puVar7 + -0x18) = 0x146b28;\n        FUN_00149250();\n      }\n      else {\n        *puVar5 = local_38;\n        param_1[1] = puVar5 + 1;\n      }\n      piVar10 = local_38;\n      piVar4 = local_3c;\n      *(undefined4 *)(puVar7 + -0x14) = 0x14;\n                    \n      *(undefined4 *)(puVar7 + -0x18) = 0x146a1e;\n      puVar5 = (undefined4 *)FUN_0017ebf0();\n      local_24 = (int *)0x0;\n      *puVar5 = 0;\n      local_28 = piVar4;\n      puVar5[2] = 0;\n      uVar9 = (int)piVar4 + puVar5[2];\n      puVar5[3] = piVar10;\n      puVar5[1] = piVar4;\n      uVar2 = param_1[7];\n      *(uint *)(puVar7 + -8) = uVar9;\n      *(undefined4 **)(puVar7 + -0xc) = puVar5 + 1;\n      *(uint *)(puVar7 + -0x10) = uVar9 % uVar2;\n      *(undefined4 **)(puVar7 + -0x14) = local_54;\n      *(undefined4 *)(puVar7 + -0x18) = 0x146a5f;\n      piVar4 = (int *)FUN_0014d100();\n      if ((piVar4 == (int *)0x0) || (*piVar4 == 0)) {\n        *(undefined4 *)(puVar7 + -0x10) = 1;\n        *(undefined4 **)(puVar7 + -0x14) = puVar5;\n        *(uint *)(puVar7 + -0x18) = uVar9;\n        *(uint *)(puVar7 + -0x1c) = uVar9 % uVar2;\n        *(undefined4 **)(puVar7 + -0x20) = local_54;\n        *(undefined1 **)(puVar7 + -0x24) = local_40;\n        *(undefined4 *)(puVar7 + -0x28) = 0x146afc;\n        FUN_0014ced0();\n        puVar8 = puVar7 + -8;\n      }\n      else {\n        *(undefined4 **)(puVar7 + -0x14) = puVar5;\n        *(undefined4 *)(puVar7 + -0x18) = 0x146a7c;\n        FUN_001807a0();\n      }\n      local_4c = local_4c + 1;\n      puVar7 = puVar8;\n      piVar10 = local_34;\n      piVar4 = local_34;\n    } while (local_4c < (uint)(((int)local_30 - (int)local_34 >> 3) * -0x55555555));\n    for (; piVar10 != local_30; piVar10 = piVar10 + 6) {\n      local_34 = piVar4;\n      if ((int *)*piVar10 != piVar10 + 2) {\n        *(int **)(puVar8 + -0x10) = (int *)*piVar10;\n        *(undefined4 *)(puVar8 + -0x14) = 0x146abd;\n        FUN_001807a0();\n      }\n      piVar4 = local_34;\n    }\n  }" ({ "{") (do_statement "do {\n      *(int ***)(puVar7 + -4) = local_5c;\n      *(undefined4 *)(puVar7 + -8) = 1;\n      *(int *)(puVar7 + -0xc) = local_34[local_4c * 6];\n      *(undefined4 *)(puVar7 + -0x10) = param_3;\n      *(undefined4 *)(puVar7 + -0x14) = 0x1468c3;\n      iVar3 = FUN_001200e0();\n      *(int *)(puVar7 + -8) = iVar3;\n      *(undefined4 *)(puVar7 + -0xc) = param_1[0xe];\n      *(int ***)(puVar7 + -0x10) = local_58;\n      *(undefined4 *)(puVar7 + -0x14) = 0x1468d7;\n      FUN_00118dd0();\n      *(undefined4 *)(puVar7 + -0x14) = 0x1c;\n                    \n      *(undefined4 *)(puVar7 + -0x18) = 0x1468de;\n      piVar4 = (int *)FUN_0017ebf0();\n      piVar4[1] = -1;\n      piVar4[2] = iVar3;\n      *piVar4 = (int)local_60;\n      piVar4[3] = 0;\n      local_44 = (int *)((int)local_24 - (int)local_28);\n      piVar4[4] = 0;\n      uVar2 = ((int)local_44 >> 3) * -0x55555555;\n      piVar4[5] = 0;\n      if (uVar2 == 0) {\n        local_50 = (int *)0x0;\n      }\n      else {\n        if (0xaaaaaaa < uVar2) {\n                    \n                    \n          *(undefined1 **)(puVar7 + -8) = &LAB_00146b47;\n          FUN_001c5fe0();\n        }\n        *(int **)(puVar7 + -0x14) = local_44;\n                    \n        *(undefined4 *)(puVar7 + -0x18) = 0x14693e;\n        local_50 = (int *)FUN_0017ebf0();\n      }\n      piVar10 = local_24;\n      puVar8 = puVar7 + -4;\n      piVar4[3] = (int)local_50;\n      piVar4[4] = (int)local_50;\n      piVar4[5] = (int)local_44 + (int)local_50;\n      if (local_28 == local_24) {\n        piVar4[6] = 0;\n        local_38 = piVar4;\n      }\n      else {\n        local_44 = local_50;\n        piVar6 = local_28;\n        do {\n          *local_44 = (int)(local_44 + 2);\n          iVar3 = *piVar6;\n          *(undefined4 *)(puVar7 + -8) = 0;\n          *(int *)(puVar7 + -0xc) = piVar6[1] + iVar3;\n          *(int *)(puVar7 + -0x10) = iVar3;\n          *(int **)(puVar7 + -0x14) = local_44;\n                    \n          *(undefined4 *)(puVar7 + -0x18) = 0x146989;\n          FUN_0004d4e0();\n          piVar1 = local_24;\n          piVar6 = piVar6 + 6;\n          local_44 = local_44 + 6;\n        } while (piVar10 != piVar6);\n        piVar4[6] = 0;\n        piVar4[4] = (int)local_44;\n        local_38 = piVar4;\n        piVar10 = local_24;\n        for (piVar4 = local_28; piVar4 != piVar1; piVar4 = piVar4 + 6) {\n          if ((int *)*piVar4 != piVar4 + 2) {\n            *(int **)(puVar7 + -0x14) = (int *)*piVar4;\n            *(undefined4 *)(puVar7 + -0x18) = 0x1469cd;\n            FUN_001807a0();\n          }\n          piVar10 = local_28;\n        }\n      }\n      if (piVar10 != (int *)0x0) {\n        *(int **)(puVar7 + -0x14) = piVar10;\n        *(undefined4 *)(puVar7 + -0x18) = 0x1469ea;\n        FUN_001807a0();\n      }\n      puVar5 = (undefined4 *)param_1[1];\n      if (puVar5 == (undefined4 *)param_1[2]) {\n        *(int ***)(puVar7 + -0xc) = &local_38;\n        *(undefined4 **)(puVar7 + -0x10) = puVar5;\n        *(undefined4 **)(puVar7 + -0x14) = param_1;\n        *(undefined4 *)(puVar7 + -0x18) = 0x146b28;\n        FUN_00149250();\n      }\n      else {\n        *puVar5 = local_38;\n        param_1[1] = puVar5 + 1;\n      }\n      piVar10 = local_38;\n      piVar4 = local_3c;\n      *(undefined4 *)(puVar7 + -0x14) = 0x14;\n                    \n      *(undefined4 *)(puVar7 + -0x18) = 0x146a1e;\n      puVar5 = (undefined4 *)FUN_0017ebf0();\n      local_24 = (int *)0x0;\n      *puVar5 = 0;\n      local_28 = piVar4;\n      puVar5[2] = 0;\n      uVar9 = (int)piVar4 + puVar5[2];\n      puVar5[3] = piVar10;\n      puVar5[1] = piVar4;\n      uVar2 = param_1[7];\n      *(uint *)(puVar7 + -8) = uVar9;\n      *(undefined4 **)(puVar7 + -0xc) = puVar5 + 1;\n      *(uint *)(puVar7 + -0x10) = uVar9 % uVar2;\n      *(undefined4 **)(puVar7 + -0x14) = local_54;\n      *(undefined4 *)(puVar7 + -0x18) = 0x146a5f;\n      piVar4 = (int *)FUN_0014d100();\n      if ((piVar4 == (int *)0x0) || (*piVar4 == 0)) {\n        *(undefined4 *)(puVar7 + -0x10) = 1;\n        *(undefined4 **)(puVar7 + -0x14) = puVar5;\n        *(uint *)(puVar7 + -0x18) = uVar9;\n        *(uint *)(puVar7 + -0x1c) = uVar9 % uVar2;\n        *(undefined4 **)(puVar7 + -0x20) = local_54;\n        *(undefined1 **)(puVar7 + -0x24) = local_40;\n        *(undefined4 *)(puVar7 + -0x28) = 0x146afc;\n        FUN_0014ced0();\n        puVar8 = puVar7 + -8;\n      }\n      else {\n        *(undefined4 **)(puVar7 + -0x14) = puVar5;\n        *(undefined4 *)(puVar7 + -0x18) = 0x146a7c;\n        FUN_001807a0();\n      }\n      local_4c = local_4c + 1;\n      puVar7 = puVar8;\n      piVar10 = local_34;\n      piVar4 = local_34;\n    } while (local_4c < (uint)(((int)local_30 - (int)local_34 >> 3) * -0x55555555));" (do "do") (compound_statement "{\n      *(int ***)(puVar7 + -4) = local_5c;\n      *(undefined4 *)(puVar7 + -8) = 1;\n      *(int *)(puVar7 + -0xc) = local_34[local_4c * 6];\n      *(undefined4 *)(puVar7 + -0x10) = param_3;\n      *(undefined4 *)(puVar7 + -0x14) = 0x1468c3;\n      iVar3 = FUN_001200e0();\n      *(int *)(puVar7 + -8) = iVar3;\n      *(undefined4 *)(puVar7 + -0xc) = param_1[0xe];\n      *(int ***)(puVar7 + -0x10) = local_58;\n      *(undefined4 *)(puVar7 + -0x14) = 0x1468d7;\n      FUN_00118dd0();\n      *(undefined4 *)(puVar7 + -0x14) = 0x1c;\n                    \n      *(undefined4 *)(puVar7 + -0x18) = 0x1468de;\n      piVar4 = (int *)FUN_0017ebf0();\n      piVar4[1] = -1;\n      piVar4[2] = iVar3;\n      *piVar4 = (int)local_60;\n      piVar4[3] = 0;\n      local_44 = (int *)((int)local_24 - (int)local_28);\n      piVar4[4] = 0;\n      uVar2 = ((int)local_44 >> 3) * -0x55555555;\n      piVar4[5] = 0;\n      if (uVar2 == 0) {\n        local_50 = (int *)0x0;\n      }\n      else {\n        if (0xaaaaaaa < uVar2) {\n                    \n                    \n          *(undefined1 **)(puVar7 + -8) = &LAB_00146b47;\n          FUN_001c5fe0();\n        }\n        *(int **)(puVar7 + -0x14) = local_44;\n                    \n        *(undefined4 *)(puVar7 + -0x18) = 0x14693e;\n        local_50 = (int *)FUN_0017ebf0();\n      }\n      piVar10 = local_24;\n      puVar8 = puVar7 + -4;\n      piVar4[3] = (int)local_50;\n      piVar4[4] = (int)local_50;\n      piVar4[5] = (int)local_44 + (int)local_50;\n      if (local_28 == local_24) {\n        piVar4[6] = 0;\n        local_38 = piVar4;\n      }\n      else {\n        local_44 = local_50;\n        piVar6 = local_28;\n        do {\n          *local_44 = (int)(local_44 + 2);\n          iVar3 = *piVar6;\n          *(undefined4 *)(puVar7 + -8) = 0;\n          *(int *)(puVar7 + -0xc) = piVar6[1] + iVar3;\n          *(int *)(puVar7 + -0x10) = iVar3;\n          *(int **)(puVar7 + -0x14) = local_44;\n                    \n          *(undefined4 *)(puVar7 + -0x18) = 0x146989;\n          FUN_0004d4e0();\n          piVar1 = local_24;\n          piVar6 = piVar6 + 6;\n          local_44 = local_44 + 6;\n        } while (piVar10 != piVar6);\n        piVar4[6] = 0;\n        piVar4[4] = (int)local_44;\n        local_38 = piVar4;\n        piVar10 = local_24;\n        for (piVar4 = local_28; piVar4 != piVar1; piVar4 = piVar4 + 6) {\n          if ((int *)*piVar4 != piVar4 + 2) {\n            *(int **)(puVar7 + -0x14) = (int *)*piVar4;\n            *(undefined4 *)(puVar7 + -0x18) = 0x1469cd;\n            FUN_001807a0();\n          }\n          piVar10 = local_28;\n        }\n      }\n      if (piVar10 != (int *)0x0) {\n        *(int **)(puVar7 + -0x14) = piVar10;\n        *(undefined4 *)(puVar7 + -0x18) = 0x1469ea;\n        FUN_001807a0();\n      }\n      puVar5 = (undefined4 *)param_1[1];\n      if (puVar5 == (undefined4 *)param_1[2]) {\n        *(int ***)(puVar7 + -0xc) = &local_38;\n        *(undefined4 **)(puVar7 + -0x10) = puVar5;\n        *(undefined4 **)(puVar7 + -0x14) = param_1;\n        *(undefined4 *)(puVar7 + -0x18) = 0x146b28;\n        FUN_00149250();\n      }\n      else {\n        *puVar5 = local_38;\n        param_1[1] = puVar5 + 1;\n      }\n      piVar10 = local_38;\n      piVar4 = local_3c;\n      *(undefined4 *)(puVar7 + -0x14) = 0x14;\n                    \n      *(undefined4 *)(puVar7 + -0x18) = 0x146a1e;\n      puVar5 = (undefined4 *)FUN_0017ebf0();\n      local_24 = (int *)0x0;\n      *puVar5 = 0;\n      local_28 = piVar4;\n      puVar5[2] = 0;\n      uVar9 = (int)piVar4 + puVar5[2];\n      puVar5[3] = piVar10;\n      puVar5[1] = piVar4;\n      uVar2 = param_1[7];\n      *(uint *)(puVar7 + -8) = uVar9;\n      *(undefined4 **)(puVar7 + -0xc) = puVar5 + 1;\n      *(uint *)(puVar7 + -0x10) = uVar9 % uVar2;\n      *(undefined4 **)(puVar7 + -0x14) = local_54;\n      *(undefined4 *)(puVar7 + -0x18) = 0x146a5f;\n      piVar4 = (int *)FUN_0014d100();\n      if ((piVar4 == (int *)0x0) || (*piVar4 == 0)) {\n        *(undefined4 *)(puVar7 + -0x10) = 1;\n        *(undefined4 **)(puVar7 + -0x14) = puVar5;\n        *(uint *)(puVar7 + -0x18) = uVar9;\n        *(uint *)(puVar7 + -0x1c) = uVar9 % uVar2;\n        *(undefined4 **)(puVar7 + -0x20) = local_54;\n        *(undefined1 **)(puVar7 + -0x24) = local_40;\n        *(undefined4 *)(puVar7 + -0x28) = 0x146afc;\n        FUN_0014ced0();\n        puVar8 = puVar7 + -8;\n      }\n      else {\n        *(undefined4 **)(puVar7 + -0x14) = puVar5;\n        *(undefined4 *)(puVar7 + -0x18) = 0x146a7c;\n        FUN_001807a0();\n      }\n      local_4c = local_4c + 1;\n      puVar7 = puVar8;\n      piVar10 = local_34;\n      piVar4 = local_34;\n    }" ({ "{") (expression_statement "*(int ***)(puVar7 + -4) = local_5c;" (assignment_expression "*(int ***)(puVar7 + -4) = local_5c" (pointer_expression "*(int ***)(puVar7 + -4)" (* "*") (cast_expression "(int ***)(puVar7 + -4)" (( "(") (type_descriptor "int ***" (primitive_type "int") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "(puVar7 + -4)" (( "(") (binary_expression "puVar7 + -4" (identifier "puVar7") (+ "+") (number_literal "-4")) () ")")))) (= "=") (identifier "local_5c")) (; ";")) (expression_statement "*(undefined4 *)(puVar7 + -8) = 1;" (assignment_expression "*(undefined4 *)(puVar7 + -8) = 1" (pointer_expression "*(undefined4 *)(puVar7 + -8)" (* "*") (cast_expression "(undefined4 *)(puVar7 + -8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar7 + -8)" (( "(") (binary_expression "puVar7 + -8" (identifier "puVar7") (+ "+") (number_literal "-8")) () ")")))) (= "=") (number_literal "1")) (; ";")) (expression_statement "*(int *)(puVar7 + -0xc) = local_34[local_4c * 6];" (assignment_expression "*(int *)(puVar7 + -0xc) = local_34[local_4c * 6]" (pointer_expression "*(int *)(puVar7 + -0xc)" (* "*") (cast_expression "(int *)(puVar7 + -0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar7 + -0xc)" (( "(") (binary_expression "puVar7 + -0xc" (identifier "puVar7") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (subscript_expression "local_34[local_4c * 6]" (identifier "local_34") ([ "[") (binary_expression "local_4c * 6" (identifier "local_4c") (* "*") (number_literal "6")) (] "]"))) (; ";")) (expression_statement "*(undefined4 *)(puVar7 + -0x10) = param_3;" (assignment_expression "*(undefined4 *)(puVar7 + -0x10) = param_3" (pointer_expression "*(undefined4 *)(puVar7 + -0x10)" (* "*") (cast_expression "(undefined4 *)(puVar7 + -0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar7 + -0x10)" (( "(") (binary_expression "puVar7 + -0x10" (identifier "puVar7") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "param_3")) (; ";")) (expression_statement "*(undefined4 *)(puVar7 + -0x14) = 0x1468c3;" (assignment_expression "*(undefined4 *)(puVar7 + -0x14) = 0x1468c3" (pointer_expression "*(undefined4 *)(puVar7 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar7 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar7 + -0x14)" (( "(") (binary_expression "puVar7 + -0x14" (identifier "puVar7") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x1468c3")) (; ";")) (expression_statement "iVar3 = FUN_001200e0();" (assignment_expression "iVar3 = FUN_001200e0()" (identifier "iVar3") (= "=") (call_expression "FUN_001200e0()" (identifier "FUN_001200e0") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "*(int *)(puVar7 + -8) = iVar3;" (assignment_expression "*(int *)(puVar7 + -8) = iVar3" (pointer_expression "*(int *)(puVar7 + -8)" (* "*") (cast_expression "(int *)(puVar7 + -8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar7 + -8)" (( "(") (binary_expression "puVar7 + -8" (identifier "puVar7") (+ "+") (number_literal "-8")) () ")")))) (= "=") (identifier "iVar3")) (; ";")) (expression_statement "*(undefined4 *)(puVar7 + -0xc) = param_1[0xe];" (assignment_expression "*(undefined4 *)(puVar7 + -0xc) = param_1[0xe]" (pointer_expression "*(undefined4 *)(puVar7 + -0xc)" (* "*") (cast_expression "(undefined4 *)(puVar7 + -0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar7 + -0xc)" (( "(") (binary_expression "puVar7 + -0xc" (identifier "puVar7") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (subscript_expression "param_1[0xe]" (identifier "param_1") ([ "[") (number_literal "0xe") (] "]"))) (; ";")) (expression_statement "*(int ***)(puVar7 + -0x10) = local_58;" (assignment_expression "*(int ***)(puVar7 + -0x10) = local_58" (pointer_expression "*(int ***)(puVar7 + -0x10)" (* "*") (cast_expression "(int ***)(puVar7 + -0x10)" (( "(") (type_descriptor "int ***" (primitive_type "int") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "(puVar7 + -0x10)" (( "(") (binary_expression "puVar7 + -0x10" (identifier "puVar7") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "local_58")) (; ";")) (expression_statement "*(undefined4 *)(puVar7 + -0x14) = 0x1468d7;" (assignment_expression "*(undefined4 *)(puVar7 + -0x14) = 0x1468d7" (pointer_expression "*(undefined4 *)(puVar7 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar7 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar7 + -0x14)" (( "(") (binary_expression "puVar7 + -0x14" (identifier "puVar7") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x1468d7")) (; ";")) (expression_statement "FUN_00118dd0();" (call_expression "FUN_00118dd0()" (identifier "FUN_00118dd0") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "*(undefined4 *)(puVar7 + -0x14) = 0x1c;" (assignment_expression "*(undefined4 *)(puVar7 + -0x14) = 0x1c" (pointer_expression "*(undefined4 *)(puVar7 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar7 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar7 + -0x14)" (( "(") (binary_expression "puVar7 + -0x14" (identifier "puVar7") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x1c")) (; ";")) (expression_statement "*(undefined4 *)(puVar7 + -0x18) = 0x1468de;" (assignment_expression "*(undefined4 *)(puVar7 + -0x18) = 0x1468de" (pointer_expression "*(undefined4 *)(puVar7 + -0x18)" (* "*") (cast_expression "(undefined4 *)(puVar7 + -0x18)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar7 + -0x18)" (( "(") (binary_expression "puVar7 + -0x18" (identifier "puVar7") (+ "+") (number_literal "-0x18")) () ")")))) (= "=") (number_literal "0x1468de")) (; ";")) (expression_statement "piVar4 = (int *)FUN_0017ebf0();" (assignment_expression "piVar4 = (int *)FUN_0017ebf0()" (identifier "piVar4") (= "=") (cast_expression "(int *)FUN_0017ebf0()" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_0017ebf0()" (identifier "FUN_0017ebf0") (argument_list "()" (( "(") () ")"))))) (; ";")) (expression_statement "piVar4[1] = -1;" (assignment_expression "piVar4[1] = -1" (subscript_expression "piVar4[1]" (identifier "piVar4") ([ "[") (number_literal "1") (] "]")) (= "=") (number_literal "-1")) (; ";")) (expression_statement "piVar4[2] = iVar3;" (assignment_expression "piVar4[2] = iVar3" (subscript_expression "piVar4[2]" (identifier "piVar4") ([ "[") (number_literal "2") (] "]")) (= "=") (identifier "iVar3")) (; ";")) (expression_statement "*piVar4 = (int)local_60;" (assignment_expression "*piVar4 = (int)local_60" (pointer_expression "*piVar4" (* "*") (identifier "piVar4")) (= "=") (cast_expression "(int)local_60" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_60"))) (; ";")) (expression_statement "piVar4[3] = 0;" (assignment_expression "piVar4[3] = 0" (subscript_expression "piVar4[3]" (identifier "piVar4") ([ "[") (number_literal "3") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "local_44 = (int *)((int)local_24 - (int)local_28);" (assignment_expression "local_44 = (int *)((int)local_24 - (int)local_28)" (identifier "local_44") (= "=") (cast_expression "(int *)((int)local_24 - (int)local_28)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)local_24 - (int)local_28)" (( "(") (binary_expression "(int)local_24 - (int)local_28" (cast_expression "(int)local_24" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_24")) (- "-") (cast_expression "(int)local_28" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_28"))) () ")")))) (; ";")) (expression_statement "piVar4[4] = 0;" (assignment_expression "piVar4[4] = 0" (subscript_expression "piVar4[4]" (identifier "piVar4") ([ "[") (number_literal "4") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "uVar2 = ((int)local_44 >> 3) * -0x55555555;" (assignment_expression "uVar2 = ((int)local_44 >> 3) * -0x55555555" (identifier "uVar2") (= "=") (binary_expression "((int)local_44 >> 3) * -0x55555555" (parenthesized_expression "((int)local_44 >> 3)" (( "(") (binary_expression "(int)local_44 >> 3" (cast_expression "(int)local_44" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_44")) (>> ">>") (number_literal "3")) () ")")) (* "*") (number_literal "-0x55555555"))) (; ";")) (expression_statement "piVar4[5] = 0;" (assignment_expression "piVar4[5] = 0" (subscript_expression "piVar4[5]" (identifier "piVar4") ([ "[") (number_literal "5") (] "]")) (= "=") (number_literal "0")) (; ";")) (if_statement "if (uVar2 == 0) {\n        local_50 = (int *)0x0;\n      }\n      else {\n        if (0xaaaaaaa < uVar2) {\n                    \n                    \n          *(undefined1 **)(puVar7 + -8) = &LAB_00146b47;\n          FUN_001c5fe0();\n        }\n        *(int **)(puVar7 + -0x14) = local_44;\n                    \n        *(undefined4 *)(puVar7 + -0x18) = 0x14693e;\n        local_50 = (int *)FUN_0017ebf0();\n      }" (if "if") (parenthesized_expression "(uVar2 == 0)" (( "(") (binary_expression "uVar2 == 0" (identifier "uVar2") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n        local_50 = (int *)0x0;\n      }" ({ "{") (expression_statement "local_50 = (int *)0x0;" (assignment_expression "local_50 = (int *)0x0" (identifier "local_50") (= "=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (} "}")) (else_clause "else {\n        if (0xaaaaaaa < uVar2) {\n                    \n                    \n          *(undefined1 **)(puVar7 + -8) = &LAB_00146b47;\n          FUN_001c5fe0();\n        }\n        *(int **)(puVar7 + -0x14) = local_44;\n                    \n        *(undefined4 *)(puVar7 + -0x18) = 0x14693e;\n        local_50 = (int *)FUN_0017ebf0();\n      }" (else "else") (compound_statement "{\n        if (0xaaaaaaa < uVar2) {\n                    \n                    \n          *(undefined1 **)(puVar7 + -8) = &LAB_00146b47;\n          FUN_001c5fe0();\n        }\n        *(int **)(puVar7 + -0x14) = local_44;\n                    \n        *(undefined4 *)(puVar7 + -0x18) = 0x14693e;\n        local_50 = (int *)FUN_0017ebf0();\n      }" ({ "{") (if_statement "if (0xaaaaaaa < uVar2) {\n                    \n                    \n          *(undefined1 **)(puVar7 + -8) = &LAB_00146b47;\n          FUN_001c5fe0();\n        }" (if "if") (parenthesized_expression "(0xaaaaaaa < uVar2)" (( "(") (binary_expression "0xaaaaaaa < uVar2" (number_literal "0xaaaaaaa") (< "<") (identifier "uVar2")) () ")")) (compound_statement "{\n                    \n                    \n          *(undefined1 **)(puVar7 + -8) = &LAB_00146b47;\n          FUN_001c5fe0();\n        }" ({ "{") (expression_statement "*(undefined1 **)(puVar7 + -8) = &LAB_00146b47;" (assignment_expression "*(undefined1 **)(puVar7 + -8) = &LAB_00146b47" (pointer_expression "*(undefined1 **)(puVar7 + -8)" (* "*") (cast_expression "(undefined1 **)(puVar7 + -8)" (( "(") (type_descriptor "undefined1 **" (type_identifier "undefined1") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar7 + -8)" (( "(") (binary_expression "puVar7 + -8" (identifier "puVar7") (+ "+") (number_literal "-8")) () ")")))) (= "=") (pointer_expression "&LAB_00146b47" (& "&") (identifier "LAB_00146b47"))) (; ";")) (expression_statement "FUN_001c5fe0();" (call_expression "FUN_001c5fe0()" (identifier "FUN_001c5fe0") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (expression_statement "*(int **)(puVar7 + -0x14) = local_44;" (assignment_expression "*(int **)(puVar7 + -0x14) = local_44" (pointer_expression "*(int **)(puVar7 + -0x14)" (* "*") (cast_expression "(int **)(puVar7 + -0x14)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar7 + -0x14)" (( "(") (binary_expression "puVar7 + -0x14" (identifier "puVar7") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (identifier "local_44")) (; ";")) (expression_statement "*(undefined4 *)(puVar7 + -0x18) = 0x14693e;" (assignment_expression "*(undefined4 *)(puVar7 + -0x18) = 0x14693e" (pointer_expression "*(undefined4 *)(puVar7 + -0x18)" (* "*") (cast_expression "(undefined4 *)(puVar7 + -0x18)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar7 + -0x18)" (( "(") (binary_expression "puVar7 + -0x18" (identifier "puVar7") (+ "+") (number_literal "-0x18")) () ")")))) (= "=") (number_literal "0x14693e")) (; ";")) (expression_statement "local_50 = (int *)FUN_0017ebf0();" (assignment_expression "local_50 = (int *)FUN_0017ebf0()" (identifier "local_50") (= "=") (cast_expression "(int *)FUN_0017ebf0()" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_0017ebf0()" (identifier "FUN_0017ebf0") (argument_list "()" (( "(") () ")"))))) (; ";")) (} "}")))) (expression_statement "piVar10 = local_24;" (assignment_expression "piVar10 = local_24" (identifier "piVar10") (= "=") (identifier "local_24")) (; ";")) (expression_statement "puVar8 = puVar7 + -4;" (assignment_expression "puVar8 = puVar7 + -4" (identifier "puVar8") (= "=") (binary_expression "puVar7 + -4" (identifier "puVar7") (+ "+") (number_literal "-4"))) (; ";")) (expression_statement "piVar4[3] = (int)local_50;" (assignment_expression "piVar4[3] = (int)local_50" (subscript_expression "piVar4[3]" (identifier "piVar4") ([ "[") (number_literal "3") (] "]")) (= "=") (cast_expression "(int)local_50" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_50"))) (; ";")) (expression_statement "piVar4[4] = (int)local_50;" (assignment_expression "piVar4[4] = (int)local_50" (subscript_expression "piVar4[4]" (identifier "piVar4") ([ "[") (number_literal "4") (] "]")) (= "=") (cast_expression "(int)local_50" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_50"))) (; ";")) (expression_statement "piVar4[5] = (int)local_44 + (int)local_50;" (assignment_expression "piVar4[5] = (int)local_44 + (int)local_50" (subscript_expression "piVar4[5]" (identifier "piVar4") ([ "[") (number_literal "5") (] "]")) (= "=") (binary_expression "(int)local_44 + (int)local_50" (cast_expression "(int)local_44" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_44")) (+ "+") (cast_expression "(int)local_50" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_50")))) (; ";")) (if_statement "if (local_28 == local_24) {\n        piVar4[6] = 0;\n        local_38 = piVar4;\n      }\n      else {\n        local_44 = local_50;\n        piVar6 = local_28;\n        do {\n          *local_44 = (int)(local_44 + 2);\n          iVar3 = *piVar6;\n          *(undefined4 *)(puVar7 + -8) = 0;\n          *(int *)(puVar7 + -0xc) = piVar6[1] + iVar3;\n          *(int *)(puVar7 + -0x10) = iVar3;\n          *(int **)(puVar7 + -0x14) = local_44;\n                    \n          *(undefined4 *)(puVar7 + -0x18) = 0x146989;\n          FUN_0004d4e0();\n          piVar1 = local_24;\n          piVar6 = piVar6 + 6;\n          local_44 = local_44 + 6;\n        } while (piVar10 != piVar6);\n        piVar4[6] = 0;\n        piVar4[4] = (int)local_44;\n        local_38 = piVar4;\n        piVar10 = local_24;\n        for (piVar4 = local_28; piVar4 != piVar1; piVar4 = piVar4 + 6) {\n          if ((int *)*piVar4 != piVar4 + 2) {\n            *(int **)(puVar7 + -0x14) = (int *)*piVar4;\n            *(undefined4 *)(puVar7 + -0x18) = 0x1469cd;\n            FUN_001807a0();\n          }\n          piVar10 = local_28;\n        }\n      }" (if "if") (parenthesized_expression "(local_28 == local_24)" (( "(") (binary_expression "local_28 == local_24" (identifier "local_28") (== "==") (identifier "local_24")) () ")")) (compound_statement "{\n        piVar4[6] = 0;\n        local_38 = piVar4;\n      }" ({ "{") (expression_statement "piVar4[6] = 0;" (assignment_expression "piVar4[6] = 0" (subscript_expression "piVar4[6]" (identifier "piVar4") ([ "[") (number_literal "6") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "local_38 = piVar4;" (assignment_expression "local_38 = piVar4" (identifier "local_38") (= "=") (identifier "piVar4")) (; ";")) (} "}")) (else_clause "else {\n        local_44 = local_50;\n        piVar6 = local_28;\n        do {\n          *local_44 = (int)(local_44 + 2);\n          iVar3 = *piVar6;\n          *(undefined4 *)(puVar7 + -8) = 0;\n          *(int *)(puVar7 + -0xc) = piVar6[1] + iVar3;\n          *(int *)(puVar7 + -0x10) = iVar3;\n          *(int **)(puVar7 + -0x14) = local_44;\n                    \n          *(undefined4 *)(puVar7 + -0x18) = 0x146989;\n          FUN_0004d4e0();\n          piVar1 = local_24;\n          piVar6 = piVar6 + 6;\n          local_44 = local_44 + 6;\n        } while (piVar10 != piVar6);\n        piVar4[6] = 0;\n        piVar4[4] = (int)local_44;\n        local_38 = piVar4;\n        piVar10 = local_24;\n        for (piVar4 = local_28; piVar4 != piVar1; piVar4 = piVar4 + 6) {\n          if ((int *)*piVar4 != piVar4 + 2) {\n            *(int **)(puVar7 + -0x14) = (int *)*piVar4;\n            *(undefined4 *)(puVar7 + -0x18) = 0x1469cd;\n            FUN_001807a0();\n          }\n          piVar10 = local_28;\n        }\n      }" (else "else") (compound_statement "{\n        local_44 = local_50;\n        piVar6 = local_28;\n        do {\n          *local_44 = (int)(local_44 + 2);\n          iVar3 = *piVar6;\n          *(undefined4 *)(puVar7 + -8) = 0;\n          *(int *)(puVar7 + -0xc) = piVar6[1] + iVar3;\n          *(int *)(puVar7 + -0x10) = iVar3;\n          *(int **)(puVar7 + -0x14) = local_44;\n                    \n          *(undefined4 *)(puVar7 + -0x18) = 0x146989;\n          FUN_0004d4e0();\n          piVar1 = local_24;\n          piVar6 = piVar6 + 6;\n          local_44 = local_44 + 6;\n        } while (piVar10 != piVar6);\n        piVar4[6] = 0;\n        piVar4[4] = (int)local_44;\n        local_38 = piVar4;\n        piVar10 = local_24;\n        for (piVar4 = local_28; piVar4 != piVar1; piVar4 = piVar4 + 6) {\n          if ((int *)*piVar4 != piVar4 + 2) {\n            *(int **)(puVar7 + -0x14) = (int *)*piVar4;\n            *(undefined4 *)(puVar7 + -0x18) = 0x1469cd;\n            FUN_001807a0();\n          }\n          piVar10 = local_28;\n        }\n      }" ({ "{") (expression_statement "local_44 = local_50;" (assignment_expression "local_44 = local_50" (identifier "local_44") (= "=") (identifier "local_50")) (; ";")) (expression_statement "piVar6 = local_28;" (assignment_expression "piVar6 = local_28" (identifier "piVar6") (= "=") (identifier "local_28")) (; ";")) (do_statement "do {\n          *local_44 = (int)(local_44 + 2);\n          iVar3 = *piVar6;\n          *(undefined4 *)(puVar7 + -8) = 0;\n          *(int *)(puVar7 + -0xc) = piVar6[1] + iVar3;\n          *(int *)(puVar7 + -0x10) = iVar3;\n          *(int **)(puVar7 + -0x14) = local_44;\n                    \n          *(undefined4 *)(puVar7 + -0x18) = 0x146989;\n          FUN_0004d4e0();\n          piVar1 = local_24;\n          piVar6 = piVar6 + 6;\n          local_44 = local_44 + 6;\n        } while (piVar10 != piVar6);" (do "do") (compound_statement "{\n          *local_44 = (int)(local_44 + 2);\n          iVar3 = *piVar6;\n          *(undefined4 *)(puVar7 + -8) = 0;\n          *(int *)(puVar7 + -0xc) = piVar6[1] + iVar3;\n          *(int *)(puVar7 + -0x10) = iVar3;\n          *(int **)(puVar7 + -0x14) = local_44;\n                    \n          *(undefined4 *)(puVar7 + -0x18) = 0x146989;\n          FUN_0004d4e0();\n          piVar1 = local_24;\n          piVar6 = piVar6 + 6;\n          local_44 = local_44 + 6;\n        }" ({ "{") (expression_statement "*local_44 = (int)(local_44 + 2);" (assignment_expression "*local_44 = (int)(local_44 + 2)" (pointer_expression "*local_44" (* "*") (identifier "local_44")) (= "=") (cast_expression "(int)(local_44 + 2)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "(local_44 + 2)" (( "(") (binary_expression "local_44 + 2" (identifier "local_44") (+ "+") (number_literal "2")) () ")")))) (; ";")) (expression_statement "iVar3 = *piVar6;" (assignment_expression "iVar3 = *piVar6" (identifier "iVar3") (= "=") (pointer_expression "*piVar6" (* "*") (identifier "piVar6"))) (; ";")) (expression_statement "*(undefined4 *)(puVar7 + -8) = 0;" (assignment_expression "*(undefined4 *)(puVar7 + -8) = 0" (pointer_expression "*(undefined4 *)(puVar7 + -8)" (* "*") (cast_expression "(undefined4 *)(puVar7 + -8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar7 + -8)" (( "(") (binary_expression "puVar7 + -8" (identifier "puVar7") (+ "+") (number_literal "-8")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(int *)(puVar7 + -0xc) = piVar6[1] + iVar3;" (assignment_expression "*(int *)(puVar7 + -0xc) = piVar6[1] + iVar3" (pointer_expression "*(int *)(puVar7 + -0xc)" (* "*") (cast_expression "(int *)(puVar7 + -0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar7 + -0xc)" (( "(") (binary_expression "puVar7 + -0xc" (identifier "puVar7") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (binary_expression "piVar6[1] + iVar3" (subscript_expression "piVar6[1]" (identifier "piVar6") ([ "[") (number_literal "1") (] "]")) (+ "+") (identifier "iVar3"))) (; ";")) (expression_statement "*(int *)(puVar7 + -0x10) = iVar3;" (assignment_expression "*(int *)(puVar7 + -0x10) = iVar3" (pointer_expression "*(int *)(puVar7 + -0x10)" (* "*") (cast_expression "(int *)(puVar7 + -0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar7 + -0x10)" (( "(") (binary_expression "puVar7 + -0x10" (identifier "puVar7") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "iVar3")) (; ";")) (expression_statement "*(int **)(puVar7 + -0x14) = local_44;" (assignment_expression "*(int **)(puVar7 + -0x14) = local_44" (pointer_expression "*(int **)(puVar7 + -0x14)" (* "*") (cast_expression "(int **)(puVar7 + -0x14)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar7 + -0x14)" (( "(") (binary_expression "puVar7 + -0x14" (identifier "puVar7") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (identifier "local_44")) (; ";")) (expression_statement "*(undefined4 *)(puVar7 + -0x18) = 0x146989;" (assignment_expression "*(undefined4 *)(puVar7 + -0x18) = 0x146989" (pointer_expression "*(undefined4 *)(puVar7 + -0x18)" (* "*") (cast_expression "(undefined4 *)(puVar7 + -0x18)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar7 + -0x18)" (( "(") (binary_expression "puVar7 + -0x18" (identifier "puVar7") (+ "+") (number_literal "-0x18")) () ")")))) (= "=") (number_literal "0x146989")) (; ";")) (expression_statement "FUN_0004d4e0();" (call_expression "FUN_0004d4e0()" (identifier "FUN_0004d4e0") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "piVar1 = local_24;" (assignment_expression "piVar1 = local_24" (identifier "piVar1") (= "=") (identifier "local_24")) (; ";")) (expression_statement "piVar6 = piVar6 + 6;" (assignment_expression "piVar6 = piVar6 + 6" (identifier "piVar6") (= "=") (binary_expression "piVar6 + 6" (identifier "piVar6") (+ "+") (number_literal "6"))) (; ";")) (expression_statement "local_44 = local_44 + 6;" (assignment_expression "local_44 = local_44 + 6" (identifier "local_44") (= "=") (binary_expression "local_44 + 6" (identifier "local_44") (+ "+") (number_literal "6"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(piVar10 != piVar6)" (( "(") (binary_expression "piVar10 != piVar6" (identifier "piVar10") (!= "!=") (identifier "piVar6")) () ")")) (; ";")) (expression_statement "piVar4[6] = 0;" (assignment_expression "piVar4[6] = 0" (subscript_expression "piVar4[6]" (identifier "piVar4") ([ "[") (number_literal "6") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "piVar4[4] = (int)local_44;" (assignment_expression "piVar4[4] = (int)local_44" (subscript_expression "piVar4[4]" (identifier "piVar4") ([ "[") (number_literal "4") (] "]")) (= "=") (cast_expression "(int)local_44" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_44"))) (; ";")) (expression_statement "local_38 = piVar4;" (assignment_expression "local_38 = piVar4" (identifier "local_38") (= "=") (identifier "piVar4")) (; ";")) (expression_statement "piVar10 = local_24;" (assignment_expression "piVar10 = local_24" (identifier "piVar10") (= "=") (identifier "local_24")) (; ";")) (for_statement "for (piVar4 = local_28; piVar4 != piVar1; piVar4 = piVar4 + 6) {\n          if ((int *)*piVar4 != piVar4 + 2) {\n            *(int **)(puVar7 + -0x14) = (int *)*piVar4;\n            *(undefined4 *)(puVar7 + -0x18) = 0x1469cd;\n            FUN_001807a0();\n          }\n          piVar10 = local_28;\n        }" (for "for") (( "(") (assignment_expression "piVar4 = local_28" (identifier "piVar4") (= "=") (identifier "local_28")) (; ";") (binary_expression "piVar4 != piVar1" (identifier "piVar4") (!= "!=") (identifier "piVar1")) (; ";") (assignment_expression "piVar4 = piVar4 + 6" (identifier "piVar4") (= "=") (binary_expression "piVar4 + 6" (identifier "piVar4") (+ "+") (number_literal "6"))) () ")") (compound_statement "{\n          if ((int *)*piVar4 != piVar4 + 2) {\n            *(int **)(puVar7 + -0x14) = (int *)*piVar4;\n            *(undefined4 *)(puVar7 + -0x18) = 0x1469cd;\n            FUN_001807a0();\n          }\n          piVar10 = local_28;\n        }" ({ "{") (if_statement "if ((int *)*piVar4 != piVar4 + 2) {\n            *(int **)(puVar7 + -0x14) = (int *)*piVar4;\n            *(undefined4 *)(puVar7 + -0x18) = 0x1469cd;\n            FUN_001807a0();\n          }" (if "if") (parenthesized_expression "((int *)*piVar4 != piVar4 + 2)" (( "(") (binary_expression "(int *)*piVar4 != piVar4 + 2" (cast_expression "(int *)*piVar4" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*piVar4" (* "*") (identifier "piVar4"))) (!= "!=") (binary_expression "piVar4 + 2" (identifier "piVar4") (+ "+") (number_literal "2"))) () ")")) (compound_statement "{\n            *(int **)(puVar7 + -0x14) = (int *)*piVar4;\n            *(undefined4 *)(puVar7 + -0x18) = 0x1469cd;\n            FUN_001807a0();\n          }" ({ "{") (expression_statement "*(int **)(puVar7 + -0x14) = (int *)*piVar4;" (assignment_expression "*(int **)(puVar7 + -0x14) = (int *)*piVar4" (pointer_expression "*(int **)(puVar7 + -0x14)" (* "*") (cast_expression "(int **)(puVar7 + -0x14)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar7 + -0x14)" (( "(") (binary_expression "puVar7 + -0x14" (identifier "puVar7") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (cast_expression "(int *)*piVar4" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*piVar4" (* "*") (identifier "piVar4")))) (; ";")) (expression_statement "*(undefined4 *)(puVar7 + -0x18) = 0x1469cd;" (assignment_expression "*(undefined4 *)(puVar7 + -0x18) = 0x1469cd" (pointer_expression "*(undefined4 *)(puVar7 + -0x18)" (* "*") (cast_expression "(undefined4 *)(puVar7 + -0x18)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar7 + -0x18)" (( "(") (binary_expression "puVar7 + -0x18" (identifier "puVar7") (+ "+") (number_literal "-0x18")) () ")")))) (= "=") (number_literal "0x1469cd")) (; ";")) (expression_statement "FUN_001807a0();" (call_expression "FUN_001807a0()" (identifier "FUN_001807a0") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (expression_statement "piVar10 = local_28;" (assignment_expression "piVar10 = local_28" (identifier "piVar10") (= "=") (identifier "local_28")) (; ";")) (} "}"))) (} "}")))) (if_statement "if (piVar10 != (int *)0x0) {\n        *(int **)(puVar7 + -0x14) = piVar10;\n        *(undefined4 *)(puVar7 + -0x18) = 0x1469ea;\n        FUN_001807a0();\n      }" (if "if") (parenthesized_expression "(piVar10 != (int *)0x0)" (( "(") (binary_expression "piVar10 != (int *)0x0" (identifier "piVar10") (!= "!=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n        *(int **)(puVar7 + -0x14) = piVar10;\n        *(undefined4 *)(puVar7 + -0x18) = 0x1469ea;\n        FUN_001807a0();\n      }" ({ "{") (expression_statement "*(int **)(puVar7 + -0x14) = piVar10;" (assignment_expression "*(int **)(puVar7 + -0x14) = piVar10" (pointer_expression "*(int **)(puVar7 + -0x14)" (* "*") (cast_expression "(int **)(puVar7 + -0x14)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar7 + -0x14)" (( "(") (binary_expression "puVar7 + -0x14" (identifier "puVar7") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (identifier "piVar10")) (; ";")) (expression_statement "*(undefined4 *)(puVar7 + -0x18) = 0x1469ea;" (assignment_expression "*(undefined4 *)(puVar7 + -0x18) = 0x1469ea" (pointer_expression "*(undefined4 *)(puVar7 + -0x18)" (* "*") (cast_expression "(undefined4 *)(puVar7 + -0x18)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar7 + -0x18)" (( "(") (binary_expression "puVar7 + -0x18" (identifier "puVar7") (+ "+") (number_literal "-0x18")) () ")")))) (= "=") (number_literal "0x1469ea")) (; ";")) (expression_statement "FUN_001807a0();" (call_expression "FUN_001807a0()" (identifier "FUN_001807a0") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (expression_statement "puVar5 = (undefined4 *)param_1[1];" (assignment_expression "puVar5 = (undefined4 *)param_1[1]" (identifier "puVar5") (= "=") (cast_expression "(undefined4 *)param_1[1]" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "param_1[1]" (identifier "param_1") ([ "[") (number_literal "1") (] "]")))) (; ";")) (if_statement "if (puVar5 == (undefined4 *)param_1[2]) {\n        *(int ***)(puVar7 + -0xc) = &local_38;\n        *(undefined4 **)(puVar7 + -0x10) = puVar5;\n        *(undefined4 **)(puVar7 + -0x14) = param_1;\n        *(undefined4 *)(puVar7 + -0x18) = 0x146b28;\n        FUN_00149250();\n      }\n      else {\n        *puVar5 = local_38;\n        param_1[1] = puVar5 + 1;\n      }" (if "if") (parenthesized_expression "(puVar5 == (undefined4 *)param_1[2])" (( "(") (binary_expression "puVar5 == (undefined4 *)param_1[2]" (identifier "puVar5") (== "==") (cast_expression "(undefined4 *)param_1[2]" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "param_1[2]" (identifier "param_1") ([ "[") (number_literal "2") (] "]")))) () ")")) (compound_statement "{\n        *(int ***)(puVar7 + -0xc) = &local_38;\n        *(undefined4 **)(puVar7 + -0x10) = puVar5;\n        *(undefined4 **)(puVar7 + -0x14) = param_1;\n        *(undefined4 *)(puVar7 + -0x18) = 0x146b28;\n        FUN_00149250();\n      }" ({ "{") (expression_statement "*(int ***)(puVar7 + -0xc) = &local_38;" (assignment_expression "*(int ***)(puVar7 + -0xc) = &local_38" (pointer_expression "*(int ***)(puVar7 + -0xc)" (* "*") (cast_expression "(int ***)(puVar7 + -0xc)" (( "(") (type_descriptor "int ***" (primitive_type "int") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "(puVar7 + -0xc)" (( "(") (binary_expression "puVar7 + -0xc" (identifier "puVar7") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (pointer_expression "&local_38" (& "&") (identifier "local_38"))) (; ";")) (expression_statement "*(undefined4 **)(puVar7 + -0x10) = puVar5;" (assignment_expression "*(undefined4 **)(puVar7 + -0x10) = puVar5" (pointer_expression "*(undefined4 **)(puVar7 + -0x10)" (* "*") (cast_expression "(undefined4 **)(puVar7 + -0x10)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar7 + -0x10)" (( "(") (binary_expression "puVar7 + -0x10" (identifier "puVar7") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "puVar5")) (; ";")) (expression_statement "*(undefined4 **)(puVar7 + -0x14) = param_1;" (assignment_expression "*(undefined4 **)(puVar7 + -0x14) = param_1" (pointer_expression "*(undefined4 **)(puVar7 + -0x14)" (* "*") (cast_expression "(undefined4 **)(puVar7 + -0x14)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar7 + -0x14)" (( "(") (binary_expression "puVar7 + -0x14" (identifier "puVar7") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (identifier "param_1")) (; ";")) (expression_statement "*(undefined4 *)(puVar7 + -0x18) = 0x146b28;" (assignment_expression "*(undefined4 *)(puVar7 + -0x18) = 0x146b28" (pointer_expression "*(undefined4 *)(puVar7 + -0x18)" (* "*") (cast_expression "(undefined4 *)(puVar7 + -0x18)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar7 + -0x18)" (( "(") (binary_expression "puVar7 + -0x18" (identifier "puVar7") (+ "+") (number_literal "-0x18")) () ")")))) (= "=") (number_literal "0x146b28")) (; ";")) (expression_statement "FUN_00149250();" (call_expression "FUN_00149250()" (identifier "FUN_00149250") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}")) (else_clause "else {\n        *puVar5 = local_38;\n        param_1[1] = puVar5 + 1;\n      }" (else "else") (compound_statement "{\n        *puVar5 = local_38;\n        param_1[1] = puVar5 + 1;\n      }" ({ "{") (expression_statement "*puVar5 = local_38;" (assignment_expression "*puVar5 = local_38" (pointer_expression "*puVar5" (* "*") (identifier "puVar5")) (= "=") (identifier "local_38")) (; ";")) (expression_statement "param_1[1] = puVar5 + 1;" (assignment_expression "param_1[1] = puVar5 + 1" (subscript_expression "param_1[1]" (identifier "param_1") ([ "[") (number_literal "1") (] "]")) (= "=") (binary_expression "puVar5 + 1" (identifier "puVar5") (+ "+") (number_literal "1"))) (; ";")) (} "}")))) (expression_statement "piVar10 = local_38;" (assignment_expression "piVar10 = local_38" (identifier "piVar10") (= "=") (identifier "local_38")) (; ";")) (expression_statement "piVar4 = local_3c;" (assignment_expression "piVar4 = local_3c" (identifier "piVar4") (= "=") (identifier "local_3c")) (; ";")) (expression_statement "*(undefined4 *)(puVar7 + -0x14) = 0x14;" (assignment_expression "*(undefined4 *)(puVar7 + -0x14) = 0x14" (pointer_expression "*(undefined4 *)(puVar7 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar7 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar7 + -0x14)" (( "(") (binary_expression "puVar7 + -0x14" (identifier "puVar7") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x14")) (; ";")) (expression_statement "*(undefined4 *)(puVar7 + -0x18) = 0x146a1e;" (assignment_expression "*(undefined4 *)(puVar7 + -0x18) = 0x146a1e" (pointer_expression "*(undefined4 *)(puVar7 + -0x18)" (* "*") (cast_expression "(undefined4 *)(puVar7 + -0x18)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar7 + -0x18)" (( "(") (binary_expression "puVar7 + -0x18" (identifier "puVar7") (+ "+") (number_literal "-0x18")) () ")")))) (= "=") (number_literal "0x146a1e")) (; ";")) (expression_statement "puVar5 = (undefined4 *)FUN_0017ebf0();" (assignment_expression "puVar5 = (undefined4 *)FUN_0017ebf0()" (identifier "puVar5") (= "=") (cast_expression "(undefined4 *)FUN_0017ebf0()" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_0017ebf0()" (identifier "FUN_0017ebf0") (argument_list "()" (( "(") () ")"))))) (; ";")) (expression_statement "local_24 = (int *)0x0;" (assignment_expression "local_24 = (int *)0x0" (identifier "local_24") (= "=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "*puVar5 = 0;" (assignment_expression "*puVar5 = 0" (pointer_expression "*puVar5" (* "*") (identifier "puVar5")) (= "=") (number_literal "0")) (; ";")) (expression_statement "local_28 = piVar4;" (assignment_expression "local_28 = piVar4" (identifier "local_28") (= "=") (identifier "piVar4")) (; ";")) (expression_statement "puVar5[2] = 0;" (assignment_expression "puVar5[2] = 0" (subscript_expression "puVar5[2]" (identifier "puVar5") ([ "[") (number_literal "2") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "uVar9 = (int)piVar4 + puVar5[2];" (assignment_expression "uVar9 = (int)piVar4 + puVar5[2]" (identifier "uVar9") (= "=") (binary_expression "(int)piVar4 + puVar5[2]" (cast_expression "(int)piVar4" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar4")) (+ "+") (subscript_expression "puVar5[2]" (identifier "puVar5") ([ "[") (number_literal "2") (] "]")))) (; ";")) (expression_statement "puVar5[3] = piVar10;" (assignment_expression "puVar5[3] = piVar10" (subscript_expression "puVar5[3]" (identifier "puVar5") ([ "[") (number_literal "3") (] "]")) (= "=") (identifier "piVar10")) (; ";")) (expression_statement "puVar5[1] = piVar4;" (assignment_expression "puVar5[1] = piVar4" (subscript_expression "puVar5[1]" (identifier "puVar5") ([ "[") (number_literal "1") (] "]")) (= "=") (identifier "piVar4")) (; ";")) (expression_statement "uVar2 = param_1[7];" (assignment_expression "uVar2 = param_1[7]" (identifier "uVar2") (= "=") (subscript_expression "param_1[7]" (identifier "param_1") ([ "[") (number_literal "7") (] "]"))) (; ";")) (expression_statement "*(uint *)(puVar7 + -8) = uVar9;" (assignment_expression "*(uint *)(puVar7 + -8) = uVar9" (pointer_expression "*(uint *)(puVar7 + -8)" (* "*") (cast_expression "(uint *)(puVar7 + -8)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar7 + -8)" (( "(") (binary_expression "puVar7 + -8" (identifier "puVar7") (+ "+") (number_literal "-8")) () ")")))) (= "=") (identifier "uVar9")) (; ";")) (expression_statement "*(undefined4 **)(puVar7 + -0xc) = puVar5 + 1;" (assignment_expression "*(undefined4 **)(puVar7 + -0xc) = puVar5 + 1" (pointer_expression "*(undefined4 **)(puVar7 + -0xc)" (* "*") (cast_expression "(undefined4 **)(puVar7 + -0xc)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar7 + -0xc)" (( "(") (binary_expression "puVar7 + -0xc" (identifier "puVar7") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (binary_expression "puVar5 + 1" (identifier "puVar5") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "*(uint *)(puVar7 + -0x10) = uVar9 % uVar2;" (assignment_expression "*(uint *)(puVar7 + -0x10) = uVar9 % uVar2" (pointer_expression "*(uint *)(puVar7 + -0x10)" (* "*") (cast_expression "(uint *)(puVar7 + -0x10)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar7 + -0x10)" (( "(") (binary_expression "puVar7 + -0x10" (identifier "puVar7") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (binary_expression "uVar9 % uVar2" (identifier "uVar9") (% "%") (identifier "uVar2"))) (; ";")) (expression_statement "*(undefined4 **)(puVar7 + -0x14) = local_54;" (assignment_expression "*(undefined4 **)(puVar7 + -0x14) = local_54" (pointer_expression "*(undefined4 **)(puVar7 + -0x14)" (* "*") (cast_expression "(undefined4 **)(puVar7 + -0x14)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar7 + -0x14)" (( "(") (binary_expression "puVar7 + -0x14" (identifier "puVar7") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (identifier "local_54")) (; ";")) (expression_statement "*(undefined4 *)(puVar7 + -0x18) = 0x146a5f;" (assignment_expression "*(undefined4 *)(puVar7 + -0x18) = 0x146a5f" (pointer_expression "*(undefined4 *)(puVar7 + -0x18)" (* "*") (cast_expression "(undefined4 *)(puVar7 + -0x18)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar7 + -0x18)" (( "(") (binary_expression "puVar7 + -0x18" (identifier "puVar7") (+ "+") (number_literal "-0x18")) () ")")))) (= "=") (number_literal "0x146a5f")) (; ";")) (expression_statement "piVar4 = (int *)FUN_0014d100();" (assignment_expression "piVar4 = (int *)FUN_0014d100()" (identifier "piVar4") (= "=") (cast_expression "(int *)FUN_0014d100()" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_0014d100()" (identifier "FUN_0014d100") (argument_list "()" (( "(") () ")"))))) (; ";")) (if_statement "if ((piVar4 == (int *)0x0) || (*piVar4 == 0)) {\n        *(undefined4 *)(puVar7 + -0x10) = 1;\n        *(undefined4 **)(puVar7 + -0x14) = puVar5;\n        *(uint *)(puVar7 + -0x18) = uVar9;\n        *(uint *)(puVar7 + -0x1c) = uVar9 % uVar2;\n        *(undefined4 **)(puVar7 + -0x20) = local_54;\n        *(undefined1 **)(puVar7 + -0x24) = local_40;\n        *(undefined4 *)(puVar7 + -0x28) = 0x146afc;\n        FUN_0014ced0();\n        puVar8 = puVar7 + -8;\n      }\n      else {\n        *(undefined4 **)(puVar7 + -0x14) = puVar5;\n        *(undefined4 *)(puVar7 + -0x18) = 0x146a7c;\n        FUN_001807a0();\n      }" (if "if") (parenthesized_expression "((piVar4 == (int *)0x0) || (*piVar4 == 0))" (( "(") (binary_expression "(piVar4 == (int *)0x0) || (*piVar4 == 0)" (parenthesized_expression "(piVar4 == (int *)0x0)" (( "(") (binary_expression "piVar4 == (int *)0x0" (identifier "piVar4") (== "==") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (|| "||") (parenthesized_expression "(*piVar4 == 0)" (( "(") (binary_expression "*piVar4 == 0" (pointer_expression "*piVar4" (* "*") (identifier "piVar4")) (== "==") (number_literal "0")) () ")"))) () ")")) (compound_statement "{\n        *(undefined4 *)(puVar7 + -0x10) = 1;\n        *(undefined4 **)(puVar7 + -0x14) = puVar5;\n        *(uint *)(puVar7 + -0x18) = uVar9;\n        *(uint *)(puVar7 + -0x1c) = uVar9 % uVar2;\n        *(undefined4 **)(puVar7 + -0x20) = local_54;\n        *(undefined1 **)(puVar7 + -0x24) = local_40;\n        *(undefined4 *)(puVar7 + -0x28) = 0x146afc;\n        FUN_0014ced0();\n        puVar8 = puVar7 + -8;\n      }" ({ "{") (expression_statement "*(undefined4 *)(puVar7 + -0x10) = 1;" (assignment_expression "*(undefined4 *)(puVar7 + -0x10) = 1" (pointer_expression "*(undefined4 *)(puVar7 + -0x10)" (* "*") (cast_expression "(undefined4 *)(puVar7 + -0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar7 + -0x10)" (( "(") (binary_expression "puVar7 + -0x10" (identifier "puVar7") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (number_literal "1")) (; ";")) (expression_statement "*(undefined4 **)(puVar7 + -0x14) = puVar5;" (assignment_expression "*(undefined4 **)(puVar7 + -0x14) = puVar5" (pointer_expression "*(undefined4 **)(puVar7 + -0x14)" (* "*") (cast_expression "(undefined4 **)(puVar7 + -0x14)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar7 + -0x14)" (( "(") (binary_expression "puVar7 + -0x14" (identifier "puVar7") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (identifier "puVar5")) (; ";")) (expression_statement "*(uint *)(puVar7 + -0x18) = uVar9;" (assignment_expression "*(uint *)(puVar7 + -0x18) = uVar9" (pointer_expression "*(uint *)(puVar7 + -0x18)" (* "*") (cast_expression "(uint *)(puVar7 + -0x18)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar7 + -0x18)" (( "(") (binary_expression "puVar7 + -0x18" (identifier "puVar7") (+ "+") (number_literal "-0x18")) () ")")))) (= "=") (identifier "uVar9")) (; ";")) (expression_statement "*(uint *)(puVar7 + -0x1c) = uVar9 % uVar2;" (assignment_expression "*(uint *)(puVar7 + -0x1c) = uVar9 % uVar2" (pointer_expression "*(uint *)(puVar7 + -0x1c)" (* "*") (cast_expression "(uint *)(puVar7 + -0x1c)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar7 + -0x1c)" (( "(") (binary_expression "puVar7 + -0x1c" (identifier "puVar7") (+ "+") (number_literal "-0x1c")) () ")")))) (= "=") (binary_expression "uVar9 % uVar2" (identifier "uVar9") (% "%") (identifier "uVar2"))) (; ";")) (expression_statement "*(undefined4 **)(puVar7 + -0x20) = local_54;" (assignment_expression "*(undefined4 **)(puVar7 + -0x20) = local_54" (pointer_expression "*(undefined4 **)(puVar7 + -0x20)" (* "*") (cast_expression "(undefined4 **)(puVar7 + -0x20)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar7 + -0x20)" (( "(") (binary_expression "puVar7 + -0x20" (identifier "puVar7") (+ "+") (number_literal "-0x20")) () ")")))) (= "=") (identifier "local_54")) (; ";")) (expression_statement "*(undefined1 **)(puVar7 + -0x24) = local_40;" (assignment_expression "*(undefined1 **)(puVar7 + -0x24) = local_40" (pointer_expression "*(undefined1 **)(puVar7 + -0x24)" (* "*") (cast_expression "(undefined1 **)(puVar7 + -0x24)" (( "(") (type_descriptor "undefined1 **" (type_identifier "undefined1") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar7 + -0x24)" (( "(") (binary_expression "puVar7 + -0x24" (identifier "puVar7") (+ "+") (number_literal "-0x24")) () ")")))) (= "=") (identifier "local_40")) (; ";")) (expression_statement "*(undefined4 *)(puVar7 + -0x28) = 0x146afc;" (assignment_expression "*(undefined4 *)(puVar7 + -0x28) = 0x146afc" (pointer_expression "*(undefined4 *)(puVar7 + -0x28)" (* "*") (cast_expression "(undefined4 *)(puVar7 + -0x28)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar7 + -0x28)" (( "(") (binary_expression "puVar7 + -0x28" (identifier "puVar7") (+ "+") (number_literal "-0x28")) () ")")))) (= "=") (number_literal "0x146afc")) (; ";")) (expression_statement "FUN_0014ced0();" (call_expression "FUN_0014ced0()" (identifier "FUN_0014ced0") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "puVar8 = puVar7 + -8;" (assignment_expression "puVar8 = puVar7 + -8" (identifier "puVar8") (= "=") (binary_expression "puVar7 + -8" (identifier "puVar7") (+ "+") (number_literal "-8"))) (; ";")) (} "}")) (else_clause "else {\n        *(undefined4 **)(puVar7 + -0x14) = puVar5;\n        *(undefined4 *)(puVar7 + -0x18) = 0x146a7c;\n        FUN_001807a0();\n      }" (else "else") (compound_statement "{\n        *(undefined4 **)(puVar7 + -0x14) = puVar5;\n        *(undefined4 *)(puVar7 + -0x18) = 0x146a7c;\n        FUN_001807a0();\n      }" ({ "{") (expression_statement "*(undefined4 **)(puVar7 + -0x14) = puVar5;" (assignment_expression "*(undefined4 **)(puVar7 + -0x14) = puVar5" (pointer_expression "*(undefined4 **)(puVar7 + -0x14)" (* "*") (cast_expression "(undefined4 **)(puVar7 + -0x14)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar7 + -0x14)" (( "(") (binary_expression "puVar7 + -0x14" (identifier "puVar7") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (identifier "puVar5")) (; ";")) (expression_statement "*(undefined4 *)(puVar7 + -0x18) = 0x146a7c;" (assignment_expression "*(undefined4 *)(puVar7 + -0x18) = 0x146a7c" (pointer_expression "*(undefined4 *)(puVar7 + -0x18)" (* "*") (cast_expression "(undefined4 *)(puVar7 + -0x18)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar7 + -0x18)" (( "(") (binary_expression "puVar7 + -0x18" (identifier "puVar7") (+ "+") (number_literal "-0x18")) () ")")))) (= "=") (number_literal "0x146a7c")) (; ";")) (expression_statement "FUN_001807a0();" (call_expression "FUN_001807a0()" (identifier "FUN_001807a0") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}")))) (expression_statement "local_4c = local_4c + 1;" (assignment_expression "local_4c = local_4c + 1" (identifier "local_4c") (= "=") (binary_expression "local_4c + 1" (identifier "local_4c") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "puVar7 = puVar8;" (assignment_expression "puVar7 = puVar8" (identifier "puVar7") (= "=") (identifier "puVar8")) (; ";")) (expression_statement "piVar10 = local_34;" (assignment_expression "piVar10 = local_34" (identifier "piVar10") (= "=") (identifier "local_34")) (; ";")) (expression_statement "piVar4 = local_34;" (assignment_expression "piVar4 = local_34" (identifier "piVar4") (= "=") (identifier "local_34")) (; ";")) (} "}")) (while "while") (parenthesized_expression "(local_4c < (uint)(((int)local_30 - (int)local_34 >> 3) * -0x55555555))" (( "(") (binary_expression "local_4c < (uint)(((int)local_30 - (int)local_34 >> 3) * -0x55555555)" (identifier "local_4c") (< "<") (call_expression "(uint)(((int)local_30 - (int)local_34 >> 3) * -0x55555555)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(((int)local_30 - (int)local_34 >> 3) * -0x55555555)" (( "(") (binary_expression "((int)local_30 - (int)local_34 >> 3) * -0x55555555" (parenthesized_expression "((int)local_30 - (int)local_34 >> 3)" (( "(") (binary_expression "(int)local_30 - (int)local_34 >> 3" (binary_expression "(int)local_30 - (int)local_34" (cast_expression "(int)local_30" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_30")) (- "-") (cast_expression "(int)local_34" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_34"))) (>> ">>") (number_literal "3")) () ")")) (* "*") (number_literal "-0x55555555")) () ")")))) () ")")) (; ";")) (for_statement "for (; piVar10 != local_30; piVar10 = piVar10 + 6) {\n      local_34 = piVar4;\n      if ((int *)*piVar10 != piVar10 + 2) {\n        *(int **)(puVar8 + -0x10) = (int *)*piVar10;\n        *(undefined4 *)(puVar8 + -0x14) = 0x146abd;\n        FUN_001807a0();\n      }\n      piVar4 = local_34;\n    }" (for "for") (( "(") (; ";") (binary_expression "piVar10 != local_30" (identifier "piVar10") (!= "!=") (identifier "local_30")) (; ";") (assignment_expression "piVar10 = piVar10 + 6" (identifier "piVar10") (= "=") (binary_expression "piVar10 + 6" (identifier "piVar10") (+ "+") (number_literal "6"))) () ")") (compound_statement "{\n      local_34 = piVar4;\n      if ((int *)*piVar10 != piVar10 + 2) {\n        *(int **)(puVar8 + -0x10) = (int *)*piVar10;\n        *(undefined4 *)(puVar8 + -0x14) = 0x146abd;\n        FUN_001807a0();\n      }\n      piVar4 = local_34;\n    }" ({ "{") (expression_statement "local_34 = piVar4;" (assignment_expression "local_34 = piVar4" (identifier "local_34") (= "=") (identifier "piVar4")) (; ";")) (if_statement "if ((int *)*piVar10 != piVar10 + 2) {\n        *(int **)(puVar8 + -0x10) = (int *)*piVar10;\n        *(undefined4 *)(puVar8 + -0x14) = 0x146abd;\n        FUN_001807a0();\n      }" (if "if") (parenthesized_expression "((int *)*piVar10 != piVar10 + 2)" (( "(") (binary_expression "(int *)*piVar10 != piVar10 + 2" (cast_expression "(int *)*piVar10" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*piVar10" (* "*") (identifier "piVar10"))) (!= "!=") (binary_expression "piVar10 + 2" (identifier "piVar10") (+ "+") (number_literal "2"))) () ")")) (compound_statement "{\n        *(int **)(puVar8 + -0x10) = (int *)*piVar10;\n        *(undefined4 *)(puVar8 + -0x14) = 0x146abd;\n        FUN_001807a0();\n      }" ({ "{") (expression_statement "*(int **)(puVar8 + -0x10) = (int *)*piVar10;" (assignment_expression "*(int **)(puVar8 + -0x10) = (int *)*piVar10" (pointer_expression "*(int **)(puVar8 + -0x10)" (* "*") (cast_expression "(int **)(puVar8 + -0x10)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar8 + -0x10)" (( "(") (binary_expression "puVar8 + -0x10" (identifier "puVar8") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (cast_expression "(int *)*piVar10" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*piVar10" (* "*") (identifier "piVar10")))) (; ";")) (expression_statement "*(undefined4 *)(puVar8 + -0x14) = 0x146abd;" (assignment_expression "*(undefined4 *)(puVar8 + -0x14) = 0x146abd" (pointer_expression "*(undefined4 *)(puVar8 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar8 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar8 + -0x14)" (( "(") (binary_expression "puVar8 + -0x14" (identifier "puVar8") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x146abd")) (; ";")) (expression_statement "FUN_001807a0();" (call_expression "FUN_001807a0()" (identifier "FUN_001807a0") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (expression_statement "piVar4 = local_34;" (assignment_expression "piVar4 = local_34" (identifier "piVar4") (= "=") (identifier "local_34")) (; ";")) (} "}"))) (} "}"))) (labeled_statement "LAB_00146aca:\n  if (piVar4 != (int *)0x0) {\n    *(int **)(puVar8 + -0x10) = piVar4;\n    *(undefined4 *)(puVar8 + -0x14) = 0x146ada;\n    FUN_001807a0();\n  }" (statement_identifier "LAB_00146aca") (: ":") (if_statement "if (piVar4 != (int *)0x0) {\n    *(int **)(puVar8 + -0x10) = piVar4;\n    *(undefined4 *)(puVar8 + -0x14) = 0x146ada;\n    FUN_001807a0();\n  }" (if "if") (parenthesized_expression "(piVar4 != (int *)0x0)" (( "(") (binary_expression "piVar4 != (int *)0x0" (identifier "piVar4") (!= "!=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n    *(int **)(puVar8 + -0x10) = piVar4;\n    *(undefined4 *)(puVar8 + -0x14) = 0x146ada;\n    FUN_001807a0();\n  }" ({ "{") (expression_statement "*(int **)(puVar8 + -0x10) = piVar4;" (assignment_expression "*(int **)(puVar8 + -0x10) = piVar4" (pointer_expression "*(int **)(puVar8 + -0x10)" (* "*") (cast_expression "(int **)(puVar8 + -0x10)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar8 + -0x10)" (( "(") (binary_expression "puVar8 + -0x10" (identifier "puVar8") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "piVar4")) (; ";")) (expression_statement "*(undefined4 *)(puVar8 + -0x14) = 0x146ada;" (assignment_expression "*(undefined4 *)(puVar8 + -0x14) = 0x146ada" (pointer_expression "*(undefined4 *)(puVar8 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar8 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar8 + -0x14)" (( "(") (binary_expression "puVar8 + -0x14" (identifier "puVar8") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x146ada")) (; ";")) (expression_statement "FUN_001807a0();" (call_expression "FUN_001807a0()" (identifier "FUN_001807a0") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}")))) (return_statement "return;" (return "return") (; ";")) (} "}")))

/* WARNING: Function: __x86.get_pc_thunk.ax replaced with injection: get_pc_thunk_ax */
/* DWARF original prototype: void Versions(Versions * this, Version_script_info * version_script,
   Stringpool * dynpool) */

void __thiscall
var_5::function_1::function_1(function_1 *this,type_1 *version_script,type_2 *dynpool)

{
  type_3 var_8;
  type_3 var_21;
  type_4 __position;
  type_5 var_29;
  type_3 var_25;
  type_6 var_7;
  char *version;
  type_7 *pVVar6;
  type_6 var_18;
  type_8 *var_33;
  type_9 *var_34;
  type_3 var_24;
  type_3 var_22;
  type_10 *__node;
  var_15<var_2,var_6::var_14<var_2>,var_6::var_1<var_2>var_3> *local_50;
  type_6 var_36;
  var_15<var_2,var_6::var_14<var_2>,var_6::var_1<var_2>var_3> *var_23;
  type_11 local_40 [4];
  type_5 version_key;
  type_7 *vd;
  vector<var_13::__cxx11::var_15<var_2,var_6::var_14<var_2>,var_6::var_1<var_2>var_3>,var_6::var_1<var_13::__cxx11::var_15<var_2,var_6::var_14<var_2>,var_6::var_1<var_2>var_3>var_3>var_3>
  var_4;
  vector<var_13::__cxx11::var_15<var_2,var_6::var_14<var_2>,var_6::var_1<var_2>var_3>,var_6::var_1<var_13::__cxx11::var_15<var_2,var_6::var_14<var_2>,var_6::var_1<var_2>var_3>var_3>var_3>
  local_28 [2];
  
  (this->defs_).super__Vector_base<var_5::type_7*,var_6::var_1<var_5::type_7*>var_3>._M_impl._M_start =
       (type_3)0x0;
  (this->defs_).super__Vector_base<var_5::type_7*,var_6::var_1<var_5::type_7*>var_3>._M_impl._M_finish
       = (type_3)0x0;
  (this->defs_).super__Vector_base<var_5::type_7*,var_6::var_1<var_5::type_7*>var_3>._M_impl.
  _M_end_of_storage = (type_3)0x0;
  (this->needs_).super__Vector_base<var_5::Verneed*,var_6::var_1<var_5::Verneed*>var_3>._M_impl.
  _M_start = (type_3)0x0;
  (this->needs_).super__Vector_base<var_5::Verneed*,var_6::var_1<var_5::Verneed*>var_3>._M_impl.
  _M_finish = (type_3)0x0;
  (this->needs_).super__Vector_base<var_5::Verneed*,var_6::var_1<var_5::Verneed*>var_3>._M_impl.
  _M_end_of_storage = (type_3)0x0;
  var_7 = 0;
  do {
    *(type_8 *)((int)&(this->version_table_)._M_h._M_buckets + var_7) = 0;
    var_7 = var_7 + 4;
  } while (var_7 < 0x1c);
  (this->version_table_)._M_h._M_bucket_count = 1;
  (this->version_table_)._M_h._M_buckets = &(this->version_table_)._M_h._M_single_bucket;
  var_8 = (version_script->version_trees_).
            super__Vector_base<var_5::Version_tree*,var_6::var_1<var_5::Version_tree*>var_3>._M_impl.
            _M_finish;
  (this->version_table_)._M_h._M_before_begin._M_nxt = (type_12 *)0x0;
  (this->version_table_)._M_h._M_element_count = 0;
  (this->version_table_)._M_h._M_rehash_policy._M_max_load_factor = 1.0;
  (this->version_table_)._M_h._M_rehash_policy._M_next_resize = 0;
  (this->version_table_)._M_h._M_single_bucket = (type_13)0x0;
  this->is_finalized_ = false;
  this->version_script_ = version_script;
  this->needs_base_version_ = true;
  if ((version_script->version_trees_).
      super__Vector_base<var_5::Version_tree*,var_6::var_1<var_5::Version_tree*>var_3>._M_impl._M_start
      == var_8) {
    return;
  }
                    /* try { // try from 00146833 to 00146837 has its CatchHandler @ 00146b55 */
  Version_script_info::var_9(&var_4,version_script);
  if (this->needs_base_version_ != false) {
    var_24 = var_4.
             super__Vector_base<var_13::__cxx11::var_15<var_2,var_6::var_14<var_2>,var_6::var_1<var_2>var_3>,var_6::var_1<var_13::__cxx11::var_15<var_2,var_6::var_14<var_2>,var_6::var_1<var_2>var_3>var_3>var_3>
             ._M_impl._M_finish;
    if (var_4.
        super__Vector_base<var_13::__cxx11::var_15<var_2,var_6::var_14<var_2>,var_6::var_1<var_2>var_3>,var_6::var_1<var_13::__cxx11::var_15<var_2,var_6::var_14<var_2>,var_6::var_1<var_2>var_3>var_3>var_3>
        ._M_impl._M_start ==
        var_4.
        super__Vector_base<var_13::__cxx11::var_15<var_2,var_6::var_14<var_2>,var_6::var_1<var_2>var_3>,var_6::var_1<var_13::__cxx11::var_15<var_2,var_6::var_14<var_2>,var_6::var_1<var_2>var_3>var_3>var_3>
        ._M_impl._M_finish) goto LAB_00146aca;
                    /* try { // try from 00146864 to 001468d6 has its CatchHandler @ 00146b47 */
    var_10(this,dynpool);
  }
  var_36 = 0;
  var_24 = var_4.
           super__Vector_base<var_13::__cxx11::var_15<var_2,var_6::var_14<var_2>,var_6::var_1<var_2>var_3>,var_6::var_1<var_13::__cxx11::var_15<var_2,var_6::var_14<var_2>,var_6::var_1<var_2>var_3>var_3>var_3>
           ._M_impl._M_start;
  if (var_4.
      super__Vector_base<var_13::__cxx11::var_15<var_2,var_6::var_14<var_2>,var_6::var_1<var_2>var_3>,var_6::var_1<var_13::__cxx11::var_15<var_2,var_6::var_14<var_2>,var_6::var_1<var_2>var_3>var_3>var_3>
      ._M_impl._M_start !=
      var_4.
      super__Vector_base<var_13::__cxx11::var_15<var_2,var_6::var_14<var_2>,var_6::var_1<var_2>var_3>,var_6::var_1<var_13::__cxx11::var_15<var_2,var_6::var_14<var_2>,var_6::var_1<var_2>var_3>var_3>var_3>
      ._M_impl._M_finish) {
    do {
      version = var_11<var_2>::var_12
                          (dynpool,var_4.
                                   super__Vector_base<var_13::__cxx11::var_15<var_2,var_6::var_14<var_2>,var_6::var_1<var_2>var_3>,var_6::var_1<var_13::__cxx11::var_15<var_2,var_6::var_14<var_2>,var_6::var_1<var_2>var_3>var_3>var_3>
                                   ._M_impl._M_start[var_36]._M_dataplus._M_p,true,&version_key);
      Version_script_info::var_16(local_28,this->version_script_,version);
                    /* try { // try from 001468d9 to 001468dd has its CatchHandler @ 00146b4e */
      pVVar6 = (type_7 *)var_17(0x1c);
      (pVVar6->super_Version_base).index_ = 0xffffffff;
      pVVar6->name_ = version;
      (pVVar6->super_Version_base)._vptr_Version_base = (type_14 **)&PTR__Verdef_002f9e60;
      (pVVar6->deps_).
      super__Vector_base<var_13::__cxx11::var_15<var_2,var_6::var_14<var_2>,var_6::var_1<var_2>var_3>,var_6::var_1<var_13::__cxx11::var_15<var_2,var_6::var_14<var_2>,var_6::var_1<var_2>var_3>var_3>var_3>
      ._M_impl._M_start = (type_3)0x0;
      var_7 = (int)local_28[0].
                   super__Vector_base<var_13::__cxx11::var_15<var_2,var_6::var_14<var_2>,var_6::var_1<var_2>var_3>,var_6::var_1<var_13::__cxx11::var_15<var_2,var_6::var_14<var_2>,var_6::var_1<var_2>var_3>var_3>var_3>
                   ._M_impl._M_finish -
              (int)local_28[0].
                   super__Vector_base<var_13::__cxx11::var_15<var_2,var_6::var_14<var_2>,var_6::var_1<var_2>var_3>,var_6::var_1<var_13::__cxx11::var_15<var_2,var_6::var_14<var_2>,var_6::var_1<var_2>var_3>var_3>var_3>
                   ._M_impl._M_start;
      (pVVar6->deps_).
      super__Vector_base<var_13::__cxx11::var_15<var_2,var_6::var_14<var_2>,var_6::var_1<var_2>var_3>,var_6::var_1<var_13::__cxx11::var_15<var_2,var_6::var_14<var_2>,var_6::var_1<var_2>var_3>var_3>var_3>
      ._M_impl._M_finish = (type_3)0x0;
      var_18 = ((int)var_7 >> 3) * -0x55555555;
      (pVVar6->deps_).
      super__Vector_base<var_13::__cxx11::var_15<var_2,var_6::var_14<var_2>,var_6::var_1<var_2>var_3>,var_6::var_1<var_13::__cxx11::var_15<var_2,var_6::var_14<var_2>,var_6::var_1<var_2>var_3>var_3>var_3>
      ._M_impl._M_end_of_storage = (type_3)0x0;
      if (var_18 == 0) {
        local_50 = (var_15<var_2,var_6::var_14<var_2>,var_6::var_1<var_2>var_3> *)0x0;
      }
      else {
        if (0xaaaaaaa < var_18) {
                    /* WARNING: Subroutine does not return */
                    /* try { // try from 00146b42 to 00146b46 has its CatchHandler @ 00146b6a */
          std::var_19();
        }
                    /* try { // try from 00146939 to 0014693d has its CatchHandler @ 00146b6a */
        local_50 = (var_15<var_2,var_6::var_14<var_2>,var_6::var_1<var_2>var_3> *)
                   var_17(var_7);
      }
      var_24 = local_28[0].
               super__Vector_base<var_13::__cxx11::var_15<var_2,var_6::var_14<var_2>,var_6::var_1<var_2>var_3>,var_6::var_1<var_13::__cxx11::var_15<var_2,var_6::var_14<var_2>,var_6::var_1<var_2>var_3>var_3>var_3>
               ._M_impl._M_finish;
      (pVVar6->deps_).
      super__Vector_base<var_13::__cxx11::var_15<var_2,var_6::var_14<var_2>,var_6::var_1<var_2>var_3>,var_6::var_1<var_13::__cxx11::var_15<var_2,var_6::var_14<var_2>,var_6::var_1<var_2>var_3>var_3>var_3>
      ._M_impl._M_start = local_50;
      (pVVar6->deps_).
      super__Vector_base<var_13::__cxx11::var_15<var_2,var_6::var_14<var_2>,var_6::var_1<var_2>var_3>,var_6::var_1<var_13::__cxx11::var_15<var_2,var_6::var_14<var_2>,var_6::var_1<var_2>var_3>var_3>var_3>
      ._M_impl._M_finish = local_50;
      (pVVar6->deps_).
      super__Vector_base<var_13::__cxx11::var_15<var_2,var_6::var_14<var_2>,var_6::var_1<var_2>var_3>,var_6::var_1<var_13::__cxx11::var_15<var_2,var_6::var_14<var_2>,var_6::var_1<var_2>var_3>var_3>var_3>
      ._M_impl._M_end_of_storage = (type_3)(var_7 + (int)local_50);
      if (local_28[0].
          super__Vector_base<var_13::__cxx11::var_15<var_2,var_6::var_14<var_2>,var_6::var_1<var_2>var_3>,var_6::var_1<var_13::__cxx11::var_15<var_2,var_6::var_14<var_2>,var_6::var_1<var_2>var_3>var_3>var_3>
          ._M_impl._M_start ==
          local_28[0].
          super__Vector_base<var_13::__cxx11::var_15<var_2,var_6::var_14<var_2>,var_6::var_1<var_2>var_3>,var_6::var_1<var_13::__cxx11::var_15<var_2,var_6::var_14<var_2>,var_6::var_1<var_2>var_3>var_3>var_3>
          ._M_impl._M_finish) {
        pVVar6->is_base_ = false;
        pVVar6->is_weak_ = false;
        pVVar6->is_info_ = false;
        pVVar6->is_symbol_created_ = false;
        vd = pVVar6;
      }
      else {
        var_23 = local_50;
        var_22 = local_28[0].
                  super__Vector_base<var_13::__cxx11::var_15<var_2,var_6::var_14<var_2>,var_6::var_1<var_2>var_3>,var_6::var_1<var_13::__cxx11::var_15<var_2,var_6::var_14<var_2>,var_6::var_1<var_2>var_3>var_3>var_3>
                  ._M_impl._M_start;
        do {
          (var_23->_M_dataplus)._M_p = (type_3)&var_23->field_2;
          var_21 = (var_22->_M_dataplus)._M_p;
                    /* try { // try from 00146984 to 00146988 has its CatchHandler @ 00146b65 */
          std::__cxx11::var_15<var_2,var_6::var_14<var_2>,var_6::var_1<var_2>var_3>::
          var_20<var_2*>(var_23,var_21,var_21 + var_22->_M_string_length,0);
          var_25 = local_28[0].
                   super__Vector_base<var_13::__cxx11::var_15<var_2,var_6::var_14<var_2>,var_6::var_1<var_2>var_3>,var_6::var_1<var_13::__cxx11::var_15<var_2,var_6::var_14<var_2>,var_6::var_1<var_2>var_3>var_3>var_3>
                   ._M_impl._M_finish;
          var_22 = var_22 + 1;
          var_23 = var_23 + 1;
        } while (var_24 != var_22);
        pVVar6->is_base_ = false;
        pVVar6->is_weak_ = false;
        pVVar6->is_info_ = false;
        pVVar6->is_symbol_created_ = false;
        (pVVar6->deps_).
        super__Vector_base<var_13::__cxx11::var_15<var_2,var_6::var_14<var_2>,var_6::var_1<var_2>var_3>,var_6::var_1<var_13::__cxx11::var_15<var_2,var_6::var_14<var_2>,var_6::var_1<var_2>var_3>var_3>var_3>
        ._M_impl._M_finish = var_23;
        vd = pVVar6;
        var_24 = local_28[0].
                 super__Vector_base<var_13::__cxx11::var_15<var_2,var_6::var_14<var_2>,var_6::var_1<var_2>var_3>,var_6::var_1<var_13::__cxx11::var_15<var_2,var_6::var_14<var_2>,var_6::var_1<var_2>var_3>var_3>var_3>
                 ._M_impl._M_finish;
        for (var_22 = local_28[0].
                       super__Vector_base<var_13::__cxx11::var_15<var_2,var_6::var_14<var_2>,var_6::var_1<var_2>var_3>,var_6::var_1<var_13::__cxx11::var_15<char,var_6::var_14<char>,var_6::var_1<char>var_3>var_3>var_3>
                       ._M_impl._M_start; var_22 != var_25; var_22 = var_22 + 1) {
          var_21 = (var_22->_M_dataplus)._M_p;
          if ((anon_union_16_2_edb7204a_for_basic_string<var_2,var_6::var_14<var_2>,var_6::var_1<var_2>var_3>var_26
               *)var_21 != &var_22->field_2) {
            var_27(var_21);
          }
          var_24 = local_28[0].
                   super__Vector_base<var_13::__cxx11::var_15<var_2,var_6::var_14<var_2>,var_6::var_1<var_2>var_3>,var_6::var_1<var_13::__cxx11::var_15<var_2,var_6::var_14<var_2>,var_6::var_1<var_2>var_3>var_3>var_3>
                   ._M_impl._M_start;
        }
      }
      if (var_24 != (type_3)0x0) {
        var_27(var_24);
      }
      __position._M_current =
           (this->defs_).super__Vector_base<var_5::type_7*,var_6::var_1<var_5::type_7*>var_3>._M_impl.
           _M_finish;
      if (__position._M_current ==
          (this->defs_).super__Vector_base<var_5::type_7*,var_6::var_1<var_5::type_7*>var_3>._M_impl.
          _M_end_of_storage) {
        var_13::vector<var_5::type_7*,var_6::var_1<var_5::type_7*>var_3>::
        _M_realloc_insert<var_5::type_7*var_28&>(&this->defs_,__position,&vd);
      }
      else {
        *__position._M_current = vd;
        (this->defs_).super__Vector_base<var_5::type_7*,var_6::var_1<var_5::type_7*>var_3>._M_impl.
        _M_finish = __position._M_current + 1;
      }
      pVVar6 = vd;
      var_29 = version_key;
                    /* try { // try from 00146a19 to 00146b27 has its CatchHandler @ 00146b47 */
      var_33 = (type_8 *)var_17(0x14);
      local_28[0].
      super__Vector_base<var_13::__cxx11::var_15<var_2,var_6::var_14<var_2>,var_6::var_1<var_2>var_3>,var_6::var_1<var_13::__cxx11::var_15<var_2,var_6::var_14<var_2>,var_6::var_1<var_2>var_3>var_3>var_3>
      ._M_impl._M_finish = (type_3)0x0;
      *var_33 = 0;
      local_28[0].
      super__Vector_base<var_13::__cxx11::var_15<var_2,var_6::var_14<var_2>,var_6::var_1<var_2>var_3>,var_6::var_1<var_13::__cxx11::var_15<var_2,var_6::var_14<var_2>,var_6::var_1<var_2>var_3>var_3>var_3>
      ._M_impl._M_start = (type_3)var_29;
      var_33[2] = 0;
      __node = (type_10 *)(var_29 + var_33[2]);
      var_33[3] = pVVar6;
      var_33[1] = var_29;
      var_7 = (type_6)__node % (this->version_table_)._M_h._M_bucket_count;
      var_34 = var_13::
               _Hashtable<var_13::pair<unsigned_int,_unsigned_int>,var_6::pair<const_std::pair<unsigned_int,_unsigned_int>,_gold::Version_base*>,var_6::var_1<var_13::pair<const_std::pair<unsigned_int,_unsigned_int>,_gold::Version_base*>var_3>,var_6::__detail::_Select1st,_gold::Versions::Version_table_eq,_gold::Versions::Version_table_hash,var_6::__detail::_Mod_range_hashing,var_6::__detail::_Default_ranged_hash,var_6::__detail::_Prime_rehash_policy,var_6::__detail::var_30<true,_false,var_31>var_3>
               ::var_32
                         ((_Hashtable<var_13::pair<unsigned_int,_unsigned_int>,var_6::pair<const_std::pair<unsigned_int,_unsigned_int>,_gold::Version_base*>,var_6::var_1<var_13::pair<const_std::pair<unsigned_int,_unsigned_int>,_gold::Version_base*>var_3>,var_6::__detail::_Select1st,_gold::function_1::Version_table_eq,_gold::function_1::Version_table_hash,var_6::__detail::_Mod_range_hashing,var_6::__detail::_Default_ranged_hash,var_6::__detail::_Prime_rehash_policy,var_6::__detail::var_30<true,_false,var_31>var_3>
                           *)&this->version_table_,var_7,(type_15 *)(var_33 + 1),
                          (type_16)__node);
      if ((var_34 == (type_9 *)0x0) || (var_34->_M_nxt == (type_12 *)0x0)) {
        var_13::
        _Hashtable<var_13::pair<unsigned_int,_unsigned_int>,var_6::pair<const_std::pair<unsigned_int,_unsigned_int>,_gold::Version_base*>,var_6::var_1<var_13::pair<const_std::pair<unsigned_int,_unsigned_int>,_gold::Version_base*>var_3>,var_6::__detail::_Select1st,_gold::function_1::Version_table_eq,_gold::function_1::Version_table_hash,var_6::__detail::_Mod_range_hashing,var_6::__detail::_Default_ranged_hash,var_6::__detail::_Prime_rehash_policy,var_6::__detail::var_30<true,_false,var_31>var_3>
        ::var_35
                  ((_Hashtable<var_13::pair<unsigned_int,_unsigned_int>,var_6::pair<const_std::pair<unsigned_int,_unsigned_int>,_gold::Version_base*>,var_6::var_1<var_13::pair<const_std::pair<unsigned_int,_unsigned_int>,_gold::Version_base*>var_3>,var_6::__detail::_Select1st,_gold::function_1::Version_table_eq,_gold::function_1::Version_table_hash,var_6::__detail::_Mod_range_hashing,var_6::__detail::_Default_ranged_hash,var_6::__detail::_Prime_rehash_policy,var_6::__detail::var_30<true,_false,var_31>var_3>
                    *)local_40,(type_17)&this->version_table_,var_7,__node,(type_17)var_33);
      }
      else {
        var_27(var_33);
      }
      var_36 = var_36 + 1;
      var_22 = var_4.
                super__Vector_base<var_13::__cxx11::var_15<var_2,var_6::var_14<var_2>,var_6::var_1<var_2>var_3>,var_6::var_1<var_13::__cxx11::var_15<var_2,var_6::var_14<var_2>,var_6::var_1<var_2>var_3>var_3>var_3>
                ._M_impl._M_start;
      var_24 = var_4.
               super__Vector_base<var_13::__cxx11::var_15<var_2,var_6::var_14<var_2>,var_6::var_1<var_2>var_3>,var_6::var_1<var_13::__cxx11::var_15<var_2,var_6::var_14<var_2>,var_6::var_1<var_2>var_3>var_3>var_3>
               ._M_impl._M_start;
    } while (var_36 <
             (type_6)(((int)var_4.
                          super__Vector_base<var_13::__cxx11::var_15<var_2,var_6::var_14<var_2>,var_6::var_1<var_2>var_3>,var_6::var_1<var_13::__cxx11::var_15<var_2,var_6::var_14<var_2>,var_6::var_1<var_2>var_3>var_3>var_3>
                          ._M_impl._M_finish -
                     (int)var_4.
                          super__Vector_base<var_13::__cxx11::var_15<var_2,var_6::var_14<var_2>,var_6::var_1<var_2>var_3>,var_6::var_1<var_13::__cxx11::var_15<var_2,var_6::var_14<var_2>,var_6::var_1<var_2>var_3>var_3>var_3>
                          ._M_impl._M_start >> 3) * -0x55555555));
    for (; var_22 !=
           var_4.
           super__Vector_base<var_13::__cxx11::var_15<var_2,var_6::var_14<var_2>,var_6::var_1<var_2>var_3>,var_6::var_1<var_13::__cxx11::var_15<var_2,var_6::var_14<var_2>,var_6::var_1<var_2>var_3>var_3>var_3>
           ._M_impl._M_finish; var_22 = var_22 + 1) {
      var_21 = (var_22->_M_dataplus)._M_p;
      var_4.
      super__Vector_base<var_13::__cxx11::var_15<var_2,var_6::var_14<var_2>,var_6::var_1<var_2>var_3>,var_6::var_1<var_13::__cxx11::var_15<var_2,var_6::var_14<var_2>,var_6::var_1<var_2>var_3>var_3>var_3>
      ._M_impl._M_start = var_24;
      if ((anon_union_16_2_edb7204a_for_basic_string<var_2,var_6::var_14<var_2>,var_6::var_1<var_2>var_3>var_26
           *)var_21 != &var_22->field_2) {
        var_27(var_21);
      }
      var_24 = var_4.
               super__Vector_base<var_13::__cxx11::var_15<var_2,var_6::var_14<var_2>,var_6::var_1<var_2>var_3>,var_6::var_1<var_13::__cxx11::var_15<var_2,var_6::var_14<var_2>,var_6::var_1<var_2>var_3>var_3>var_3>
               ._M_impl._M_start;
    }
  }
LAB_00146aca:
  if (var_24 != (type_3)0x0) {
    var_27(var_24);
  }
  return;
}


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

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

void MASKED(undefined4 *param_1,int param_2,undefined4 param_3)

{
  int *piVar1;
  uint uVar2;
  int iVar3;
  int *piVar4;
  undefined4 *puVar5;
  int *piVar6;
  undefined1 *puVar7;
  undefined1 *puVar8;
  uint uVar9;
  int *piVar10;
  undefined1 auStack_70 [12];
  int **local_64;
  undefined **local_60;
  int **local_5c;
  int **local_58;
  undefined4 *local_54;
  int *local_50;
  uint local_4c;
  undefined **local_48;
  int *local_44;
  undefined1 local_40 [4];
  int *local_3c;
  int *local_38;
  int *local_34;
  int *local_30;
  int *local_28;
  int *local_24;
  
  local_48 = &__DT_PLTGOT;
  *param_1 = 0;
  param_1[1] = 0;
  param_1[2] = 0;
  param_1[3] = 0;
  param_1[4] = 0;
  param_1[5] = 0;
  uVar2 = 0;
  do {
    *(undefined4 *)((int)param_1 + uVar2 + 0x18) = 0;
    uVar2 = uVar2 + 4;
  } while (uVar2 < 0x1c);
  param_1[7] = 1;
  param_1[6] = param_1 + 0xc;
  iVar3 = *(int *)(param_2 + 0x1c);
  param_1[8] = 0;
  param_1[9] = 0;
  param_1[10] = 0x3f800000;
  param_1[0xb] = 0;
  param_1[0xc] = 0;
  *(undefined1 *)(param_1 + 0xd) = 0;
  param_1[0xe] = param_2;
  *(undefined1 *)(param_1 + 0xf) = 1;
  if (*(int *)(param_2 + 0x18) == iVar3) {
    return;
  }
  local_64 = &local_34;
                    /* try { // try from 00146833 to 00146837 has its CatchHandler @ 00146b55 */
  FUN_00119630(local_64,param_2);
  puVar8 = auStack_70;
  if (*(char *)(param_1 + 0xf) != '\0') {
    piVar4 = local_30;
    if (local_34 == local_30) goto LAB_00146aca;
    local_54 = param_1 + 6;
                    /* try { // try from 00146864 to 001468d6 has its CatchHandler @ 00146b47 */
    FUN_001463c0(param_1,param_3);
  }
  puVar8 = auStack_70;
  puVar7 = auStack_70;
  local_4c = 0;
  local_54 = param_1 + 6;
  local_58 = &local_28;
  local_5c = &local_3c;
  local_60 = local_48 + -0x2068;
  piVar4 = local_34;
  if (local_34 != local_30) {
    do {
      *(int ***)(puVar7 + -4) = local_5c;
      *(undefined4 *)(puVar7 + -8) = 1;
      *(int *)(puVar7 + -0xc) = local_34[local_4c * 6];
      *(undefined4 *)(puVar7 + -0x10) = param_3;
      *(undefined4 *)(puVar7 + -0x14) = 0x1468c3;
      iVar3 = FUN_001200e0();
      *(int *)(puVar7 + -8) = iVar3;
      *(undefined4 *)(puVar7 + -0xc) = param_1[0xe];
      *(int ***)(puVar7 + -0x10) = local_58;
      *(undefined4 *)(puVar7 + -0x14) = 0x1468d7;
      FUN_00118dd0();
      *(undefined4 *)(puVar7 + -0x14) = 0x1c;
                    /* try { // try from 001468d9 to 001468dd has its CatchHandler @ 00146b4e */
      *(undefined4 *)(puVar7 + -0x18) = 0x1468de;
      piVar4 = (int *)FUN_0017ebf0();
      piVar4[1] = -1;
      piVar4[2] = iVar3;
      *piVar4 = (int)local_60;
      piVar4[3] = 0;
      local_44 = (int *)((int)local_24 - (int)local_28);
      piVar4[4] = 0;
      uVar2 = ((int)local_44 >> 3) * -0x55555555;
      piVar4[5] = 0;
      if (uVar2 == 0) {
        local_50 = (int *)0x0;
      }
      else {
        if (0xaaaaaaa < uVar2) {
                    /* WARNING: Subroutine does not return */
                    /* try { // try from 00146b42 to 00146b46 has its CatchHandler @ 00146b6a */
          *(undefined1 **)(puVar7 + -8) = &LAB_00146b47;
          FUN_001c5fe0();
        }
        *(int **)(puVar7 + -0x14) = local_44;
                    /* try { // try from 00146939 to 0014693d has its CatchHandler @ 00146b6a */
        *(undefined4 *)(puVar7 + -0x18) = 0x14693e;
        local_50 = (int *)FUN_0017ebf0();
      }
      piVar10 = local_24;
      puVar8 = puVar7 + -4;
      piVar4[3] = (int)local_50;
      piVar4[4] = (int)local_50;
      piVar4[5] = (int)local_44 + (int)local_50;
      if (local_28 == local_24) {
        piVar4[6] = 0;
        local_38 = piVar4;
      }
      else {
        local_44 = local_50;
        piVar6 = local_28;
        do {
          *local_44 = (int)(local_44 + 2);
          iVar3 = *piVar6;
          *(undefined4 *)(puVar7 + -8) = 0;
          *(int *)(puVar7 + -0xc) = piVar6[1] + iVar3;
          *(int *)(puVar7 + -0x10) = iVar3;
          *(int **)(puVar7 + -0x14) = local_44;
                    /* try { // try from 00146984 to 00146988 has its CatchHandler @ 00146b65 */
          *(undefined4 *)(puVar7 + -0x18) = 0x146989;
          FUN_0004d4e0();
          piVar1 = local_24;
          piVar6 = piVar6 + 6;
          local_44 = local_44 + 6;
        } while (piVar10 != piVar6);
        piVar4[6] = 0;
        piVar4[4] = (int)local_44;
        local_38 = piVar4;
        piVar10 = local_24;
        for (piVar4 = local_28; piVar4 != piVar1; piVar4 = piVar4 + 6) {
          if ((int *)*piVar4 != piVar4 + 2) {
            *(int **)(puVar7 + -0x14) = (int *)*piVar4;
            *(undefined4 *)(puVar7 + -0x18) = 0x1469cd;
            FUN_001807a0();
          }
          piVar10 = local_28;
        }
      }
      if (piVar10 != (int *)0x0) {
        *(int **)(puVar7 + -0x14) = piVar10;
        *(undefined4 *)(puVar7 + -0x18) = 0x1469ea;
        FUN_001807a0();
      }
      puVar5 = (undefined4 *)param_1[1];
      if (puVar5 == (undefined4 *)param_1[2]) {
        *(int ***)(puVar7 + -0xc) = &local_38;
        *(undefined4 **)(puVar7 + -0x10) = puVar5;
        *(undefined4 **)(puVar7 + -0x14) = param_1;
        *(undefined4 *)(puVar7 + -0x18) = 0x146b28;
        FUN_00149250();
      }
      else {
        *puVar5 = local_38;
        param_1[1] = puVar5 + 1;
      }
      piVar10 = local_38;
      piVar4 = local_3c;
      *(undefined4 *)(puVar7 + -0x14) = 0x14;
                    /* try { // try from 00146a19 to 00146b27 has its CatchHandler @ 00146b47 */
      *(undefined4 *)(puVar7 + -0x18) = 0x146a1e;
      puVar5 = (undefined4 *)FUN_0017ebf0();
      local_24 = (int *)0x0;
      *puVar5 = 0;
      local_28 = piVar4;
      puVar5[2] = 0;
      uVar9 = (int)piVar4 + puVar5[2];
      puVar5[3] = piVar10;
      puVar5[1] = piVar4;
      uVar2 = param_1[7];
      *(uint *)(puVar7 + -8) = uVar9;
      *(undefined4 **)(puVar7 + -0xc) = puVar5 + 1;
      *(uint *)(puVar7 + -0x10) = uVar9 % uVar2;
      *(undefined4 **)(puVar7 + -0x14) = local_54;
      *(undefined4 *)(puVar7 + -0x18) = 0x146a5f;
      piVar4 = (int *)FUN_0014d100();
      if ((piVar4 == (int *)0x0) || (*piVar4 == 0)) {
        *(undefined4 *)(puVar7 + -0x10) = 1;
        *(undefined4 **)(puVar7 + -0x14) = puVar5;
        *(uint *)(puVar7 + -0x18) = uVar9;
        *(uint *)(puVar7 + -0x1c) = uVar9 % uVar2;
        *(undefined4 **)(puVar7 + -0x20) = local_54;
        *(undefined1 **)(puVar7 + -0x24) = local_40;
        *(undefined4 *)(puVar7 + -0x28) = 0x146afc;
        FUN_0014ced0();
        puVar8 = puVar7 + -8;
      }
      else {
        *(undefined4 **)(puVar7 + -0x14) = puVar5;
        *(undefined4 *)(puVar7 + -0x18) = 0x146a7c;
        FUN_001807a0();
      }
      local_4c = local_4c + 1;
      puVar7 = puVar8;
      piVar10 = local_34;
      piVar4 = local_34;
    } while (local_4c < (uint)(((int)local_30 - (int)local_34 >> 3) * -0x55555555));
    for (; piVar10 != local_30; piVar10 = piVar10 + 6) {
      local_34 = piVar4;
      if ((int *)*piVar10 != piVar10 + 2) {
        *(int **)(puVar8 + -0x10) = (int *)*piVar10;
        *(undefined4 *)(puVar8 + -0x14) = 0x146abd;
        FUN_001807a0();
      }
      piVar4 = local_34;
    }
  }
LAB_00146aca:
  if (piVar4 != (int *)0x0) {
    *(int **)(puVar8 + -0x10) = piVar4;
    *(undefined4 *)(puVar8 + -0x14) = 0x146ada;
    FUN_001807a0();
  }
  return;
}

