
/* WARNING: Enum "DT": Some values do not have unique names */
/* DWARF original prototype: void group_sections(Target_powerpc<64,_false> * this, Layout * layout,
   Task * param_7, bool no_size_errors) */

void __thiscall
anon_unknown.dwarf_2af53c::Target_powerpc<64,_false>::group_sections
          (Target_powerpc<64,_false> *this,Layout *layout,Task *param_2,bool no_size_errors)

{
  uint uVar1;
  Input_file **ppIVar2;
  _Base_ptr p_Var3;
  _Rb_tree_color _Var4;
  anon_union_4_4_139239c7_for_u2_ *__src;
  bool bVar5;
  Compressed_section_map *pCVar6;
  uint uVar7;
  anon_union_4_4_139239c7_for_u2_ this_00;
  Relobj *pRVar8;
  uint uVar9;
  int iVar10;
  size_t __n;
  void *__dest;
  Input_section *pIVar11;
  Stub_control *this_01;
  pointer pcVar12;
  Output_section *pOVar13;
  uint extraout_EDX;
  Input_section *this_02;
  int unaff_EDI;
  anon_union_4_4_139239c7_for_u2_ *paVar14;
  undefined8 uVar15;
  off_t oVar16;
  Output_section *pOVar17;
  iterator __position;
  vector<gold::Output_relaxed_input_section*,_std::allocator<gold::Output_relaxed_input_section*>_>
  *in_stack_ffffff5c;
  vector<(anonymous_namespace)::Stub_table_owner*,_std::allocator<(anonymous_namespace)::Stub_table_owner*>_>
  *in_stack_ffffff60;
  iterator in_stack_ffffff64;
  Stub_table_owner **in_stack_ffffff68;
  _func_int_varargs **pp_Var18;
  _Base_ptr local_8c;
  pointer local_7c;
  void *local_74;
  undefined4 local_70;
  Stub_table_owner *table_owner;
  anon_union_4_4_139239c7_for_u2_ local_64;
  vector<(anonymous_namespace)::Stub_table_owner*,_std::allocator<(anonymous_namespace)::Stub_table_owner*>_>
  tables;
  Section_list section_list;
  vector<gold::Output_relaxed_input_section*,_std::allocator<gold::Output_relaxed_input_section*>_>
  new_relaxed;
  Stub_control stub_control;
  
  uVar15 = __x86_get_pc_thunk_di();
  pCVar6 = (Compressed_section_map *)uVar15;
  if (*(int *)(*(int *)(BYTE_ARRAY_003a4e59 + unaff_EDI + 0x86) + 8) == 0) {
                    /* WARNING: Subroutine does not return */
    gold::do_gold_unreachable
              ((char *)(std::wios::rdbuf + unaff_EDI + 4),0x5c,(char *)(unaff_EDI + 0x286d9f));
  }
  stub_control.owner_ = (Input_section *)0x0;
  stub_control.output_section_ = (Output_section *)0x0;
  table_owner = (Stub_table_owner *)0x0;
  tables.
  super__Vector_base<(anonymous_namespace)::Stub_table_owner*,_std::allocator<(anonymous_namespace)::Stub_table_owner*>_>
  ._M_impl._M_start = (pointer)0x0;
  tables.
  super__Vector_base<(anonymous_namespace)::Stub_table_owner*,_std::allocator<(anonymous_namespace)::Stub_table_owner*>_>
  ._M_impl._M_finish = (pointer)0x0;
  tables.
  super__Vector_base<(anonymous_namespace)::Stub_table_owner*,_std::allocator<(anonymous_namespace)::Stub_table_owner*>_>
  ._M_impl._M_end_of_storage = (pointer)0x0;
  section_list.super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>.
  _M_impl._M_start = (pointer)0x0;
  section_list.super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>.
  _M_impl._M_finish = (pointer)0x0;
  section_list.super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>.
  _M_impl._M_end_of_storage = (pointer)0x0;
                    /* try { // try from 0006f6c7 to 0006f6cb has its CatchHandler @ 0006fd94 */
  gold::Layout::get_executable_sections((Layout *)((ulonglong)uVar15 >> 0x20),&section_list);
  pIVar11 = (Input_section *)
            ((int)section_list.
                  super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>.
                  _M_impl._M_finish -
             (int)section_list.
                  super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>.
                  _M_impl._M_start >> 2);
  std::get_temporary_buffer<gold::Output_section*>((ptrdiff_t)&local_74);
  if (local_74 == (void *)0x0) {
                    /* try { // try from 0006fd2a to 0006fd2e has its CatchHandler @ 0006fd86 */
    in_stack_ffffff5c =
         (vector<gold::Output_relaxed_input_section*,_std::allocator<gold::Output_relaxed_input_section*>_>
          *)0x6fd2f;
    std::
    __inplace_stable_sort<__gnu_cxx::__normal_iterator<gold::Output_section**,_std::vector<gold::Output_section*>_>,___gnu_cxx::__ops::_Iter_comp_iter<(anonymous_namespace)::Target_powerpc<64,_false>::Sort_sections>_>
              ();
  }
  else {
                    /* try { // try from 0006f702 to 0006f706 has its CatchHandler @ 0006fd86 */
    std::
    __stable_sort_adaptive<__gnu_cxx::__normal_iterator<gold::Output_section**,_std::vector<gold::Output_section*>_>,_gold::Output_section**,_int,___gnu_cxx::__ops::_Iter_comp_iter<(anonymous_namespace)::Target_powerpc<64,_false>::Sort_sections>_>
              (local_70,0);
  }
  pOVar17 = *(Output_section **)(BYTE_ARRAY_003a4975 + unaff_EDI + 0x2e);
  operator_delete(local_74,(nothrow_t *)pOVar17);
  local_7c = section_list.
             super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>.
             _M_impl._M_start;
  if (section_list.super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>
      ._M_impl._M_start !=
      section_list.super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>
      ._M_impl._M_finish) {
    do {
      pOVar13 = *local_7c;
      this_02 = (pOVar13->input_sections_).
                super__Vector_base<gold::Output_section::Input_section,_std::allocator<gold::Output_section::Input_section>_>
                ._M_impl._M_start;
      if (this_02 !=
          (pOVar13->input_sections_).
          super__Vector_base<gold::Output_section::Input_section,_std::allocator<gold::Output_section::Input_section>_>
          ._M_impl._M_finish) {
        do {
          if (2 < this_02->shndx_ + 3) {
            pRVar8 = gold::Output_section::Input_section::relobj(this_02);
            uVar9 = gold::Output_section::Input_section::shndx(this_02);
            this_01 = (Stub_control *)0x0;
            if (uVar9 < (pRVar8[3].dyn_reloc_count_ - (int)pRVar8[3].reloc_bases_) +
                        (pRVar8[3].first_dyn_reloc_ - (int)pRVar8[3].reloc_counts_) * 8) {
              this_01 = (Stub_control *)
                        (uint)((pRVar8[3].reloc_counts_[uVar9 >> 5] & 1 << ((byte)uVar9 & 0x1f)) !=
                              0);
            }
            bVar5 = Stub_control::can_add_to_stub_group
                              (this_01,pOVar17,pIVar11,SUB41(in_stack_ffffff5c,0));
            if (bVar5) {
              if (table_owner == (Stub_table_owner *)0x0) goto LAB_0006f76a;
            }
            else {
              table_owner->output_section = stub_control.output_section_;
              table_owner->owner = stub_control.owner_;
              stub_control.output_section_ = *local_7c;
              table_owner = (Stub_table_owner *)0x0;
              stub_control.owner_ = this_02;
LAB_0006f76a:
                    /* try { // try from 0006f772 to 0006f98f has its CatchHandler @ 0006fd94 */
              table_owner = (Stub_table_owner *)operator_new(8);
              table_owner->output_section = (Output_section *)0x0;
              table_owner->owner = (Input_section *)0x0;
              if (tables.
                  super__Vector_base<(anonymous_namespace)::Stub_table_owner*,_std::allocator<(anonymous_namespace)::Stub_table_owner*>_>
                  ._M_impl._M_finish ==
                  tables.
                  super__Vector_base<(anonymous_namespace)::Stub_table_owner*,_std::allocator<(anonymous_namespace)::Stub_table_owner*>_>
                  ._M_impl._M_end_of_storage) {
                in_stack_ffffff5c =
                     (vector<gold::Output_relaxed_input_section*,_std::allocator<gold::Output_relaxed_input_section*>_>
                      *)0x6fc9b;
                std::
                vector<(anonymous_namespace)::Stub_table_owner*,_std::allocator<(anonymous_namespace)::Stub_table_owner*>_>
                ::_M_realloc_insert<(anonymous_namespace)::Stub_table_owner*_const&>
                          (in_stack_ffffff60,in_stack_ffffff64,in_stack_ffffff68);
              }
              else {
                *tables.
                 super__Vector_base<(anonymous_namespace)::Stub_table_owner*,_std::allocator<(anonymous_namespace)::Stub_table_owner*>_>
                 ._M_impl._M_finish = table_owner;
                tables.
                super__Vector_base<(anonymous_namespace)::Stub_table_owner*,_std::allocator<(anonymous_namespace)::Stub_table_owner*>_>
                ._M_impl._M_finish =
                     tables.
                     super__Vector_base<(anonymous_namespace)::Stub_table_owner*,_std::allocator<(anonymous_namespace)::Stub_table_owner*>_>
                     ._M_impl._M_finish + 1;
              }
            }
            iVar10 = (int)tables.
                          super__Vector_base<(anonymous_namespace)::Stub_table_owner*,_std::allocator<(anonymous_namespace)::Stub_table_owner*>_>
                          ._M_impl._M_finish -
                     (int)tables.
                          super__Vector_base<(anonymous_namespace)::Stub_table_owner*,_std::allocator<(anonymous_namespace)::Stub_table_owner*>_>
                          ._M_impl._M_start;
            uVar9 = gold::Output_section::Input_section::shndx(this_02);
            pcVar12 = pRVar8[4].super_Object.name_._M_dataplus._M_p;
            __position._M_current = (uint *)pRVar8[4].super_Object.name_._M_string_length;
            uVar7 = (int)__position._M_current - (int)pcVar12 >> 2;
            if (uVar7 <= uVar9) {
              uVar1 = uVar9 + 1;
              new_relaxed.
              super__Vector_base<gold::Output_relaxed_input_section*,_std::allocator<gold::Output_relaxed_input_section*>_>
              ._M_impl._M_start = (pointer)0xffffffff;
              if (uVar7 < uVar1) {
                pIVar11 = (Input_section *)(uVar1 - uVar7);
                in_stack_ffffff5c = &new_relaxed;
                std::vector<unsigned_int,_std::allocator<unsigned_int>_>::_M_fill_insert
                          ((vector<unsigned_int,_std::allocator<unsigned_int>_> *)
                           &pRVar8[4].super_Object.name_,__position,(size_type)pIVar11,
                           (value_type_conflict1 *)in_stack_ffffff5c);
                pcVar12 = pRVar8[4].super_Object.name_._M_dataplus._M_p;
                pOVar17 = (Output_section *)__position._M_current;
              }
              else if ((uVar1 < uVar7) && (__position._M_current != (uint *)(pcVar12 + uVar1 * 4)))
              {
                pRVar8[4].super_Object.name_._M_string_length = (size_type)(pcVar12 + uVar1 * 4);
              }
            }
            *(int *)(pcVar12 + uVar9 * 4) = (iVar10 >> 2) + -1;
            pOVar13 = *local_7c;
          }
          this_02 = this_02 + 1;
        } while ((pOVar13->input_sections_).
                 super__Vector_base<gold::Output_section::Input_section,_std::allocator<gold::Output_section::Input_section>_>
                 ._M_impl._M_finish != this_02);
      }
      local_7c = local_7c + 1;
    } while (section_list.
             super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>.
             _M_impl._M_finish != local_7c);
  }
  if (table_owner != (Stub_table_owner *)0x0) {
    table_owner->output_section = stub_control.output_section_;
    table_owner->owner = stub_control.owner_;
  }
  pp_Var18 = (_func_int_varargs **)(unaff_EDI + 0x39d467);
  local_7c = (pointer)tables.
                      super__Vector_base<(anonymous_namespace)::Stub_table_owner*,_std::allocator<(anonymous_namespace)::Stub_table_owner*>_>
                      ._M_impl._M_start;
  if (tables.
      super__Vector_base<(anonymous_namespace)::Stub_table_owner*,_std::allocator<(anonymous_namespace)::Stub_table_owner*>_>
      ._M_impl._M_start !=
      tables.
      super__Vector_base<(anonymous_namespace)::Stub_table_owner*,_std::allocator<(anonymous_namespace)::Stub_table_owner*>_>
      ._M_impl._M_finish) {
    do {
      pIVar11 = ((Stub_table_owner *)*local_7c)->owner;
      if (pIVar11->shndx_ + 4 < 4) {
        if (pIVar11->shndx_ != 0xfffffffc) {
                    /* WARNING: Subroutine does not return */
                    /* try { // try from 0006fd4d to 0006fd51 has its CatchHandler @ 0006fd94 */
          gold::do_gold_unreachable
                    ((char *)(unaff_EDI + 0x28787b),0xcc1,(char *)(unaff_EDI + 0x2866cf));
        }
        this_00 = pIVar11->u2_;
LAB_0006f914:
        paVar14 = (anon_union_4_4_139239c7_for_u2_ *)
                  pCVar6[3]._M_t._M_impl.super__Rb_tree_header._M_header._M_parent;
        if (paVar14 ==
            (anon_union_4_4_139239c7_for_u2_ *)
            pCVar6[3]._M_t._M_impl.super__Rb_tree_header._M_header._M_left) goto LAB_0006fbb0;
LAB_0006f926:
        paVar14->object = (Relobj *)this_00;
        pCVar6[3]._M_t._M_impl.super__Rb_tree_header._M_header._M_parent = (_Base_ptr)(paVar14 + 1);
      }
      else {
        pOVar17 = ((Stub_table_owner *)*local_7c)->output_section;
        p_Var3 = pCVar6[3]._M_t._M_impl.super__Rb_tree_header._M_header._M_parent;
        _Var4 = pCVar6[3]._M_t._M_impl.super__Rb_tree_header._M_header._M_color;
        this_00.object = (Relobj *)operator_new(0xb0);
                    /* try { // try from 0006f998 to 0006f9e1 has its CatchHandler @ 0006fd8d */
        pRVar8 = gold::Output_section::Input_section::relobj(pIVar11);
        uVar9 = gold::Output_section::Input_section::shndx(pIVar11);
        iVar10 = (*(pRVar8->super_Object)._vptr_Object[0x17])(pRVar8,uVar9);
        uVar9 = gold::Output_section::Input_section::shndx(pIVar11);
        pRVar8 = gold::Output_section::Input_section::relobj(pIVar11);
        (this_00.poris)->relobj_ = pRVar8;
        ppIVar2 = &((this_00.object)->super_Object).input_file_;
        *(byte *)ppIVar2 = *(byte *)ppIVar2 & 0xe0;
        *(int *)((int)&((this_00.object)->super_Object).offset_ + 4) = iVar10;
        (this_00.poris)->shndx_ = uVar9;
        ((this_00.object)->super_Object).name_._M_dataplus._M_p = (pointer)0x0;
        ((this_00.object)->super_Object).name_._M_string_length = 0;
        ((this_00.object)->super_Object).name_.field_2._M_allocated_capacity = 0;
        *(undefined4 *)((int)&((this_00.object)->super_Object).name_.field_2 + 4) = 0;
        *(undefined4 *)((int)&((this_00.object)->super_Object).name_.field_2 + 8) = 0xffffffff;
        *(undefined4 *)((int)&((this_00.object)->super_Object).name_.field_2 + 0xc) = 0xffffffff;
        *(undefined4 *)&((this_00.object)->super_Object).offset_ = 0;
        ((this_00.object)->super_Object).shnum_ = extraout_EDX;
        ((this_00.object)->super_Object).compressed_sections_ = pCVar6;
        ((this_00.object)->super_Object)._vptr_Object = pp_Var18;
        uVar9 = 0;
        do {
          *(undefined4 *)
           ((int)&((this_00.object)->output_sections_).
                  super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>.
                  _M_impl._M_start + uVar9) = 0;
          uVar9 = uVar9 + 4;
        } while (uVar9 < 0x1c);
        (this_00.pomb)->first_shndx_ = 1;
        ((this_00.object)->output_sections_).
        super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>._M_impl.
        _M_end_of_storage = (pointer)0x0;
        (this_00.object)->map_to_relocatable_relocs_ =
             (vector<gold::Relocatable_relocs*,_std::allocator<gold::Relocatable_relocs*>_> *)0x0;
        (this_00.object)->object_merge_map_ = (Object_merge_map *)0x3f800000;
        ((this_00.pomb)->input_sections_)._M_h._M_element_count = 0;
        (this_00.object)->rd_ = (Read_relocs_data *)0x0;
        ((this_00.object)->output_sections_).
        super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>._M_impl.
        _M_start = (pointer)&(this_00.object)->rd_;
        uVar9 = 0;
        do {
          *(undefined4 *)((int)&(this_00.object)->sd_ + uVar9) = 0;
          uVar9 = uVar9 + 4;
        } while (uVar9 < 0x1c);
        (this_00.object)->reloc_counts_ = (uint *)0x1;
        (this_00.object)->sd_ = (Symbols_data *)&this_00.object[1].super_Object.name_;
        (this_00.object)->reloc_bases_ = (uint *)0x0;
        (this_00.object)->first_dyn_reloc_ = 0;
        (this_00.object)->dyn_reloc_count_ = 0x3f800000;
        this_00.object[1].super_Object._vptr_Object = (_func_int_varargs **)0x0;
        this_00.object[1].super_Object.name_._M_dataplus._M_p = (pointer)0x0;
                    /* try { // try from 0006fadc to 0006fb48 has its CatchHandler @ 0006fd7f */
        oVar16 = gold::Output_section::Input_section::current_data_size(pIVar11);
        this_00.object[1].super_Object.name_._M_string_length = (size_type)oVar16;
        this_00.object[1].super_Object.name_.field_2._M_allocated_capacity = 0;
        *(undefined4 *)((int)&this_00.object[1].super_Object.name_.field_2 + 4) = 0;
        *(undefined4 *)((int)&this_00.object[1].super_Object.name_.field_2 + 8) = 0;
        *(undefined4 *)((int)&this_00.object[1].super_Object.name_.field_2 + 0xc) = 0;
        this_00.object[1].super_Object.input_file_ = (Input_file *)0x0;
        *(undefined4 *)&this_00.object[1].super_Object.offset_ = 0;
        *(undefined1 *)((int)&this_00.object[1].super_Object.offset_ + 4) = 0;
        this_00.object[1].super_Object.shnum_ = (int)((int)p_Var3 - _Var4) >> 2;
        *(undefined4 *)&this_00.object[1].super_Object.field_0x2c = 0xffffffff;
        this_00.object[1].super_Object.xindex_ = (Xindex *)0x0;
        gold::Output_section_data::set_output_section(this_00.posd,pOVar17);
        new_relaxed.
        super__Vector_base<gold::Output_relaxed_input_section*,_std::allocator<gold::Output_relaxed_input_section*>_>
        ._M_impl._M_start = (pointer)0x0;
        new_relaxed.
        super__Vector_base<gold::Output_relaxed_input_section*,_std::allocator<gold::Output_relaxed_input_section*>_>
        ._M_impl._M_finish = (pointer)0x0;
        new_relaxed.
        super__Vector_base<gold::Output_relaxed_input_section*,_std::allocator<gold::Output_relaxed_input_section*>_>
        ._M_impl._M_end_of_storage = (pointer)0x0;
        local_64.object = this_00.object;
                    /* try { // try from 0006fb6b to 0006fb7c has its CatchHandler @ 0006fd78 */
        std::
        vector<gold::Output_relaxed_input_section*,_std::allocator<gold::Output_relaxed_input_section*>_>
        ::emplace_back<gold::Output_relaxed_input_section*>(&new_relaxed,&local_64.poris);
        gold::Output_section::convert_input_sections_to_relaxed_sections(pOVar17,&new_relaxed);
        if (new_relaxed.
            super__Vector_base<gold::Output_relaxed_input_section*,_std::allocator<gold::Output_relaxed_input_section*>_>
            ._M_impl._M_start == (pointer)0x0) goto LAB_0006f914;
        operator_delete(new_relaxed.
                        super__Vector_base<gold::Output_relaxed_input_section*,_std::allocator<gold::Output_relaxed_input_section*>_>
                        ._M_impl._M_start);
        paVar14 = (anon_union_4_4_139239c7_for_u2_ *)
                  pCVar6[3]._M_t._M_impl.super__Rb_tree_header._M_header._M_parent;
        if (paVar14 !=
            (anon_union_4_4_139239c7_for_u2_ *)
            pCVar6[3]._M_t._M_impl.super__Rb_tree_header._M_header._M_left) goto LAB_0006f926;
LAB_0006fbb0:
        __src = (anon_union_4_4_139239c7_for_u2_ *)
                pCVar6[3]._M_t._M_impl.super__Rb_tree_header._M_header._M_color;
        __n = (int)paVar14 - (int)__src;
        uVar9 = (int)__n >> 2;
        if (uVar9 == 0) {
          local_8c = (_Base_ptr)0x4;
LAB_0006fbe3:
                    /* try { // try from 0006fbef to 0006fc9a has its CatchHandler @ 0006fd94 */
          __dest = operator_new((uint)local_8c);
          local_8c = (_Base_ptr)((int)local_8c + (int)__dest);
        }
        else {
          local_8c = (_Base_ptr)0xfffffffc;
          uVar7 = uVar9 * 2;
          if ((uVar7 < uVar9) || (0x3fffffff < uVar7)) goto LAB_0006fbe3;
          if (uVar7 != 0) {
            local_8c = (_Base_ptr)(uVar9 << 3);
            goto LAB_0006fbe3;
          }
          local_8c = (_Base_ptr)0x0;
          __dest = (void *)0x0;
        }
        ((anon_union_4_4_139239c7_for_u2_ *)((int)__dest + __n))->object = (Relobj *)this_00;
        if (paVar14 == __src) {
          if (__src != (anon_union_4_4_139239c7_for_u2_ *)0x0) goto LAB_0006fc33;
        }
        else {
          memmove(__dest,__src,__n);
LAB_0006fc33:
          operator_delete(__src);
        }
        pCVar6[3]._M_t._M_impl.super__Rb_tree_header._M_header._M_color = (_Rb_tree_color)__dest;
        pCVar6[3]._M_t._M_impl.super__Rb_tree_header._M_header._M_parent =
             (_Base_ptr)((int)__dest + __n + 4);
        pCVar6[3]._M_t._M_impl.super__Rb_tree_header._M_header._M_left = local_8c;
      }
      operator_delete((Stub_table_owner *)*local_7c,8);
      local_7c = local_7c + 1;
    } while ((pointer)tables.
                      super__Vector_base<(anonymous_namespace)::Stub_table_owner*,_std::allocator<(anonymous_namespace)::Stub_table_owner*>_>
                      ._M_impl._M_finish != local_7c);
  }
  if (section_list.super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>
      ._M_impl._M_start != (pointer)0x0) {
    operator_delete(section_list.
                    super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>
                    ._M_impl._M_start);
  }
  if (tables.
      super__Vector_base<(anonymous_namespace)::Stub_table_owner*,_std::allocator<(anonymous_namespace)::Stub_table_owner*>_>
      ._M_impl._M_start != (pointer)0x0) {
    operator_delete(tables.
                    super__Vector_base<(anonymous_namespace)::Stub_table_owner*,_std::allocator<(anonymous_namespace)::Stub_table_owner*>_>
                    ._M_impl._M_start);
  }
  return;
}



void FUN_0006f600(void)

{
  uint uVar1;
  int iVar2;
  undefined4 uVar3;
  undefined4 *__src;
  char cVar4;
  int iVar5;
  uint uVar6;
  int iVar7;
  int *piVar8;
  int *piVar9;
  undefined4 uVar10;
  int iVar11;
  int iVar12;
  uint uVar13;
  size_t __n;
  void *__dest;
  int iVar14;
  int *piVar15;
  int unaff_EDI;
  undefined4 *puVar16;
  bool bVar17;
  undefined8 uVar18;
  int local_8c;
  int *local_7c;
  int local_74;
  undefined4 local_70;
  int *local_68;
  int *local_64;
  int *local_60;
  int *local_5c;
  int *local_58;
  int *local_54;
  int *local_50;
  undefined4 local_4c;
  int local_48 [4];
  byte local_38;
  undefined1 local_36;
  undefined4 local_34;
  undefined4 local_30;
  undefined4 local_2c;
  undefined4 local_28;
  int *local_24;
  int local_20;
  
  uVar18 = FUN_000b484e();
  iVar5 = (int)uVar18;
  if (*(int *)(*(int *)(BYTE_ARRAY_003a4e59 + unaff_EDI + 0x86) + 8) == 0) {
                    /* WARNING: Subroutine does not return */
    FUN_000da200(unaff_EDI + 0x272c64,0x5c,unaff_EDI + 0x286d9f,0);
  }
  local_36 = *(undefined1 *)
              (*(int *)(*(int *)(BYTE_ARRAY_003a4e59 + unaff_EDI + 0x86) + 8) + 0x38e9);
  local_34 = 0;
  local_30 = 0;
  uVar13 = *(uint *)(iVar5 + 0xa8);
  local_2c = 0;
  local_28 = 0;
  local_24 = (int *)0x0;
  local_20 = 0;
  local_68 = (int *)0x0;
  local_60 = (int *)0x0;
  local_38 = (byte)(uVar13 >> 0x1f);
  local_48[3] = ((int)uVar13 >> 0x1f ^ uVar13) - ((int)uVar13 >> 0x1f);
  local_5c = (int *)0x0;
  local_58 = (int *)0x0;
  local_54 = (int *)0x0;
  local_50 = (int *)0x0;
  local_4c = 0;
                    /* try { // try from 0006f6c7 to 0006f6cb has its CatchHandler @ 0006fd94 */
  FUN_0010bb60((int)((ulonglong)uVar18 >> 0x20),&local_54);
  FUN_000aba90(&local_74,(int)local_50 - (int)local_54 >> 2);
  if (local_74 == 0) {
                    /* try { // try from 0006fd2a to 0006fd2e has its CatchHandler @ 0006fd86 */
    FUN_0006eab0();
  }
  else {
                    /* try { // try from 0006f702 to 0006f706 has its CatchHandler @ 0006fd86 */
    FUN_0006f540(local_70,0);
  }
  FUN_002481e0(local_74,*(undefined4 *)(BYTE_ARRAY_003a4975 + unaff_EDI + 0x2e));
  local_7c = local_54;
  if (local_54 != local_50) {
    do {
      iVar7 = *local_7c;
      piVar15 = *(int **)(iVar7 + 0x6c);
      if (piVar15 != *(int **)(iVar7 + 0x70)) {
        do {
          if (2 < *piVar15 + 3U) {
            iVar7 = FUN_0015c600(piVar15);
            uVar13 = FUN_0015c690(piVar15);
            bVar17 = false;
            if (uVar13 < (uint)((*(int *)(iVar7 + 0x19c) - *(int *)(iVar7 + 0x194)) +
                               (*(int *)(iVar7 + 0x198) - *(int *)(iVar7 + 400)) * 8)) {
              bVar17 = (*(uint *)(*(int *)(iVar7 + 400) + (uVar13 >> 5) * 4) &
                       1 << ((byte)uVar13 & 0x1f)) != 0;
            }
            cVar4 = FUN_0004fea0(bVar17);
            if (cVar4 == '\0') {
              *local_68 = local_20;
              local_68[1] = (int)local_24;
              local_20 = *local_7c;
              local_68 = (int *)0x0;
              local_24 = piVar15;
LAB_0006f76a:
                    /* try { // try from 0006f772 to 0006f98f has its CatchHandler @ 0006fd94 */
              local_68 = (int *)FUN_00246670(8);
              *local_68 = 0;
              local_68[1] = 0;
              if (local_5c == local_58) {
                FUN_00055630();
              }
              else {
                *local_5c = (int)local_68;
                local_5c = local_5c + 1;
              }
            }
            else if (local_68 == (int *)0x0) goto LAB_0006f76a;
            iVar12 = (int)local_5c - (int)local_60;
            uVar13 = FUN_0015c690(piVar15);
            iVar14 = *(int *)(iVar7 + 0x1a4);
            iVar11 = *(int *)(iVar7 + 0x1a8);
            uVar6 = iVar11 - iVar14 >> 2;
            if (uVar6 <= uVar13) {
              uVar1 = uVar13 + 1;
              local_48[0] = -1;
              if (uVar6 < uVar1) {
                FUN_000aab90(iVar7 + 0x1a4,iVar11,uVar1 - uVar6,local_48);
                iVar14 = *(int *)(iVar7 + 0x1a4);
              }
              else if ((uVar1 < uVar6) && (iVar2 = iVar14 + uVar1 * 4, iVar11 != iVar2)) {
                *(int *)(iVar7 + 0x1a8) = iVar2;
              }
            }
            *(int *)(iVar14 + uVar13 * 4) = (iVar12 >> 2) + -1;
            iVar7 = *local_7c;
          }
          piVar15 = piVar15 + 6;
        } while (*(int **)(iVar7 + 0x70) != piVar15);
      }
      local_7c = local_7c + 1;
    } while (local_50 != local_7c);
  }
  if (local_68 != (int *)0x0) {
    *local_68 = local_20;
    local_68[1] = (int)local_24;
  }
  local_7c = local_60;
  if (local_60 != local_5c) {
    do {
      piVar15 = (int *)((undefined4 *)*local_7c)[1];
      if (*piVar15 + 4U < 4) {
        if (*piVar15 != -4) {
                    /* WARNING: Subroutine does not return */
                    /* try { // try from 0006fd4d to 0006fd51 has its CatchHandler @ 0006fd94 */
          FUN_000da200(unaff_EDI + 0x28787b,0xcc1,unaff_EDI + 0x2866cf);
        }
        piVar8 = (int *)piVar15[4];
LAB_0006f914:
        puVar16 = *(undefined4 **)(iVar5 + 0x50);
        if (puVar16 == *(undefined4 **)(iVar5 + 0x54)) goto LAB_0006fbb0;
LAB_0006f926:
        *puVar16 = piVar8;
        *(undefined4 **)(iVar5 + 0x50) = puVar16 + 1;
      }
      else {
        uVar3 = *(undefined4 *)*local_7c;
        iVar7 = *(int *)(iVar5 + 0x50);
        iVar14 = *(int *)(iVar5 + 0x4c);
        piVar8 = (int *)FUN_00246670(0xb0);
                    /* try { // try from 0006f998 to 0006f9e1 has its CatchHandler @ 0006fd8d */
        piVar9 = (int *)FUN_0015c600(piVar15);
        uVar10 = FUN_0015c690(piVar15);
        uVar18 = (**(code **)(*piVar9 + 0x5c))(piVar9,uVar10);
        iVar11 = FUN_0015c690(piVar15);
        iVar12 = FUN_0015c600(piVar15);
        piVar8[0xb] = iVar12;
        *(byte *)(piVar8 + 7) = *(byte *)(piVar8 + 7) & 0xe0;
        piVar8[9] = (int)uVar18;
        piVar8[0xc] = iVar11;
        piVar8[1] = 0;
        piVar8[2] = 0;
        piVar8[3] = 0;
        piVar8[4] = 0;
        piVar8[5] = -1;
        piVar8[6] = -1;
        piVar8[8] = 0;
        piVar8[10] = (int)((ulonglong)uVar18 >> 0x20);
        piVar8[0xd] = iVar5;
        *piVar8 = unaff_EDI + 0x39d467;
        uVar13 = 0;
        do {
          *(undefined4 *)((int)piVar8 + uVar13 + 0x38) = 0;
          uVar13 = uVar13 + 4;
        } while (uVar13 < 0x1c);
        piVar8[0xf] = 1;
        piVar8[0x10] = 0;
        piVar8[0x11] = 0;
        piVar8[0x12] = 0x3f800000;
        piVar8[0x13] = 0;
        piVar8[0x14] = 0;
        piVar8[0xe] = (int)(piVar8 + 0x14);
        uVar13 = 0;
        do {
          *(undefined4 *)((int)piVar8 + uVar13 + 0x54) = 0;
          uVar13 = uVar13 + 4;
        } while (uVar13 < 0x1c);
        piVar8[0x16] = 1;
        piVar8[0x15] = (int)(piVar8 + 0x1b);
        piVar8[0x17] = 0;
        piVar8[0x18] = 0;
        piVar8[0x19] = 0x3f800000;
        piVar8[0x1a] = 0;
        piVar8[0x1b] = 0;
                    /* try { // try from 0006fadc to 0006fb48 has its CatchHandler @ 0006fd7f */
        iVar11 = FUN_0015c560(piVar15);
        piVar8[0x1c] = iVar11;
        piVar8[0x1d] = 0;
        piVar8[0x1e] = 0;
        piVar8[0x1f] = 0;
        piVar8[0x20] = 0;
        piVar8[0x21] = 0;
        piVar8[0x22] = 0;
        *(undefined1 *)(piVar8 + 0x23) = 0;
        piVar8[0x24] = iVar7 - iVar14 >> 2;
        piVar8[0x25] = -1;
        piVar8[0x26] = 0;
        FUN_0015c3f0(piVar8,uVar3);
        local_48[0] = 0;
        local_48[1] = 0;
        local_48[2] = 0;
        local_64 = piVar8;
                    /* try { // try from 0006fb6b to 0006fb7c has its CatchHandler @ 0006fd78 */
        FUN_000abc70(local_48,&local_64);
        FUN_00164400(uVar3,local_48);
        if (local_48[0] == 0) goto LAB_0006f914;
        FUN_00248220(local_48[0]);
        puVar16 = *(undefined4 **)(iVar5 + 0x50);
        if (puVar16 != *(undefined4 **)(iVar5 + 0x54)) goto LAB_0006f926;
LAB_0006fbb0:
        __src = *(undefined4 **)(iVar5 + 0x4c);
        __n = (int)puVar16 - (int)__src;
        uVar13 = (int)__n >> 2;
        if (uVar13 == 0) {
          local_8c = 4;
LAB_0006fbe3:
                    /* try { // try from 0006fbef to 0006fc9a has its CatchHandler @ 0006fd94 */
          __dest = (void *)FUN_00246670(local_8c);
          local_8c = local_8c + (int)__dest;
        }
        else {
          local_8c = -4;
          uVar6 = uVar13 * 2;
          if ((uVar6 < uVar13) || (0x3fffffff < uVar6)) goto LAB_0006fbe3;
          if (uVar6 != 0) {
            local_8c = uVar13 << 3;
            goto LAB_0006fbe3;
          }
          local_8c = 0;
          __dest = (void *)0x0;
        }
        *(int **)((int)__dest + __n) = piVar8;
        if (puVar16 == __src) {
          if (__src != (undefined4 *)0x0) goto LAB_0006fc33;
        }
        else {
          memmove(__dest,__src,__n);
LAB_0006fc33:
          FUN_00248220(__src);
        }
        *(void **)(iVar5 + 0x4c) = __dest;
        *(size_t *)(iVar5 + 0x50) = (int)__dest + __n + 4;
        *(int *)(iVar5 + 0x54) = local_8c;
      }
      FUN_00248200(*local_7c,8);
      local_7c = local_7c + 1;
    } while (local_5c != local_7c);
  }
  if (local_54 != (int *)0x0) {
    FUN_00248220(local_54);
  }
  if (local_60 != (int *)0x0) {
    FUN_00248220(local_60);
  }
  return;
}


PUSH EBP
MOV EBP,ESP
PUSH EDI
CALL 0x000b484e
ADD EDI,0x3a49f7
PUSH ESI
PUSH EBX
SUB ESP,0x8c
MOV dword ptr [EBP + 0xffffff74],EAX
LEA EAX,[EDI + 0x4e8]
MOV dword ptr [EBP + -0x74],EDI
MOV EAX,dword ptr [EAX]
MOV EAX,dword ptr [EAX + 0x8]
TEST EAX,EAX
JZ 0x0006fd52
MOVZX EAX,byte ptr [EAX + 0x38e9]
SUB ESP,0x8
MOV byte ptr [EBP + -0x33],CL
MOV dword ptr [EBP + -0x30],0x0
MOV byte ptr [EBP + -0x32],AL
MOV EAX,dword ptr [EBP + 0xffffff74]
MOV dword ptr [EBP + -0x2c],0x0
MOV EAX,dword ptr [EAX + 0xa8]
MOV dword ptr [EBP + -0x28],0x0
MOV dword ptr [EBP + -0x24],0x0
MOV EBX,EAX
MOV dword ptr [EBP + -0x20],0x0
SAR EBX,0x1f
MOV dword ptr [EBP + -0x1c],0x0
MOV ESI,EBX
MOV dword ptr [EBP + -0x64],0x0
XOR ESI,EAX
SHR EAX,0x1f
MOV dword ptr [EBP + -0x5c],0x0
MOV byte ptr [EBP + -0x34],AL
LEA EAX,[EBP + -0x50]
PUSH EAX
PUSH EDX
MOV dword ptr [EBP + -0x38],ESI
SUB dword ptr [EBP + -0x38],EBX
MOV EBX,dword ptr [EBP + -0x74]
MOV dword ptr [EBP + -0x58],0x0
MOV dword ptr [EBP + -0x54],0x0
MOV dword ptr [EBP + -0x50],0x0
MOV dword ptr [EBP + -0x4c],0x0
MOV dword ptr [EBP + -0x48],0x0
CALL 0x0010bb60
MOV EDI,dword ptr [EBP + -0x4c]
POP EBX
LEA EAX,[EBP + -0x70]
MOV EBX,dword ptr [EBP + -0x50]
POP ESI
MOV ECX,EDI
SUB ECX,EBX
SAR ECX,0x2
PUSH ECX
PUSH EAX
CALL 0x000aba90
MOV ESI,dword ptr [EBP + -0x70]
MOV EAX,dword ptr [EBP + -0x6c]
ADD ESP,0xc
TEST ESI,ESI
JZ 0x0006fd24
SUB ESP,0x8
MOV ECX,ESI
MOV EDX,EDI
PUSH 0x0
PUSH EAX
MOV EAX,EBX
CALL 0x0006f540
ADD ESP,0x10
MOV EAX,dword ptr [EBP + -0x74]
SUB ESP,0x8
PUSH dword ptr [EAX + 0xffffffac]
MOV EBX,EAX
PUSH ESI
CALL 0x002481e0
MOV EAX,dword ptr [EBP + -0x50]
ADD ESP,0x10
MOV dword ptr [EBP + -0x78],EAX
CMP EAX,dword ptr [EBP + -0x4c]
JZ 0x0006f8d0
MOV EAX,dword ptr [EBP + -0x78]
MOV EDX,dword ptr [EAX]
LEA EAX,[EBP + -0x38]
MOV dword ptr [EBP + 0xffffff78],EAX
MOV ESI,dword ptr [EDX + 0x6c]
CMP ESI,dword ptr [EDX + 0x70]
JNZ 0x0006f7ee
JMP 0x0006f8c0
MOV EAX,dword ptr [EBP + -0x1c]
MOV dword ptr [EDX],EAX
MOV EAX,dword ptr [EBP + -0x20]
MOV dword ptr [EDX + 0x4],EAX
MOV EAX,dword ptr [EBX]
MOV dword ptr [EBP + -0x20],ESI
MOV dword ptr [EBP + -0x1c],EAX
MOV dword ptr [EBP + -0x64],0x0
SUB ESP,0xc
MOV EBX,dword ptr [EBP + -0x74]
PUSH 0x8
CALL 0x00246670
ADD ESP,0x10
MOV dword ptr [EAX],0x0
MOV EDX,dword ptr [EBP + -0x58]
MOV dword ptr [EAX + 0x4],0x0
MOV dword ptr [EBP + -0x64],EAX
CMP EDX,dword ptr [EBP + -0x54]
JZ 0x0006fc90
MOV dword ptr [EDX],EAX
ADD EDX,0x4
MOV dword ptr [EBP + -0x58],EDX
SUB ESP,0xc
SUB EDX,dword ptr [EBP + -0x5c]
MOV EBX,dword ptr [EBP + -0x74]
PUSH ESI
SAR EDX,0x2
LEA EAX,[EDX + -0x1]
MOV dword ptr [EBP + -0x7c],EAX
CALL 0x0015c690
MOV EBX,EAX
MOV EDX,dword ptr [EDI + 0x1a4]
MOV EAX,dword ptr [EDI + 0x1a8]
ADD ESP,0x10
MOV dword ptr [EBP + -0x80],EAX
SUB EAX,EDX
SAR EAX,0x2
CMP EBX,EAX
JNC 0x0006f890
MOV EAX,dword ptr [EBP + -0x7c]
MOV dword ptr [EDX + EBX*0x4],EAX
MOV EAX,dword ptr [EBP + -0x78]
MOV EDX,dword ptr [EAX]
ADD ESI,0x18
CMP dword ptr [EDX + 0x70],ESI
JZ 0x0006f8c0
MOV EAX,dword ptr [ESI]
ADD EAX,0x3
CMP EAX,0x2
JBE 0x0006f7e2
SUB ESP,0xc
MOV EBX,dword ptr [EBP + -0x74]
PUSH ESI
CALL 0x0015c600
MOV EBX,dword ptr [EBP + -0x74]
MOV EDI,EAX
MOV dword ptr [ESP],ESI
CALL 0x0015c690
MOV EDX,dword ptr [EDI + 0x190]
MOV EBX,dword ptr [EDI + 0x198]
ADD ESP,0x10
MOV ECX,dword ptr [EDI + 0x19c]
SUB ECX,dword ptr [EDI + 0x194]
SUB EBX,EDX
LEA EBX,[ECX + EBX*0x8]
XOR ECX,ECX
CMP EAX,EBX
JNC 0x0006f854
MOV ECX,EAX
MOV EBX,0x1
SHR ECX,0x5
MOV dword ptr [EBP + -0x7c],ECX
MOV ECX,EAX
SHL EBX,CL
MOV ECX,dword ptr [EBP + -0x7c]
TEST dword ptr [EDX + ECX*0x4],EBX
SETNZ CL
MOVZX ECX,CL
SUB ESP,0xc
MOV EBX,dword ptr [EBP + -0x78]
MOV EAX,dword ptr [EBP + 0xffffff78]
PUSH ECX
MOV ECX,ESI
MOV EDX,dword ptr [EBX]
CALL 0x0004fea0
ADD ESP,0x10
MOV EDX,dword ptr [EBP + -0x64]
TEST AL,AL
JZ 0x0006f750
TEST EDX,EDX
JZ 0x0006f76a
MOV EDX,dword ptr [EBP + -0x58]
JMP 0x0006f79e
LEA ECX,[EBX + 0x1]
MOV dword ptr [EBP + -0x44],0xffffffff
CMP EAX,ECX
JC 0x0006fc68
JBE 0x0006f7d7
LEA EAX,[EDX + ECX*0x4]
CMP dword ptr [EBP + -0x80],EAX
JZ 0x0006f7d7
MOV dword ptr [EDI + 0x1a8],EAX
JMP 0x0006f7d7
ADD dword ptr [EBP + -0x78],0x4
MOV EAX,dword ptr [EBP + -0x78]
CMP dword ptr [EBP + -0x4c],EAX
JNZ 0x0006f730
MOV EAX,dword ptr [EBP + -0x64]
TEST EAX,EAX
JZ 0x0006f8e2
MOV EDX,dword ptr [EBP + -0x1c]
MOV dword ptr [EAX],EDX
MOV EDX,dword ptr [EBP + -0x20]
MOV dword ptr [EAX + 0x4],EDX
MOV EDI,dword ptr [EBP + -0x74]
MOV EAX,dword ptr [EBP + -0x5c]
LEA EDI,[EDI + 0xffff8a70]
MOV dword ptr [EBP + -0x78],EAX
MOV dword ptr [EBP + 0xffffff6c],EDI
CMP EAX,dword ptr [EBP + -0x58]
JNZ 0x0006f954
JMP 0x0006fcf0
CMP EAX,-0x4
JNZ 0x0006fd34
MOV ESI,dword ptr [EDI + 0x10]
MOV EAX,dword ptr [EBP + 0xffffff74]
MOV EDI,dword ptr [EAX + 0x50]
CMP EDI,dword ptr [EAX + 0x54]
JZ 0x0006fbb0
MOV dword ptr [EDI],ESI
ADD EDI,0x4
MOV dword ptr [EAX + 0x50],EDI
MOV EDI,dword ptr [EBP + -0x78]
SUB ESP,0x8
MOV EBX,dword ptr [EBP + -0x74]
PUSH 0x8
PUSH dword ptr [EDI]
CALL 0x00248200
MOV EAX,EDI
ADD ESP,0x10
ADD EAX,0x4
MOV dword ptr [EBP + -0x78],EAX
CMP dword ptr [EBP + -0x58],EAX
JZ 0x0006fcf0
MOV EAX,dword ptr [EBP + -0x78]
MOV EDX,dword ptr [EAX]
MOV EDI,dword ptr [EDX + 0x4]
MOV EAX,dword ptr [EDI]
LEA ECX,[EAX + 0x4]
CMP ECX,0x3
JBE 0x0006f908
MOV EAX,dword ptr [EDX]
MOV ECX,dword ptr [EBP + 0xffffff74]
SUB ESP,0xc
MOV EBX,dword ptr [EBP + -0x74]
MOV dword ptr [EBP + -0x7c],EAX
MOV EAX,dword ptr [ECX + 0x50]
SUB EAX,dword ptr [ECX + 0x4c]
PUSH 0xb0
SAR EAX,0x2
MOV dword ptr [EBP + 0xffffff70],EAX
CALL 0x00246670
MOV EBX,dword ptr [EBP + -0x74]
MOV ESI,EAX
MOV dword ptr [ESP],EDI
CALL 0x0015c600
MOV EBX,dword ptr [EBP + -0x74]
MOV dword ptr [EBP + 0xffffff78],EAX
MOV dword ptr [ESP],EDI
CALL 0x0015c690
POP EBX
MOV EBX,dword ptr [EBP + 0xffffff78]
POP EDX
MOV EDX,dword ptr [EBX]
PUSH EAX
PUSH EBX
CALL dword ptr [EDX + 0x5c]
MOV EBX,dword ptr [EBP + -0x74]
MOV dword ptr [EBP + 0xffffff78],EAX
MOV dword ptr [EBP + 0xffffff7c],EDX
MOV dword ptr [ESP],EDI
CALL 0x0015c690
MOV EBX,dword ptr [EBP + -0x74]
MOV dword ptr [EBP + -0x80],EAX
MOV dword ptr [ESP],EDI
CALL 0x0015c600
MOV ECX,dword ptr [EBP + 0xffffff78]
MOV EBX,dword ptr [EBP + 0xffffff7c]
MOV dword ptr [ESI + 0x2c],EAX
ADD ESP,0x10
MOV EAX,dword ptr [EBP + -0x80]
AND byte ptr [ESI + 0x1c],0xe0
MOV dword ptr [ESI + 0x24],ECX
MOV ECX,dword ptr [EBP + 0xffffff74]
MOV dword ptr [ESI + 0x30],EAX
MOV EAX,dword ptr [EBP + 0xffffff6c]
MOV dword ptr [ESI + 0x4],0x0
MOV dword ptr [ESI + 0x8],0x0
MOV dword ptr [ESI + 0xc],0x0
MOV dword ptr [ESI + 0x10],0x0
MOV dword ptr [ESI + 0x14],0xffffffff
MOV dword ptr [ESI + 0x18],0xffffffff
MOV dword ptr [ESI + 0x20],0x0
MOV dword ptr [ESI + 0x28],EBX
MOV dword ptr [ESI + 0x34],ECX
MOV dword ptr [ESI],EAX
XOR EAX,EAX
MOV dword ptr [ESI + EAX*0x1 + 0x38],0x0
ADD EAX,0x4
CMP EAX,0x1c
JC 0x0006fa48
MOV dword ptr [ESI + 0x3c],0x1
LEA EAX,[ESI + 0x50]
MOV dword ptr [ESI + 0x40],0x0
MOV dword ptr [ESI + 0x44],0x0
MOV dword ptr [ESI + 0x48],0x3f800000
MOV dword ptr [ESI + 0x4c],0x0
MOV dword ptr [ESI + 0x50],0x0
MOV dword ptr [EBP + 0xffffff78],EAX
MOV dword ptr [ESI + 0x38],EAX
XOR EAX,EAX
MOV dword ptr [ESI + EAX*0x1 + 0x54],0x0
ADD EAX,0x4
CMP EAX,0x1c
JC 0x0006fa90
LEA EAX,[ESI + 0x6c]
SUB ESP,0xc
MOV dword ptr [ESI + 0x58],0x1
MOV dword ptr [ESI + 0x54],EAX
MOV dword ptr [ESI + 0x5c],0x0
MOV dword ptr [ESI + 0x60],0x0
MOV dword ptr [ESI + 0x64],0x3f800000
MOV dword ptr [ESI + 0x68],0x0
MOV dword ptr [ESI + 0x6c],0x0
PUSH EDI
MOV EDI,dword ptr [EBP + -0x74]
MOV dword ptr [EBP + -0x80],EAX
MOV EBX,EDI
CALL 0x0015c560
POP EDX
POP ECX
MOV dword ptr [ESI + 0x70],EAX
MOV EAX,dword ptr [EBP + 0xffffff70]
MOV dword ptr [ESI + 0x74],0x0
MOV dword ptr [ESI + 0x78],0x0
MOV dword ptr [ESI + 0x7c],0x0
MOV dword ptr [ESI + 0x80],0x0
MOV dword ptr [ESI + 0x84],0x0
MOV dword ptr [ESI + 0x88],0x0
MOV byte ptr [ESI + 0x8c],0x0
MOV dword ptr [ESI + 0x90],EAX
MOV dword ptr [ESI + 0x94],0xffffffff
MOV dword ptr [ESI + 0x98],0x0
PUSH dword ptr [EBP + -0x7c]
PUSH ESI
CALL 0x0015c3f0
POP ECX
LEA EAX,[EBP + -0x60]
POP EBX
MOV dword ptr [EBP + -0x60],ESI
LEA EBX,[EBP + -0x44]
PUSH EAX
PUSH EBX
MOV dword ptr [EBP + -0x44],0x0
MOV dword ptr [EBP + -0x40],0x0
MOV dword ptr [EBP + -0x3c],0x0
CALL 0x000abc70
POP EAX
POP EDX
PUSH EBX
MOV EBX,EDI
PUSH dword ptr [EBP + -0x7c]
CALL 0x00164400
MOV EAX,dword ptr [EBP + -0x44]
ADD ESP,0x10
TEST EAX,EAX
JZ 0x0006f914
SUB ESP,0xc
PUSH EAX
CALL 0x00248220
MOV EAX,dword ptr [EBP + 0xffffff74]
ADD ESP,0x10
MOV EDI,dword ptr [EAX + 0x50]
CMP EDI,dword ptr [EAX + 0x54]
JNZ 0x0006f926
LEA ESI,[ESI]
MOV EAX,dword ptr [EBP + 0xffffff74]
MOV EAX,dword ptr [EAX + 0x4c]
MOV ECX,EAX
MOV dword ptr [EBP + -0x7c],EAX
MOV EAX,EDI
SUB EAX,ECX
MOV dword ptr [EBP + -0x80],EAX
SAR EAX,0x2
JZ 0x0006fce0
MOV dword ptr [EBP + 0xffffff78],0xfffffffc
LEA EDX,[EAX + EAX*0x1]
CMP EAX,EDX
JBE 0x0006fca0
SUB ESP,0xc
PUSH dword ptr [EBP + 0xffffff78]
MOV EBX,dword ptr [EBP + -0x74]
CALL 0x00246670
MOV EDX,EAX
MOV EAX,dword ptr [EBP + 0xffffff78]
ADD ESP,0x10
ADD EAX,EDX
MOV dword ptr [EBP + 0xffffff78],EAX
MOV EAX,dword ptr [EBP + -0x80]
MOV ECX,dword ptr [EBP + -0x7c]
MOV dword ptr [EDX + EAX*0x1],ESI
LEA ESI,[EDX + EAX*0x1 + 0x4]
CMP EDI,ECX
JZ 0x0006fcc8
SUB ESP,0x4
MOV EBX,dword ptr [EBP + -0x74]
MOV dword ptr [EBP + -0x80],EDX
PUSH EAX
PUSH ECX
PUSH EDX
CALL 0x0002ca40
MOV EDX,dword ptr [EBP + -0x80]
ADD ESP,0x10
SUB ESP,0xc
PUSH dword ptr [EBP + -0x7c]
MOV EBX,dword ptr [EBP + -0x74]
MOV dword ptr [EBP + -0x80],EDX
CALL 0x00248220
MOV EDX,dword ptr [EBP + -0x80]
ADD ESP,0x10
MOV EAX,dword ptr [EBP + 0xffffff74]
MOV EDI,dword ptr [EBP + 0xffffff78]
MOV dword ptr [EAX + 0x4c],EDX
MOV dword ptr [EAX + 0x50],ESI
MOV dword ptr [EAX + 0x54],EDI
JMP 0x0006f92e
SUB ECX,EAX
LEA EDX,[EBP + -0x44]
LEA EAX,[EDI + 0x1a4]
PUSH EDX
PUSH ECX
PUSH dword ptr [EBP + -0x80]
PUSH EAX
CALL 0x000aab90
ADD ESP,0x10
MOV EDX,dword ptr [EDI + 0x1a4]
JMP 0x0006f7d7
LEA ECX,[EBP + -0x64]
LEA EAX,[EBP + -0x5c]
CALL 0x00055630
JMP 0x0006f880
CMP EDX,0x3fffffff
JA 0x0006fbe3
TEST EDX,EDX
JNZ 0x0006fd6a
MOV dword ptr [EBP + 0xffffff78],0x0
XOR EDX,EDX
JMP 0x0006fc07
MOV ECX,dword ptr [EBP + -0x7c]
TEST ECX,ECX
JZ 0x0006fc4a
JMP 0x0006fc33
MOV dword ptr [EBP + 0xffffff78],0x4
JMP 0x0006fbe3
MOV EAX,dword ptr [EBP + -0x50]
TEST EAX,EAX
JZ 0x0006fd06
SUB ESP,0xc
MOV EBX,dword ptr [EBP + -0x74]
PUSH EAX
CALL 0x00248220
ADD ESP,0x10
MOV EAX,dword ptr [EBP + -0x5c]
TEST EAX,EAX
JZ 0x0006fd1c
SUB ESP,0xc
MOV EBX,dword ptr [EBP + -0x74]
PUSH EAX
CALL 0x00248220
ADD ESP,0x10
LEA ESP,[EBP + -0xc]
POP EBX
POP ESI
POP EDI
POP EBP
RET
XOR ECX,ECX
MOV EDX,EDI
MOV EAX,EBX
CALL 0x0006eab0
JMP 0x0006f70a
MOV EBX,dword ptr [EBP + -0x74]
SUB ESP,0x4
LEA EAX,[EBX + 0xffee1cd8]
PUSH EAX
LEA EAX,[EBX + 0xffee2e84]
PUSH 0xcc1
PUSH EAX
CALL 0x000da200
PUSH EAX
LEA EAX,[EDI + 0xffee23a8]
MOV EBX,EDI
PUSH EAX
LEA EAX,[EDI + 0xffece26d]
PUSH 0x5c
PUSH EAX
CALL 0x000da200
SHL EAX,0x3
MOV dword ptr [EBP + 0xffffff78],EAX
JMP 0x0006fbe3
(translation_unit "void FUN_0006f600(void)\n\n{\n  uint uVar1;\n  int iVar2;\n  undefined4 uVar3;\n  undefined4 *__src;\n  char cVar4;\n  int iVar5;\n  uint uVar6;\n  int iVar7;\n  int *piVar8;\n  int *piVar9;\n  undefined4 uVar10;\n  int iVar11;\n  int iVar12;\n  uint uVar13;\n  size_t __n;\n  void *__dest;\n  int iVar14;\n  int *piVar15;\n  int unaff_EDI;\n  undefined4 *puVar16;\n  bool bVar17;\n  undefined8 uVar18;\n  int local_8c;\n  int *local_7c;\n  int local_74;\n  undefined4 local_70;\n  int *local_68;\n  int *local_64;\n  int *local_60;\n  int *local_5c;\n  int *local_58;\n  int *local_54;\n  int *local_50;\n  undefined4 local_4c;\n  int local_48 [4];\n  byte local_38;\n  undefined1 local_36;\n  undefined4 local_34;\n  undefined4 local_30;\n  undefined4 local_2c;\n  undefined4 local_28;\n  int *local_24;\n  int local_20;\n  \n  uVar18 = FUN_000b484e();\n  iVar5 = (int)uVar18;\n  if (*(int *)(*(int *)(BYTE_ARRAY_003a4e59 + unaff_EDI + 0x86) + 8) == 0) {\n                    /* WARNING: Subroutine does not return */\n    FUN_000da200(unaff_EDI + 0x272c64,0x5c,unaff_EDI + 0x286d9f,0);\n  }\n  local_36 = *(undefined1 *)\n              (*(int *)(*(int *)(BYTE_ARRAY_003a4e59 + unaff_EDI + 0x86) + 8) + 0x38e9);\n  local_34 = 0;\n  local_30 = 0;\n  uVar13 = *(uint *)(iVar5 + 0xa8);\n  local_2c = 0;\n  local_28 = 0;\n  local_24 = (int *)0x0;\n  local_20 = 0;\n  local_68 = (int *)0x0;\n  local_60 = (int *)0x0;\n  local_38 = (byte)(uVar13 >> 0x1f);\n  local_48[3] = ((int)uVar13 >> 0x1f ^ uVar13) - ((int)uVar13 >> 0x1f);\n  local_5c = (int *)0x0;\n  local_58 = (int *)0x0;\n  local_54 = (int *)0x0;\n  local_50 = (int *)0x0;\n  local_4c = 0;\n                    /* try { // try from 0006f6c7 to 0006f6cb has its CatchHandler @ 0006fd94 */\n  FUN_0010bb60((int)((ulonglong)uVar18 >> 0x20),&local_54);\n  FUN_000aba90(&local_74,(int)local_50 - (int)local_54 >> 2);\n  if (local_74 == 0) {\n                    /* try { // try from 0006fd2a to 0006fd2e has its CatchHandler @ 0006fd86 */\n    FUN_0006eab0();\n  }\n  else {\n                    /* try { // try from 0006f702 to 0006f706 has its CatchHandler @ 0006fd86 */\n    FUN_0006f540(local_70,0);\n  }\n  FUN_002481e0(local_74,*(undefined4 *)(BYTE_ARRAY_003a4975 + unaff_EDI + 0x2e));\n  local_7c = local_54;\n  if (local_54 != local_50) {\n    do {\n      iVar7 = *local_7c;\n      piVar15 = *(int **)(iVar7 + 0x6c);\n      if (piVar15 != *(int **)(iVar7 + 0x70)) {\n        do {\n          if (2 < *piVar15 + 3U) {\n            iVar7 = FUN_0015c600(piVar15);\n            uVar13 = FUN_0015c690(piVar15);\n            bVar17 = false;\n            if (uVar13 < (uint)((*(int *)(iVar7 + 0x19c) - *(int *)(iVar7 + 0x194)) +\n                               (*(int *)(iVar7 + 0x198) - *(int *)(iVar7 + 400)) * 8)) {\n              bVar17 = (*(uint *)(*(int *)(iVar7 + 400) + (uVar13 >> 5) * 4) &\n                       1 << ((byte)uVar13 & 0x1f)) != 0;\n            }\n            cVar4 = FUN_0004fea0(bVar17);\n            if (cVar4 == '\0') {\n              *local_68 = local_20;\n              local_68[1] = (int)local_24;\n              local_20 = *local_7c;\n              local_68 = (int *)0x0;\n              local_24 = piVar15;\nLAB_0006f76a:\n                    /* try { // try from 0006f772 to 0006f98f has its CatchHandler @ 0006fd94 */\n              local_68 = (int *)FUN_00246670(8);\n              *local_68 = 0;\n              local_68[1] = 0;\n              if (local_5c == local_58) {\n                FUN_00055630();\n              }\n              else {\n                *local_5c = (int)local_68;\n                local_5c = local_5c + 1;\n              }\n            }\n            else if (local_68 == (int *)0x0) goto LAB_0006f76a;\n            iVar12 = (int)local_5c - (int)local_60;\n            uVar13 = FUN_0015c690(piVar15);\n            iVar14 = *(int *)(iVar7 + 0x1a4);\n            iVar11 = *(int *)(iVar7 + 0x1a8);\n            uVar6 = iVar11 - iVar14 >> 2;\n            if (uVar6 <= uVar13) {\n              uVar1 = uVar13 + 1;\n              local_48[0] = -1;\n              if (uVar6 < uVar1) {\n                FUN_000aab90(iVar7 + 0x1a4,iVar11,uVar1 - uVar6,local_48);\n                iVar14 = *(int *)(iVar7 + 0x1a4);\n              }\n              else if ((uVar1 < uVar6) && (iVar2 = iVar14 + uVar1 * 4, iVar11 != iVar2)) {\n                *(int *)(iVar7 + 0x1a8) = iVar2;\n              }\n            }\n            *(int *)(iVar14 + uVar13 * 4) = (iVar12 >> 2) + -1;\n            iVar7 = *local_7c;\n          }\n          piVar15 = piVar15 + 6;\n        } while (*(int **)(iVar7 + 0x70) != piVar15);\n      }\n      local_7c = local_7c + 1;\n    } while (local_50 != local_7c);\n  }\n  if (local_68 != (int *)0x0) {\n    *local_68 = local_20;\n    local_68[1] = (int)local_24;\n  }\n  local_7c = local_60;\n  if (local_60 != local_5c) {\n    do {\n      piVar15 = (int *)((undefined4 *)*local_7c)[1];\n      if (*piVar15 + 4U < 4) {\n        if (*piVar15 != -4) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0006fd4d to 0006fd51 has its CatchHandler @ 0006fd94 */\n          FUN_000da200(unaff_EDI + 0x28787b,0xcc1,unaff_EDI + 0x2866cf);\n        }\n        piVar8 = (int *)piVar15[4];\nLAB_0006f914:\n        puVar16 = *(undefined4 **)(iVar5 + 0x50);\n        if (puVar16 == *(undefined4 **)(iVar5 + 0x54)) goto LAB_0006fbb0;\nLAB_0006f926:\n        *puVar16 = piVar8;\n        *(undefined4 **)(iVar5 + 0x50) = puVar16 + 1;\n      }\n      else {\n        uVar3 = *(undefined4 *)*local_7c;\n        iVar7 = *(int *)(iVar5 + 0x50);\n        iVar14 = *(int *)(iVar5 + 0x4c);\n        piVar8 = (int *)FUN_00246670(0xb0);\n                    /* try { // try from 0006f998 to 0006f9e1 has its CatchHandler @ 0006fd8d */\n        piVar9 = (int *)FUN_0015c600(piVar15);\n        uVar10 = FUN_0015c690(piVar15);\n        uVar18 = (**(code **)(*piVar9 + 0x5c))(piVar9,uVar10);\n        iVar11 = FUN_0015c690(piVar15);\n        iVar12 = FUN_0015c600(piVar15);\n        piVar8[0xb] = iVar12;\n        *(byte *)(piVar8 + 7) = *(byte *)(piVar8 + 7) & 0xe0;\n        piVar8[9] = (int)uVar18;\n        piVar8[0xc] = iVar11;\n        piVar8[1] = 0;\n        piVar8[2] = 0;\n        piVar8[3] = 0;\n        piVar8[4] = 0;\n        piVar8[5] = -1;\n        piVar8[6] = -1;\n        piVar8[8] = 0;\n        piVar8[10] = (int)((ulonglong)uVar18 >> 0x20);\n        piVar8[0xd] = iVar5;\n        *piVar8 = unaff_EDI + 0x39d467;\n        uVar13 = 0;\n        do {\n          *(undefined4 *)((int)piVar8 + uVar13 + 0x38) = 0;\n          uVar13 = uVar13 + 4;\n        } while (uVar13 < 0x1c);\n        piVar8[0xf] = 1;\n        piVar8[0x10] = 0;\n        piVar8[0x11] = 0;\n        piVar8[0x12] = 0x3f800000;\n        piVar8[0x13] = 0;\n        piVar8[0x14] = 0;\n        piVar8[0xe] = (int)(piVar8 + 0x14);\n        uVar13 = 0;\n        do {\n          *(undefined4 *)((int)piVar8 + uVar13 + 0x54) = 0;\n          uVar13 = uVar13 + 4;\n        } while (uVar13 < 0x1c);\n        piVar8[0x16] = 1;\n        piVar8[0x15] = (int)(piVar8 + 0x1b);\n        piVar8[0x17] = 0;\n        piVar8[0x18] = 0;\n        piVar8[0x19] = 0x3f800000;\n        piVar8[0x1a] = 0;\n        piVar8[0x1b] = 0;\n                    /* try { // try from 0006fadc to 0006fb48 has its CatchHandler @ 0006fd7f */\n        iVar11 = FUN_0015c560(piVar15);\n        piVar8[0x1c] = iVar11;\n        piVar8[0x1d] = 0;\n        piVar8[0x1e] = 0;\n        piVar8[0x1f] = 0;\n        piVar8[0x20] = 0;\n        piVar8[0x21] = 0;\n        piVar8[0x22] = 0;\n        *(undefined1 *)(piVar8 + 0x23) = 0;\n        piVar8[0x24] = iVar7 - iVar14 >> 2;\n        piVar8[0x25] = -1;\n        piVar8[0x26] = 0;\n        FUN_0015c3f0(piVar8,uVar3);\n        local_48[0] = 0;\n        local_48[1] = 0;\n        local_48[2] = 0;\n        local_64 = piVar8;\n                    /* try { // try from 0006fb6b to 0006fb7c has its CatchHandler @ 0006fd78 */\n        FUN_000abc70(local_48,&local_64);\n        FUN_00164400(uVar3,local_48);\n        if (local_48[0] == 0) goto LAB_0006f914;\n        FUN_00248220(local_48[0]);\n        puVar16 = *(undefined4 **)(iVar5 + 0x50);\n        if (puVar16 != *(undefined4 **)(iVar5 + 0x54)) goto LAB_0006f926;\nLAB_0006fbb0:\n        __src = *(undefined4 **)(iVar5 + 0x4c);\n        __n = (int)puVar16 - (int)__src;\n        uVar13 = (int)__n >> 2;\n        if (uVar13 == 0) {\n          local_8c = 4;\nLAB_0006fbe3:\n                    /* try { // try from 0006fbef to 0006fc9a has its CatchHandler @ 0006fd94 */\n          __dest = (void *)FUN_00246670(local_8c);\n          local_8c = local_8c + (int)__dest;\n        }\n        else {\n          local_8c = -4;\n          uVar6 = uVar13 * 2;\n          if ((uVar6 < uVar13) || (0x3fffffff < uVar6)) goto LAB_0006fbe3;\n          if (uVar6 != 0) {\n            local_8c = uVar13 << 3;\n            goto LAB_0006fbe3;\n          }\n          local_8c = 0;\n          __dest = (void *)0x0;\n        }\n        *(int **)((int)__dest + __n) = piVar8;\n        if (puVar16 == __src) {\n          if (__src != (undefined4 *)0x0) goto LAB_0006fc33;\n        }\n        else {\n          memmove(__dest,__src,__n);\nLAB_0006fc33:\n          FUN_00248220(__src);\n        }\n        *(void **)(iVar5 + 0x4c) = __dest;\n        *(size_t *)(iVar5 + 0x50) = (int)__dest + __n + 4;\n        *(int *)(iVar5 + 0x54) = local_8c;\n      }\n      FUN_00248200(*local_7c,8);\n      local_7c = local_7c + 1;\n    } while (local_5c != local_7c);\n  }\n  if (local_54 != (int *)0x0) {\n    FUN_00248220(local_54);\n  }\n  if (local_60 != (int *)0x0) {\n    FUN_00248220(local_60);\n  }\n  return;\n}\n\n" (function_definition "void FUN_0006f600(void)\n\n{\n  uint uVar1;\n  int iVar2;\n  undefined4 uVar3;\n  undefined4 *__src;\n  char cVar4;\n  int iVar5;\n  uint uVar6;\n  int iVar7;\n  int *piVar8;\n  int *piVar9;\n  undefined4 uVar10;\n  int iVar11;\n  int iVar12;\n  uint uVar13;\n  size_t __n;\n  void *__dest;\n  int iVar14;\n  int *piVar15;\n  int unaff_EDI;\n  undefined4 *puVar16;\n  bool bVar17;\n  undefined8 uVar18;\n  int local_8c;\n  int *local_7c;\n  int local_74;\n  undefined4 local_70;\n  int *local_68;\n  int *local_64;\n  int *local_60;\n  int *local_5c;\n  int *local_58;\n  int *local_54;\n  int *local_50;\n  undefined4 local_4c;\n  int local_48 [4];\n  byte local_38;\n  undefined1 local_36;\n  undefined4 local_34;\n  undefined4 local_30;\n  undefined4 local_2c;\n  undefined4 local_28;\n  int *local_24;\n  int local_20;\n  \n  uVar18 = FUN_000b484e();\n  iVar5 = (int)uVar18;\n  if (*(int *)(*(int *)(BYTE_ARRAY_003a4e59 + unaff_EDI + 0x86) + 8) == 0) {\n                    /* WARNING: Subroutine does not return */\n    FUN_000da200(unaff_EDI + 0x272c64,0x5c,unaff_EDI + 0x286d9f,0);\n  }\n  local_36 = *(undefined1 *)\n              (*(int *)(*(int *)(BYTE_ARRAY_003a4e59 + unaff_EDI + 0x86) + 8) + 0x38e9);\n  local_34 = 0;\n  local_30 = 0;\n  uVar13 = *(uint *)(iVar5 + 0xa8);\n  local_2c = 0;\n  local_28 = 0;\n  local_24 = (int *)0x0;\n  local_20 = 0;\n  local_68 = (int *)0x0;\n  local_60 = (int *)0x0;\n  local_38 = (byte)(uVar13 >> 0x1f);\n  local_48[3] = ((int)uVar13 >> 0x1f ^ uVar13) - ((int)uVar13 >> 0x1f);\n  local_5c = (int *)0x0;\n  local_58 = (int *)0x0;\n  local_54 = (int *)0x0;\n  local_50 = (int *)0x0;\n  local_4c = 0;\n                    /* try { // try from 0006f6c7 to 0006f6cb has its CatchHandler @ 0006fd94 */\n  FUN_0010bb60((int)((ulonglong)uVar18 >> 0x20),&local_54);\n  FUN_000aba90(&local_74,(int)local_50 - (int)local_54 >> 2);\n  if (local_74 == 0) {\n                    /* try { // try from 0006fd2a to 0006fd2e has its CatchHandler @ 0006fd86 */\n    FUN_0006eab0();\n  }\n  else {\n                    /* try { // try from 0006f702 to 0006f706 has its CatchHandler @ 0006fd86 */\n    FUN_0006f540(local_70,0);\n  }\n  FUN_002481e0(local_74,*(undefined4 *)(BYTE_ARRAY_003a4975 + unaff_EDI + 0x2e));\n  local_7c = local_54;\n  if (local_54 != local_50) {\n    do {\n      iVar7 = *local_7c;\n      piVar15 = *(int **)(iVar7 + 0x6c);\n      if (piVar15 != *(int **)(iVar7 + 0x70)) {\n        do {\n          if (2 < *piVar15 + 3U) {\n            iVar7 = FUN_0015c600(piVar15);\n            uVar13 = FUN_0015c690(piVar15);\n            bVar17 = false;\n            if (uVar13 < (uint)((*(int *)(iVar7 + 0x19c) - *(int *)(iVar7 + 0x194)) +\n                               (*(int *)(iVar7 + 0x198) - *(int *)(iVar7 + 400)) * 8)) {\n              bVar17 = (*(uint *)(*(int *)(iVar7 + 400) + (uVar13 >> 5) * 4) &\n                       1 << ((byte)uVar13 & 0x1f)) != 0;\n            }\n            cVar4 = FUN_0004fea0(bVar17);\n            if (cVar4 == '\0') {\n              *local_68 = local_20;\n              local_68[1] = (int)local_24;\n              local_20 = *local_7c;\n              local_68 = (int *)0x0;\n              local_24 = piVar15;\nLAB_0006f76a:\n                    /* try { // try from 0006f772 to 0006f98f has its CatchHandler @ 0006fd94 */\n              local_68 = (int *)FUN_00246670(8);\n              *local_68 = 0;\n              local_68[1] = 0;\n              if (local_5c == local_58) {\n                FUN_00055630();\n              }\n              else {\n                *local_5c = (int)local_68;\n                local_5c = local_5c + 1;\n              }\n            }\n            else if (local_68 == (int *)0x0) goto LAB_0006f76a;\n            iVar12 = (int)local_5c - (int)local_60;\n            uVar13 = FUN_0015c690(piVar15);\n            iVar14 = *(int *)(iVar7 + 0x1a4);\n            iVar11 = *(int *)(iVar7 + 0x1a8);\n            uVar6 = iVar11 - iVar14 >> 2;\n            if (uVar6 <= uVar13) {\n              uVar1 = uVar13 + 1;\n              local_48[0] = -1;\n              if (uVar6 < uVar1) {\n                FUN_000aab90(iVar7 + 0x1a4,iVar11,uVar1 - uVar6,local_48);\n                iVar14 = *(int *)(iVar7 + 0x1a4);\n              }\n              else if ((uVar1 < uVar6) && (iVar2 = iVar14 + uVar1 * 4, iVar11 != iVar2)) {\n                *(int *)(iVar7 + 0x1a8) = iVar2;\n              }\n            }\n            *(int *)(iVar14 + uVar13 * 4) = (iVar12 >> 2) + -1;\n            iVar7 = *local_7c;\n          }\n          piVar15 = piVar15 + 6;\n        } while (*(int **)(iVar7 + 0x70) != piVar15);\n      }\n      local_7c = local_7c + 1;\n    } while (local_50 != local_7c);\n  }\n  if (local_68 != (int *)0x0) {\n    *local_68 = local_20;\n    local_68[1] = (int)local_24;\n  }\n  local_7c = local_60;\n  if (local_60 != local_5c) {\n    do {\n      piVar15 = (int *)((undefined4 *)*local_7c)[1];\n      if (*piVar15 + 4U < 4) {\n        if (*piVar15 != -4) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0006fd4d to 0006fd51 has its CatchHandler @ 0006fd94 */\n          FUN_000da200(unaff_EDI + 0x28787b,0xcc1,unaff_EDI + 0x2866cf);\n        }\n        piVar8 = (int *)piVar15[4];\nLAB_0006f914:\n        puVar16 = *(undefined4 **)(iVar5 + 0x50);\n        if (puVar16 == *(undefined4 **)(iVar5 + 0x54)) goto LAB_0006fbb0;\nLAB_0006f926:\n        *puVar16 = piVar8;\n        *(undefined4 **)(iVar5 + 0x50) = puVar16 + 1;\n      }\n      else {\n        uVar3 = *(undefined4 *)*local_7c;\n        iVar7 = *(int *)(iVar5 + 0x50);\n        iVar14 = *(int *)(iVar5 + 0x4c);\n        piVar8 = (int *)FUN_00246670(0xb0);\n                    /* try { // try from 0006f998 to 0006f9e1 has its CatchHandler @ 0006fd8d */\n        piVar9 = (int *)FUN_0015c600(piVar15);\n        uVar10 = FUN_0015c690(piVar15);\n        uVar18 = (**(code **)(*piVar9 + 0x5c))(piVar9,uVar10);\n        iVar11 = FUN_0015c690(piVar15);\n        iVar12 = FUN_0015c600(piVar15);\n        piVar8[0xb] = iVar12;\n        *(byte *)(piVar8 + 7) = *(byte *)(piVar8 + 7) & 0xe0;\n        piVar8[9] = (int)uVar18;\n        piVar8[0xc] = iVar11;\n        piVar8[1] = 0;\n        piVar8[2] = 0;\n        piVar8[3] = 0;\n        piVar8[4] = 0;\n        piVar8[5] = -1;\n        piVar8[6] = -1;\n        piVar8[8] = 0;\n        piVar8[10] = (int)((ulonglong)uVar18 >> 0x20);\n        piVar8[0xd] = iVar5;\n        *piVar8 = unaff_EDI + 0x39d467;\n        uVar13 = 0;\n        do {\n          *(undefined4 *)((int)piVar8 + uVar13 + 0x38) = 0;\n          uVar13 = uVar13 + 4;\n        } while (uVar13 < 0x1c);\n        piVar8[0xf] = 1;\n        piVar8[0x10] = 0;\n        piVar8[0x11] = 0;\n        piVar8[0x12] = 0x3f800000;\n        piVar8[0x13] = 0;\n        piVar8[0x14] = 0;\n        piVar8[0xe] = (int)(piVar8 + 0x14);\n        uVar13 = 0;\n        do {\n          *(undefined4 *)((int)piVar8 + uVar13 + 0x54) = 0;\n          uVar13 = uVar13 + 4;\n        } while (uVar13 < 0x1c);\n        piVar8[0x16] = 1;\n        piVar8[0x15] = (int)(piVar8 + 0x1b);\n        piVar8[0x17] = 0;\n        piVar8[0x18] = 0;\n        piVar8[0x19] = 0x3f800000;\n        piVar8[0x1a] = 0;\n        piVar8[0x1b] = 0;\n                    /* try { // try from 0006fadc to 0006fb48 has its CatchHandler @ 0006fd7f */\n        iVar11 = FUN_0015c560(piVar15);\n        piVar8[0x1c] = iVar11;\n        piVar8[0x1d] = 0;\n        piVar8[0x1e] = 0;\n        piVar8[0x1f] = 0;\n        piVar8[0x20] = 0;\n        piVar8[0x21] = 0;\n        piVar8[0x22] = 0;\n        *(undefined1 *)(piVar8 + 0x23) = 0;\n        piVar8[0x24] = iVar7 - iVar14 >> 2;\n        piVar8[0x25] = -1;\n        piVar8[0x26] = 0;\n        FUN_0015c3f0(piVar8,uVar3);\n        local_48[0] = 0;\n        local_48[1] = 0;\n        local_48[2] = 0;\n        local_64 = piVar8;\n                    /* try { // try from 0006fb6b to 0006fb7c has its CatchHandler @ 0006fd78 */\n        FUN_000abc70(local_48,&local_64);\n        FUN_00164400(uVar3,local_48);\n        if (local_48[0] == 0) goto LAB_0006f914;\n        FUN_00248220(local_48[0]);\n        puVar16 = *(undefined4 **)(iVar5 + 0x50);\n        if (puVar16 != *(undefined4 **)(iVar5 + 0x54)) goto LAB_0006f926;\nLAB_0006fbb0:\n        __src = *(undefined4 **)(iVar5 + 0x4c);\n        __n = (int)puVar16 - (int)__src;\n        uVar13 = (int)__n >> 2;\n        if (uVar13 == 0) {\n          local_8c = 4;\nLAB_0006fbe3:\n                    /* try { // try from 0006fbef to 0006fc9a has its CatchHandler @ 0006fd94 */\n          __dest = (void *)FUN_00246670(local_8c);\n          local_8c = local_8c + (int)__dest;\n        }\n        else {\n          local_8c = -4;\n          uVar6 = uVar13 * 2;\n          if ((uVar6 < uVar13) || (0x3fffffff < uVar6)) goto LAB_0006fbe3;\n          if (uVar6 != 0) {\n            local_8c = uVar13 << 3;\n            goto LAB_0006fbe3;\n          }\n          local_8c = 0;\n          __dest = (void *)0x0;\n        }\n        *(int **)((int)__dest + __n) = piVar8;\n        if (puVar16 == __src) {\n          if (__src != (undefined4 *)0x0) goto LAB_0006fc33;\n        }\n        else {\n          memmove(__dest,__src,__n);\nLAB_0006fc33:\n          FUN_00248220(__src);\n        }\n        *(void **)(iVar5 + 0x4c) = __dest;\n        *(size_t *)(iVar5 + 0x50) = (int)__dest + __n + 4;\n        *(int *)(iVar5 + 0x54) = local_8c;\n      }\n      FUN_00248200(*local_7c,8);\n      local_7c = local_7c + 1;\n    } while (local_5c != local_7c);\n  }\n  if (local_54 != (int *)0x0) {\n    FUN_00248220(local_54);\n  }\n  if (local_60 != (int *)0x0) {\n    FUN_00248220(local_60);\n  }\n  return;\n}" primitive_type (function_declarator "FUN_0006f600(void)" identifier (parameter_list "(void)" ( (parameter_declaration "void" primitive_type) ))) (compound_statement "{\n  uint uVar1;\n  int iVar2;\n  undefined4 uVar3;\n  undefined4 *__src;\n  char cVar4;\n  int iVar5;\n  uint uVar6;\n  int iVar7;\n  int *piVar8;\n  int *piVar9;\n  undefined4 uVar10;\n  int iVar11;\n  int iVar12;\n  uint uVar13;\n  size_t __n;\n  void *__dest;\n  int iVar14;\n  int *piVar15;\n  int unaff_EDI;\n  undefined4 *puVar16;\n  bool bVar17;\n  undefined8 uVar18;\n  int local_8c;\n  int *local_7c;\n  int local_74;\n  undefined4 local_70;\n  int *local_68;\n  int *local_64;\n  int *local_60;\n  int *local_5c;\n  int *local_58;\n  int *local_54;\n  int *local_50;\n  undefined4 local_4c;\n  int local_48 [4];\n  byte local_38;\n  undefined1 local_36;\n  undefined4 local_34;\n  undefined4 local_30;\n  undefined4 local_2c;\n  undefined4 local_28;\n  int *local_24;\n  int local_20;\n  \n  uVar18 = FUN_000b484e();\n  iVar5 = (int)uVar18;\n  if (*(int *)(*(int *)(BYTE_ARRAY_003a4e59 + unaff_EDI + 0x86) + 8) == 0) {\n                    /* WARNING: Subroutine does not return */\n    FUN_000da200(unaff_EDI + 0x272c64,0x5c,unaff_EDI + 0x286d9f,0);\n  }\n  local_36 = *(undefined1 *)\n              (*(int *)(*(int *)(BYTE_ARRAY_003a4e59 + unaff_EDI + 0x86) + 8) + 0x38e9);\n  local_34 = 0;\n  local_30 = 0;\n  uVar13 = *(uint *)(iVar5 + 0xa8);\n  local_2c = 0;\n  local_28 = 0;\n  local_24 = (int *)0x0;\n  local_20 = 0;\n  local_68 = (int *)0x0;\n  local_60 = (int *)0x0;\n  local_38 = (byte)(uVar13 >> 0x1f);\n  local_48[3] = ((int)uVar13 >> 0x1f ^ uVar13) - ((int)uVar13 >> 0x1f);\n  local_5c = (int *)0x0;\n  local_58 = (int *)0x0;\n  local_54 = (int *)0x0;\n  local_50 = (int *)0x0;\n  local_4c = 0;\n                    /* try { // try from 0006f6c7 to 0006f6cb has its CatchHandler @ 0006fd94 */\n  FUN_0010bb60((int)((ulonglong)uVar18 >> 0x20),&local_54);\n  FUN_000aba90(&local_74,(int)local_50 - (int)local_54 >> 2);\n  if (local_74 == 0) {\n                    /* try { // try from 0006fd2a to 0006fd2e has its CatchHandler @ 0006fd86 */\n    FUN_0006eab0();\n  }\n  else {\n                    /* try { // try from 0006f702 to 0006f706 has its CatchHandler @ 0006fd86 */\n    FUN_0006f540(local_70,0);\n  }\n  FUN_002481e0(local_74,*(undefined4 *)(BYTE_ARRAY_003a4975 + unaff_EDI + 0x2e));\n  local_7c = local_54;\n  if (local_54 != local_50) {\n    do {\n      iVar7 = *local_7c;\n      piVar15 = *(int **)(iVar7 + 0x6c);\n      if (piVar15 != *(int **)(iVar7 + 0x70)) {\n        do {\n          if (2 < *piVar15 + 3U) {\n            iVar7 = FUN_0015c600(piVar15);\n            uVar13 = FUN_0015c690(piVar15);\n            bVar17 = false;\n            if (uVar13 < (uint)((*(int *)(iVar7 + 0x19c) - *(int *)(iVar7 + 0x194)) +\n                               (*(int *)(iVar7 + 0x198) - *(int *)(iVar7 + 400)) * 8)) {\n              bVar17 = (*(uint *)(*(int *)(iVar7 + 400) + (uVar13 >> 5) * 4) &\n                       1 << ((byte)uVar13 & 0x1f)) != 0;\n            }\n            cVar4 = FUN_0004fea0(bVar17);\n            if (cVar4 == '\0') {\n              *local_68 = local_20;\n              local_68[1] = (int)local_24;\n              local_20 = *local_7c;\n              local_68 = (int *)0x0;\n              local_24 = piVar15;\nLAB_0006f76a:\n                    /* try { // try from 0006f772 to 0006f98f has its CatchHandler @ 0006fd94 */\n              local_68 = (int *)FUN_00246670(8);\n              *local_68 = 0;\n              local_68[1] = 0;\n              if (local_5c == local_58) {\n                FUN_00055630();\n              }\n              else {\n                *local_5c = (int)local_68;\n                local_5c = local_5c + 1;\n              }\n            }\n            else if (local_68 == (int *)0x0) goto LAB_0006f76a;\n            iVar12 = (int)local_5c - (int)local_60;\n            uVar13 = FUN_0015c690(piVar15);\n            iVar14 = *(int *)(iVar7 + 0x1a4);\n            iVar11 = *(int *)(iVar7 + 0x1a8);\n            uVar6 = iVar11 - iVar14 >> 2;\n            if (uVar6 <= uVar13) {\n              uVar1 = uVar13 + 1;\n              local_48[0] = -1;\n              if (uVar6 < uVar1) {\n                FUN_000aab90(iVar7 + 0x1a4,iVar11,uVar1 - uVar6,local_48);\n                iVar14 = *(int *)(iVar7 + 0x1a4);\n              }\n              else if ((uVar1 < uVar6) && (iVar2 = iVar14 + uVar1 * 4, iVar11 != iVar2)) {\n                *(int *)(iVar7 + 0x1a8) = iVar2;\n              }\n            }\n            *(int *)(iVar14 + uVar13 * 4) = (iVar12 >> 2) + -1;\n            iVar7 = *local_7c;\n          }\n          piVar15 = piVar15 + 6;\n        } while (*(int **)(iVar7 + 0x70) != piVar15);\n      }\n      local_7c = local_7c + 1;\n    } while (local_50 != local_7c);\n  }\n  if (local_68 != (int *)0x0) {\n    *local_68 = local_20;\n    local_68[1] = (int)local_24;\n  }\n  local_7c = local_60;\n  if (local_60 != local_5c) {\n    do {\n      piVar15 = (int *)((undefined4 *)*local_7c)[1];\n      if (*piVar15 + 4U < 4) {\n        if (*piVar15 != -4) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0006fd4d to 0006fd51 has its CatchHandler @ 0006fd94 */\n          FUN_000da200(unaff_EDI + 0x28787b,0xcc1,unaff_EDI + 0x2866cf);\n        }\n        piVar8 = (int *)piVar15[4];\nLAB_0006f914:\n        puVar16 = *(undefined4 **)(iVar5 + 0x50);\n        if (puVar16 == *(undefined4 **)(iVar5 + 0x54)) goto LAB_0006fbb0;\nLAB_0006f926:\n        *puVar16 = piVar8;\n        *(undefined4 **)(iVar5 + 0x50) = puVar16 + 1;\n      }\n      else {\n        uVar3 = *(undefined4 *)*local_7c;\n        iVar7 = *(int *)(iVar5 + 0x50);\n        iVar14 = *(int *)(iVar5 + 0x4c);\n        piVar8 = (int *)FUN_00246670(0xb0);\n                    /* try { // try from 0006f998 to 0006f9e1 has its CatchHandler @ 0006fd8d */\n        piVar9 = (int *)FUN_0015c600(piVar15);\n        uVar10 = FUN_0015c690(piVar15);\n        uVar18 = (**(code **)(*piVar9 + 0x5c))(piVar9,uVar10);\n        iVar11 = FUN_0015c690(piVar15);\n        iVar12 = FUN_0015c600(piVar15);\n        piVar8[0xb] = iVar12;\n        *(byte *)(piVar8 + 7) = *(byte *)(piVar8 + 7) & 0xe0;\n        piVar8[9] = (int)uVar18;\n        piVar8[0xc] = iVar11;\n        piVar8[1] = 0;\n        piVar8[2] = 0;\n        piVar8[3] = 0;\n        piVar8[4] = 0;\n        piVar8[5] = -1;\n        piVar8[6] = -1;\n        piVar8[8] = 0;\n        piVar8[10] = (int)((ulonglong)uVar18 >> 0x20);\n        piVar8[0xd] = iVar5;\n        *piVar8 = unaff_EDI + 0x39d467;\n        uVar13 = 0;\n        do {\n          *(undefined4 *)((int)piVar8 + uVar13 + 0x38) = 0;\n          uVar13 = uVar13 + 4;\n        } while (uVar13 < 0x1c);\n        piVar8[0xf] = 1;\n        piVar8[0x10] = 0;\n        piVar8[0x11] = 0;\n        piVar8[0x12] = 0x3f800000;\n        piVar8[0x13] = 0;\n        piVar8[0x14] = 0;\n        piVar8[0xe] = (int)(piVar8 + 0x14);\n        uVar13 = 0;\n        do {\n          *(undefined4 *)((int)piVar8 + uVar13 + 0x54) = 0;\n          uVar13 = uVar13 + 4;\n        } while (uVar13 < 0x1c);\n        piVar8[0x16] = 1;\n        piVar8[0x15] = (int)(piVar8 + 0x1b);\n        piVar8[0x17] = 0;\n        piVar8[0x18] = 0;\n        piVar8[0x19] = 0x3f800000;\n        piVar8[0x1a] = 0;\n        piVar8[0x1b] = 0;\n                    /* try { // try from 0006fadc to 0006fb48 has its CatchHandler @ 0006fd7f */\n        iVar11 = FUN_0015c560(piVar15);\n        piVar8[0x1c] = iVar11;\n        piVar8[0x1d] = 0;\n        piVar8[0x1e] = 0;\n        piVar8[0x1f] = 0;\n        piVar8[0x20] = 0;\n        piVar8[0x21] = 0;\n        piVar8[0x22] = 0;\n        *(undefined1 *)(piVar8 + 0x23) = 0;\n        piVar8[0x24] = iVar7 - iVar14 >> 2;\n        piVar8[0x25] = -1;\n        piVar8[0x26] = 0;\n        FUN_0015c3f0(piVar8,uVar3);\n        local_48[0] = 0;\n        local_48[1] = 0;\n        local_48[2] = 0;\n        local_64 = piVar8;\n                    /* try { // try from 0006fb6b to 0006fb7c has its CatchHandler @ 0006fd78 */\n        FUN_000abc70(local_48,&local_64);\n        FUN_00164400(uVar3,local_48);\n        if (local_48[0] == 0) goto LAB_0006f914;\n        FUN_00248220(local_48[0]);\n        puVar16 = *(undefined4 **)(iVar5 + 0x50);\n        if (puVar16 != *(undefined4 **)(iVar5 + 0x54)) goto LAB_0006f926;\nLAB_0006fbb0:\n        __src = *(undefined4 **)(iVar5 + 0x4c);\n        __n = (int)puVar16 - (int)__src;\n        uVar13 = (int)__n >> 2;\n        if (uVar13 == 0) {\n          local_8c = 4;\nLAB_0006fbe3:\n                    /* try { // try from 0006fbef to 0006fc9a has its CatchHandler @ 0006fd94 */\n          __dest = (void *)FUN_00246670(local_8c);\n          local_8c = local_8c + (int)__dest;\n        }\n        else {\n          local_8c = -4;\n          uVar6 = uVar13 * 2;\n          if ((uVar6 < uVar13) || (0x3fffffff < uVar6)) goto LAB_0006fbe3;\n          if (uVar6 != 0) {\n            local_8c = uVar13 << 3;\n            goto LAB_0006fbe3;\n          }\n          local_8c = 0;\n          __dest = (void *)0x0;\n        }\n        *(int **)((int)__dest + __n) = piVar8;\n        if (puVar16 == __src) {\n          if (__src != (undefined4 *)0x0) goto LAB_0006fc33;\n        }\n        else {\n          memmove(__dest,__src,__n);\nLAB_0006fc33:\n          FUN_00248220(__src);\n        }\n        *(void **)(iVar5 + 0x4c) = __dest;\n        *(size_t *)(iVar5 + 0x50) = (int)__dest + __n + 4;\n        *(int *)(iVar5 + 0x54) = local_8c;\n      }\n      FUN_00248200(*local_7c,8);\n      local_7c = local_7c + 1;\n    } while (local_5c != local_7c);\n  }\n  if (local_54 != (int *)0x0) {\n    FUN_00248220(local_54);\n  }\n  if (local_60 != (int *)0x0) {\n    FUN_00248220(local_60);\n  }\n  return;\n}" { (declaration "uint uVar1;" type_identifier identifier ;) (declaration "int iVar2;" primitive_type identifier ;) (declaration "undefined4 uVar3;" type_identifier identifier ;) (declaration "undefined4 *__src;" type_identifier (pointer_declarator "*__src" * identifier) ;) (declaration "char cVar4;" primitive_type identifier ;) (declaration "int iVar5;" primitive_type identifier ;) (declaration "uint uVar6;" type_identifier identifier ;) (declaration "int iVar7;" primitive_type identifier ;) (declaration "int *piVar8;" primitive_type (pointer_declarator "*piVar8" * identifier) ;) (declaration "int *piVar9;" primitive_type (pointer_declarator "*piVar9" * identifier) ;) (declaration "undefined4 uVar10;" type_identifier identifier ;) (declaration "int iVar11;" primitive_type identifier ;) (declaration "int iVar12;" primitive_type identifier ;) (declaration "uint uVar13;" type_identifier identifier ;) (declaration "size_t __n;" primitive_type identifier ;) (declaration "void *__dest;" primitive_type (pointer_declarator "*__dest" * identifier) ;) (declaration "int iVar14;" primitive_type identifier ;) (declaration "int *piVar15;" primitive_type (pointer_declarator "*piVar15" * identifier) ;) (declaration "int unaff_EDI;" primitive_type identifier ;) (declaration "undefined4 *puVar16;" type_identifier (pointer_declarator "*puVar16" * identifier) ;) (declaration "bool bVar17;" primitive_type identifier ;) (declaration "undefined8 uVar18;" type_identifier identifier ;) (declaration "int local_8c;" primitive_type identifier ;) (declaration "int *local_7c;" primitive_type (pointer_declarator "*local_7c" * identifier) ;) (declaration "int local_74;" primitive_type identifier ;) (declaration "undefined4 local_70;" type_identifier identifier ;) (declaration "int *local_68;" primitive_type (pointer_declarator "*local_68" * identifier) ;) (declaration "int *local_64;" primitive_type (pointer_declarator "*local_64" * identifier) ;) (declaration "int *local_60;" primitive_type (pointer_declarator "*local_60" * identifier) ;) (declaration "int *local_5c;" primitive_type (pointer_declarator "*local_5c" * identifier) ;) (declaration "int *local_58;" primitive_type (pointer_declarator "*local_58" * identifier) ;) (declaration "int *local_54;" primitive_type (pointer_declarator "*local_54" * identifier) ;) (declaration "int *local_50;" primitive_type (pointer_declarator "*local_50" * identifier) ;) (declaration "undefined4 local_4c;" type_identifier identifier ;) (declaration "int local_48 [4];" primitive_type (array_declarator "local_48 [4]" identifier [ number_literal ]) ;) (declaration "byte local_38;" type_identifier identifier ;) (declaration "undefined1 local_36;" type_identifier identifier ;) (declaration "undefined4 local_34;" type_identifier identifier ;) (declaration "undefined4 local_30;" type_identifier identifier ;) (declaration "undefined4 local_2c;" type_identifier identifier ;) (declaration "undefined4 local_28;" type_identifier identifier ;) (declaration "int *local_24;" primitive_type (pointer_declarator "*local_24" * identifier) ;) (declaration "int local_20;" primitive_type identifier ;) (expression_statement "uVar18 = FUN_000b484e();" (assignment_expression "uVar18 = FUN_000b484e()" identifier = (call_expression "FUN_000b484e()" identifier (argument_list "()" ( )))) ;) (expression_statement "iVar5 = (int)uVar18;" (assignment_expression "iVar5 = (int)uVar18" identifier = (cast_expression "(int)uVar18" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (if_statement "if (*(int *)(*(int *)(BYTE_ARRAY_003a4e59 + unaff_EDI + 0x86) + 8) == 0) {\n                    /* WARNING: Subroutine does not return */\n    FUN_000da200(unaff_EDI + 0x272c64,0x5c,unaff_EDI + 0x286d9f,0);\n  }" if (parenthesized_expression "(*(int *)(*(int *)(BYTE_ARRAY_003a4e59 + unaff_EDI + 0x86) + 8) == 0)" ( (binary_expression "*(int *)(*(int *)(BYTE_ARRAY_003a4e59 + unaff_EDI + 0x86) + 8) == 0" (pointer_expression "*(int *)(*(int *)(BYTE_ARRAY_003a4e59 + unaff_EDI + 0x86) + 8)" * (cast_expression "(int *)(*(int *)(BYTE_ARRAY_003a4e59 + unaff_EDI + 0x86) + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(BYTE_ARRAY_003a4e59 + unaff_EDI + 0x86) + 8)" ( (binary_expression "*(int *)(BYTE_ARRAY_003a4e59 + unaff_EDI + 0x86) + 8" (pointer_expression "*(int *)(BYTE_ARRAY_003a4e59 + unaff_EDI + 0x86)" * (cast_expression "(int *)(BYTE_ARRAY_003a4e59 + unaff_EDI + 0x86)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(BYTE_ARRAY_003a4e59 + unaff_EDI + 0x86)" ( (binary_expression "BYTE_ARRAY_003a4e59 + unaff_EDI + 0x86" (binary_expression "BYTE_ARRAY_003a4e59 + unaff_EDI" identifier + identifier) + number_literal) )))) + number_literal) )))) == number_literal) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n    FUN_000da200(unaff_EDI + 0x272c64,0x5c,unaff_EDI + 0x286d9f,0);\n  }" { comment (expression_statement "FUN_000da200(unaff_EDI + 0x272c64,0x5c,unaff_EDI + 0x286d9f,0);" (call_expression "FUN_000da200(unaff_EDI + 0x272c64,0x5c,unaff_EDI + 0x286d9f,0)" identifier (argument_list "(unaff_EDI + 0x272c64,0x5c,unaff_EDI + 0x286d9f,0)" ( (binary_expression "unaff_EDI + 0x272c64" identifier + number_literal) , number_literal , (binary_expression "unaff_EDI + 0x286d9f" identifier + number_literal) , number_literal ))) ;) })) (expression_statement "local_36 = *(undefined1 *)\n              (*(int *)(*(int *)(BYTE_ARRAY_003a4e59 + unaff_EDI + 0x86) + 8) + 0x38e9);" (assignment_expression "local_36 = *(undefined1 *)\n              (*(int *)(*(int *)(BYTE_ARRAY_003a4e59 + unaff_EDI + 0x86) + 8) + 0x38e9)" identifier = (pointer_expression "*(undefined1 *)\n              (*(int *)(*(int *)(BYTE_ARRAY_003a4e59 + unaff_EDI + 0x86) + 8) + 0x38e9)" * (cast_expression "(undefined1 *)\n              (*(int *)(*(int *)(BYTE_ARRAY_003a4e59 + unaff_EDI + 0x86) + 8) + 0x38e9)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(*(int *)(BYTE_ARRAY_003a4e59 + unaff_EDI + 0x86) + 8) + 0x38e9)" ( (binary_expression "*(int *)(*(int *)(BYTE_ARRAY_003a4e59 + unaff_EDI + 0x86) + 8) + 0x38e9" (pointer_expression "*(int *)(*(int *)(BYTE_ARRAY_003a4e59 + unaff_EDI + 0x86) + 8)" * (cast_expression "(int *)(*(int *)(BYTE_ARRAY_003a4e59 + unaff_EDI + 0x86) + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(BYTE_ARRAY_003a4e59 + unaff_EDI + 0x86) + 8)" ( (binary_expression "*(int *)(BYTE_ARRAY_003a4e59 + unaff_EDI + 0x86) + 8" (pointer_expression "*(int *)(BYTE_ARRAY_003a4e59 + unaff_EDI + 0x86)" * (cast_expression "(int *)(BYTE_ARRAY_003a4e59 + unaff_EDI + 0x86)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(BYTE_ARRAY_003a4e59 + unaff_EDI + 0x86)" ( (binary_expression "BYTE_ARRAY_003a4e59 + unaff_EDI + 0x86" (binary_expression "BYTE_ARRAY_003a4e59 + unaff_EDI" identifier + identifier) + number_literal) )))) + number_literal) )))) + number_literal) ))))) ;) (expression_statement "local_34 = 0;" (assignment_expression "local_34 = 0" identifier = number_literal) ;) (expression_statement "local_30 = 0;" (assignment_expression "local_30 = 0" identifier = number_literal) ;) (expression_statement "uVar13 = *(uint *)(iVar5 + 0xa8);" (assignment_expression "uVar13 = *(uint *)(iVar5 + 0xa8)" identifier = (pointer_expression "*(uint *)(iVar5 + 0xa8)" * (cast_expression "(uint *)(iVar5 + 0xa8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 0xa8)" ( (binary_expression "iVar5 + 0xa8" identifier + number_literal) ))))) ;) (expression_statement "local_2c = 0;" (assignment_expression "local_2c = 0" identifier = number_literal) ;) (expression_statement "local_28 = 0;" (assignment_expression "local_28 = 0" identifier = number_literal) ;) (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 "local_20 = 0;" (assignment_expression "local_20 = 0" identifier = number_literal) ;) (expression_statement "local_68 = (int *)0x0;" (assignment_expression "local_68 = (int *)0x0" identifier = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_60 = (int *)0x0;" (assignment_expression "local_60 = (int *)0x0" identifier = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_38 = (byte)(uVar13 >> 0x1f);" (assignment_expression "local_38 = (byte)(uVar13 >> 0x1f)" identifier = (call_expression "(byte)(uVar13 >> 0x1f)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(uVar13 >> 0x1f)" ( (binary_expression "uVar13 >> 0x1f" identifier >> number_literal) )))) ;) (expression_statement "local_48[3] = ((int)uVar13 >> 0x1f ^ uVar13) - ((int)uVar13 >> 0x1f);" (assignment_expression "local_48[3] = ((int)uVar13 >> 0x1f ^ uVar13) - ((int)uVar13 >> 0x1f)" (subscript_expression "local_48[3]" identifier [ number_literal ]) = (binary_expression "((int)uVar13 >> 0x1f ^ uVar13) - ((int)uVar13 >> 0x1f)" (parenthesized_expression "((int)uVar13 >> 0x1f ^ uVar13)" ( (binary_expression "(int)uVar13 >> 0x1f ^ uVar13" (binary_expression "(int)uVar13 >> 0x1f" (cast_expression "(int)uVar13" ( (type_descriptor "int" primitive_type) ) identifier) >> number_literal) ^ identifier) )) - (parenthesized_expression "((int)uVar13 >> 0x1f)" ( (binary_expression "(int)uVar13 >> 0x1f" (cast_expression "(int)uVar13" ( (type_descriptor "int" primitive_type) ) identifier) >> number_literal) )))) ;) (expression_statement "local_5c = (int *)0x0;" (assignment_expression "local_5c = (int *)0x0" identifier = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_58 = (int *)0x0;" (assignment_expression "local_58 = (int *)0x0" identifier = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_54 = (int *)0x0;" (assignment_expression "local_54 = (int *)0x0" identifier = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (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)) ;) (expression_statement "local_4c = 0;" (assignment_expression "local_4c = 0" identifier = number_literal) ;) comment (expression_statement "FUN_0010bb60((int)((ulonglong)uVar18 >> 0x20),&local_54);" (call_expression "FUN_0010bb60((int)((ulonglong)uVar18 >> 0x20),&local_54)" identifier (argument_list "((int)((ulonglong)uVar18 >> 0x20),&local_54)" ( (cast_expression "(int)((ulonglong)uVar18 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)uVar18 >> 0x20)" ( (binary_expression "(ulonglong)uVar18 >> 0x20" (cast_expression "(ulonglong)uVar18" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) ))) , (pointer_expression "&local_54" & identifier) ))) ;) (expression_statement "FUN_000aba90(&local_74,(int)local_50 - (int)local_54 >> 2);" (call_expression "FUN_000aba90(&local_74,(int)local_50 - (int)local_54 >> 2)" identifier (argument_list "(&local_74,(int)local_50 - (int)local_54 >> 2)" ( (pointer_expression "&local_74" & identifier) , (binary_expression "(int)local_50 - (int)local_54 >> 2" (binary_expression "(int)local_50 - (int)local_54" (cast_expression "(int)local_50" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)local_54" ( (type_descriptor "int" primitive_type) ) identifier)) >> number_literal) ))) ;) (if_statement "if (local_74 == 0) {\n                    /* try { // try from 0006fd2a to 0006fd2e has its CatchHandler @ 0006fd86 */\n    FUN_0006eab0();\n  }\n  else {\n                    /* try { // try from 0006f702 to 0006f706 has its CatchHandler @ 0006fd86 */\n    FUN_0006f540(local_70,0);\n  }" if (parenthesized_expression "(local_74 == 0)" ( (binary_expression "local_74 == 0" identifier == number_literal) )) (compound_statement "{\n                    /* try { // try from 0006fd2a to 0006fd2e has its CatchHandler @ 0006fd86 */\n    FUN_0006eab0();\n  }" { comment (expression_statement "FUN_0006eab0();" (call_expression "FUN_0006eab0()" identifier (argument_list "()" ( ))) ;) }) (else_clause "else {\n                    /* try { // try from 0006f702 to 0006f706 has its CatchHandler @ 0006fd86 */\n    FUN_0006f540(local_70,0);\n  }" else (compound_statement "{\n                    /* try { // try from 0006f702 to 0006f706 has its CatchHandler @ 0006fd86 */\n    FUN_0006f540(local_70,0);\n  }" { comment (expression_statement "FUN_0006f540(local_70,0);" (call_expression "FUN_0006f540(local_70,0)" identifier (argument_list "(local_70,0)" ( identifier , number_literal ))) ;) }))) (expression_statement "FUN_002481e0(local_74,*(undefined4 *)(BYTE_ARRAY_003a4975 + unaff_EDI + 0x2e));" (call_expression "FUN_002481e0(local_74,*(undefined4 *)(BYTE_ARRAY_003a4975 + unaff_EDI + 0x2e))" identifier (argument_list "(local_74,*(undefined4 *)(BYTE_ARRAY_003a4975 + unaff_EDI + 0x2e))" ( identifier , (pointer_expression "*(undefined4 *)(BYTE_ARRAY_003a4975 + unaff_EDI + 0x2e)" * (cast_expression "(undefined4 *)(BYTE_ARRAY_003a4975 + unaff_EDI + 0x2e)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(BYTE_ARRAY_003a4975 + unaff_EDI + 0x2e)" ( (binary_expression "BYTE_ARRAY_003a4975 + unaff_EDI + 0x2e" (binary_expression "BYTE_ARRAY_003a4975 + unaff_EDI" identifier + identifier) + number_literal) )))) ))) ;) (expression_statement "local_7c = local_54;" (assignment_expression "local_7c = local_54" identifier = identifier) ;) (if_statement "if (local_54 != local_50) {\n    do {\n      iVar7 = *local_7c;\n      piVar15 = *(int **)(iVar7 + 0x6c);\n      if (piVar15 != *(int **)(iVar7 + 0x70)) {\n        do {\n          if (2 < *piVar15 + 3U) {\n            iVar7 = FUN_0015c600(piVar15);\n            uVar13 = FUN_0015c690(piVar15);\n            bVar17 = false;\n            if (uVar13 < (uint)((*(int *)(iVar7 + 0x19c) - *(int *)(iVar7 + 0x194)) +\n                               (*(int *)(iVar7 + 0x198) - *(int *)(iVar7 + 400)) * 8)) {\n              bVar17 = (*(uint *)(*(int *)(iVar7 + 400) + (uVar13 >> 5) * 4) &\n                       1 << ((byte)uVar13 & 0x1f)) != 0;\n            }\n            cVar4 = FUN_0004fea0(bVar17);\n            if (cVar4 == '\0') {\n              *local_68 = local_20;\n              local_68[1] = (int)local_24;\n              local_20 = *local_7c;\n              local_68 = (int *)0x0;\n              local_24 = piVar15;\nLAB_0006f76a:\n                    /* try { // try from 0006f772 to 0006f98f has its CatchHandler @ 0006fd94 */\n              local_68 = (int *)FUN_00246670(8);\n              *local_68 = 0;\n              local_68[1] = 0;\n              if (local_5c == local_58) {\n                FUN_00055630();\n              }\n              else {\n                *local_5c = (int)local_68;\n                local_5c = local_5c + 1;\n              }\n            }\n            else if (local_68 == (int *)0x0) goto LAB_0006f76a;\n            iVar12 = (int)local_5c - (int)local_60;\n            uVar13 = FUN_0015c690(piVar15);\n            iVar14 = *(int *)(iVar7 + 0x1a4);\n            iVar11 = *(int *)(iVar7 + 0x1a8);\n            uVar6 = iVar11 - iVar14 >> 2;\n            if (uVar6 <= uVar13) {\n              uVar1 = uVar13 + 1;\n              local_48[0] = -1;\n              if (uVar6 < uVar1) {\n                FUN_000aab90(iVar7 + 0x1a4,iVar11,uVar1 - uVar6,local_48);\n                iVar14 = *(int *)(iVar7 + 0x1a4);\n              }\n              else if ((uVar1 < uVar6) && (iVar2 = iVar14 + uVar1 * 4, iVar11 != iVar2)) {\n                *(int *)(iVar7 + 0x1a8) = iVar2;\n              }\n            }\n            *(int *)(iVar14 + uVar13 * 4) = (iVar12 >> 2) + -1;\n            iVar7 = *local_7c;\n          }\n          piVar15 = piVar15 + 6;\n        } while (*(int **)(iVar7 + 0x70) != piVar15);\n      }\n      local_7c = local_7c + 1;\n    } while (local_50 != local_7c);\n  }" if (parenthesized_expression "(local_54 != local_50)" ( (binary_expression "local_54 != local_50" identifier != identifier) )) (compound_statement "{\n    do {\n      iVar7 = *local_7c;\n      piVar15 = *(int **)(iVar7 + 0x6c);\n      if (piVar15 != *(int **)(iVar7 + 0x70)) {\n        do {\n          if (2 < *piVar15 + 3U) {\n            iVar7 = FUN_0015c600(piVar15);\n            uVar13 = FUN_0015c690(piVar15);\n            bVar17 = false;\n            if (uVar13 < (uint)((*(int *)(iVar7 + 0x19c) - *(int *)(iVar7 + 0x194)) +\n                               (*(int *)(iVar7 + 0x198) - *(int *)(iVar7 + 400)) * 8)) {\n              bVar17 = (*(uint *)(*(int *)(iVar7 + 400) + (uVar13 >> 5) * 4) &\n                       1 << ((byte)uVar13 & 0x1f)) != 0;\n            }\n            cVar4 = FUN_0004fea0(bVar17);\n            if (cVar4 == '\0') {\n              *local_68 = local_20;\n              local_68[1] = (int)local_24;\n              local_20 = *local_7c;\n              local_68 = (int *)0x0;\n              local_24 = piVar15;\nLAB_0006f76a:\n                    /* try { // try from 0006f772 to 0006f98f has its CatchHandler @ 0006fd94 */\n              local_68 = (int *)FUN_00246670(8);\n              *local_68 = 0;\n              local_68[1] = 0;\n              if (local_5c == local_58) {\n                FUN_00055630();\n              }\n              else {\n                *local_5c = (int)local_68;\n                local_5c = local_5c + 1;\n              }\n            }\n            else if (local_68 == (int *)0x0) goto LAB_0006f76a;\n            iVar12 = (int)local_5c - (int)local_60;\n            uVar13 = FUN_0015c690(piVar15);\n            iVar14 = *(int *)(iVar7 + 0x1a4);\n            iVar11 = *(int *)(iVar7 + 0x1a8);\n            uVar6 = iVar11 - iVar14 >> 2;\n            if (uVar6 <= uVar13) {\n              uVar1 = uVar13 + 1;\n              local_48[0] = -1;\n              if (uVar6 < uVar1) {\n                FUN_000aab90(iVar7 + 0x1a4,iVar11,uVar1 - uVar6,local_48);\n                iVar14 = *(int *)(iVar7 + 0x1a4);\n              }\n              else if ((uVar1 < uVar6) && (iVar2 = iVar14 + uVar1 * 4, iVar11 != iVar2)) {\n                *(int *)(iVar7 + 0x1a8) = iVar2;\n              }\n            }\n            *(int *)(iVar14 + uVar13 * 4) = (iVar12 >> 2) + -1;\n            iVar7 = *local_7c;\n          }\n          piVar15 = piVar15 + 6;\n        } while (*(int **)(iVar7 + 0x70) != piVar15);\n      }\n      local_7c = local_7c + 1;\n    } while (local_50 != local_7c);\n  }" { (do_statement "do {\n      iVar7 = *local_7c;\n      piVar15 = *(int **)(iVar7 + 0x6c);\n      if (piVar15 != *(int **)(iVar7 + 0x70)) {\n        do {\n          if (2 < *piVar15 + 3U) {\n            iVar7 = FUN_0015c600(piVar15);\n            uVar13 = FUN_0015c690(piVar15);\n            bVar17 = false;\n            if (uVar13 < (uint)((*(int *)(iVar7 + 0x19c) - *(int *)(iVar7 + 0x194)) +\n                               (*(int *)(iVar7 + 0x198) - *(int *)(iVar7 + 400)) * 8)) {\n              bVar17 = (*(uint *)(*(int *)(iVar7 + 400) + (uVar13 >> 5) * 4) &\n                       1 << ((byte)uVar13 & 0x1f)) != 0;\n            }\n            cVar4 = FUN_0004fea0(bVar17);\n            if (cVar4 == '\0') {\n              *local_68 = local_20;\n              local_68[1] = (int)local_24;\n              local_20 = *local_7c;\n              local_68 = (int *)0x0;\n              local_24 = piVar15;\nLAB_0006f76a:\n                    /* try { // try from 0006f772 to 0006f98f has its CatchHandler @ 0006fd94 */\n              local_68 = (int *)FUN_00246670(8);\n              *local_68 = 0;\n              local_68[1] = 0;\n              if (local_5c == local_58) {\n                FUN_00055630();\n              }\n              else {\n                *local_5c = (int)local_68;\n                local_5c = local_5c + 1;\n              }\n            }\n            else if (local_68 == (int *)0x0) goto LAB_0006f76a;\n            iVar12 = (int)local_5c - (int)local_60;\n            uVar13 = FUN_0015c690(piVar15);\n            iVar14 = *(int *)(iVar7 + 0x1a4);\n            iVar11 = *(int *)(iVar7 + 0x1a8);\n            uVar6 = iVar11 - iVar14 >> 2;\n            if (uVar6 <= uVar13) {\n              uVar1 = uVar13 + 1;\n              local_48[0] = -1;\n              if (uVar6 < uVar1) {\n                FUN_000aab90(iVar7 + 0x1a4,iVar11,uVar1 - uVar6,local_48);\n                iVar14 = *(int *)(iVar7 + 0x1a4);\n              }\n              else if ((uVar1 < uVar6) && (iVar2 = iVar14 + uVar1 * 4, iVar11 != iVar2)) {\n                *(int *)(iVar7 + 0x1a8) = iVar2;\n              }\n            }\n            *(int *)(iVar14 + uVar13 * 4) = (iVar12 >> 2) + -1;\n            iVar7 = *local_7c;\n          }\n          piVar15 = piVar15 + 6;\n        } while (*(int **)(iVar7 + 0x70) != piVar15);\n      }\n      local_7c = local_7c + 1;\n    } while (local_50 != local_7c);" do (compound_statement "{\n      iVar7 = *local_7c;\n      piVar15 = *(int **)(iVar7 + 0x6c);\n      if (piVar15 != *(int **)(iVar7 + 0x70)) {\n        do {\n          if (2 < *piVar15 + 3U) {\n            iVar7 = FUN_0015c600(piVar15);\n            uVar13 = FUN_0015c690(piVar15);\n            bVar17 = false;\n            if (uVar13 < (uint)((*(int *)(iVar7 + 0x19c) - *(int *)(iVar7 + 0x194)) +\n                               (*(int *)(iVar7 + 0x198) - *(int *)(iVar7 + 400)) * 8)) {\n              bVar17 = (*(uint *)(*(int *)(iVar7 + 400) + (uVar13 >> 5) * 4) &\n                       1 << ((byte)uVar13 & 0x1f)) != 0;\n            }\n            cVar4 = FUN_0004fea0(bVar17);\n            if (cVar4 == '\0') {\n              *local_68 = local_20;\n              local_68[1] = (int)local_24;\n              local_20 = *local_7c;\n              local_68 = (int *)0x0;\n              local_24 = piVar15;\nLAB_0006f76a:\n                    /* try { // try from 0006f772 to 0006f98f has its CatchHandler @ 0006fd94 */\n              local_68 = (int *)FUN_00246670(8);\n              *local_68 = 0;\n              local_68[1] = 0;\n              if (local_5c == local_58) {\n                FUN_00055630();\n              }\n              else {\n                *local_5c = (int)local_68;\n                local_5c = local_5c + 1;\n              }\n            }\n            else if (local_68 == (int *)0x0) goto LAB_0006f76a;\n            iVar12 = (int)local_5c - (int)local_60;\n            uVar13 = FUN_0015c690(piVar15);\n            iVar14 = *(int *)(iVar7 + 0x1a4);\n            iVar11 = *(int *)(iVar7 + 0x1a8);\n            uVar6 = iVar11 - iVar14 >> 2;\n            if (uVar6 <= uVar13) {\n              uVar1 = uVar13 + 1;\n              local_48[0] = -1;\n              if (uVar6 < uVar1) {\n                FUN_000aab90(iVar7 + 0x1a4,iVar11,uVar1 - uVar6,local_48);\n                iVar14 = *(int *)(iVar7 + 0x1a4);\n              }\n              else if ((uVar1 < uVar6) && (iVar2 = iVar14 + uVar1 * 4, iVar11 != iVar2)) {\n                *(int *)(iVar7 + 0x1a8) = iVar2;\n              }\n            }\n            *(int *)(iVar14 + uVar13 * 4) = (iVar12 >> 2) + -1;\n            iVar7 = *local_7c;\n          }\n          piVar15 = piVar15 + 6;\n        } while (*(int **)(iVar7 + 0x70) != piVar15);\n      }\n      local_7c = local_7c + 1;\n    }" { (expression_statement "iVar7 = *local_7c;" (assignment_expression "iVar7 = *local_7c" identifier = (pointer_expression "*local_7c" * identifier)) ;) (expression_statement "piVar15 = *(int **)(iVar7 + 0x6c);" (assignment_expression "piVar15 = *(int **)(iVar7 + 0x6c)" identifier = (pointer_expression "*(int **)(iVar7 + 0x6c)" * (cast_expression "(int **)(iVar7 + 0x6c)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar7 + 0x6c)" ( (binary_expression "iVar7 + 0x6c" identifier + number_literal) ))))) ;) (if_statement "if (piVar15 != *(int **)(iVar7 + 0x70)) {\n        do {\n          if (2 < *piVar15 + 3U) {\n            iVar7 = FUN_0015c600(piVar15);\n            uVar13 = FUN_0015c690(piVar15);\n            bVar17 = false;\n            if (uVar13 < (uint)((*(int *)(iVar7 + 0x19c) - *(int *)(iVar7 + 0x194)) +\n                               (*(int *)(iVar7 + 0x198) - *(int *)(iVar7 + 400)) * 8)) {\n              bVar17 = (*(uint *)(*(int *)(iVar7 + 400) + (uVar13 >> 5) * 4) &\n                       1 << ((byte)uVar13 & 0x1f)) != 0;\n            }\n            cVar4 = FUN_0004fea0(bVar17);\n            if (cVar4 == '\0') {\n              *local_68 = local_20;\n              local_68[1] = (int)local_24;\n              local_20 = *local_7c;\n              local_68 = (int *)0x0;\n              local_24 = piVar15;\nLAB_0006f76a:\n                    /* try { // try from 0006f772 to 0006f98f has its CatchHandler @ 0006fd94 */\n              local_68 = (int *)FUN_00246670(8);\n              *local_68 = 0;\n              local_68[1] = 0;\n              if (local_5c == local_58) {\n                FUN_00055630();\n              }\n              else {\n                *local_5c = (int)local_68;\n                local_5c = local_5c + 1;\n              }\n            }\n            else if (local_68 == (int *)0x0) goto LAB_0006f76a;\n            iVar12 = (int)local_5c - (int)local_60;\n            uVar13 = FUN_0015c690(piVar15);\n            iVar14 = *(int *)(iVar7 + 0x1a4);\n            iVar11 = *(int *)(iVar7 + 0x1a8);\n            uVar6 = iVar11 - iVar14 >> 2;\n            if (uVar6 <= uVar13) {\n              uVar1 = uVar13 + 1;\n              local_48[0] = -1;\n              if (uVar6 < uVar1) {\n                FUN_000aab90(iVar7 + 0x1a4,iVar11,uVar1 - uVar6,local_48);\n                iVar14 = *(int *)(iVar7 + 0x1a4);\n              }\n              else if ((uVar1 < uVar6) && (iVar2 = iVar14 + uVar1 * 4, iVar11 != iVar2)) {\n                *(int *)(iVar7 + 0x1a8) = iVar2;\n              }\n            }\n            *(int *)(iVar14 + uVar13 * 4) = (iVar12 >> 2) + -1;\n            iVar7 = *local_7c;\n          }\n          piVar15 = piVar15 + 6;\n        } while (*(int **)(iVar7 + 0x70) != piVar15);\n      }" if (parenthesized_expression "(piVar15 != *(int **)(iVar7 + 0x70))" ( (binary_expression "piVar15 != *(int **)(iVar7 + 0x70)" identifier != (pointer_expression "*(int **)(iVar7 + 0x70)" * (cast_expression "(int **)(iVar7 + 0x70)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar7 + 0x70)" ( (binary_expression "iVar7 + 0x70" identifier + number_literal) ))))) )) (compound_statement "{\n        do {\n          if (2 < *piVar15 + 3U) {\n            iVar7 = FUN_0015c600(piVar15);\n            uVar13 = FUN_0015c690(piVar15);\n            bVar17 = false;\n            if (uVar13 < (uint)((*(int *)(iVar7 + 0x19c) - *(int *)(iVar7 + 0x194)) +\n                               (*(int *)(iVar7 + 0x198) - *(int *)(iVar7 + 400)) * 8)) {\n              bVar17 = (*(uint *)(*(int *)(iVar7 + 400) + (uVar13 >> 5) * 4) &\n                       1 << ((byte)uVar13 & 0x1f)) != 0;\n            }\n            cVar4 = FUN_0004fea0(bVar17);\n            if (cVar4 == '\0') {\n              *local_68 = local_20;\n              local_68[1] = (int)local_24;\n              local_20 = *local_7c;\n              local_68 = (int *)0x0;\n              local_24 = piVar15;\nLAB_0006f76a:\n                    /* try { // try from 0006f772 to 0006f98f has its CatchHandler @ 0006fd94 */\n              local_68 = (int *)FUN_00246670(8);\n              *local_68 = 0;\n              local_68[1] = 0;\n              if (local_5c == local_58) {\n                FUN_00055630();\n              }\n              else {\n                *local_5c = (int)local_68;\n                local_5c = local_5c + 1;\n              }\n            }\n            else if (local_68 == (int *)0x0) goto LAB_0006f76a;\n            iVar12 = (int)local_5c - (int)local_60;\n            uVar13 = FUN_0015c690(piVar15);\n            iVar14 = *(int *)(iVar7 + 0x1a4);\n            iVar11 = *(int *)(iVar7 + 0x1a8);\n            uVar6 = iVar11 - iVar14 >> 2;\n            if (uVar6 <= uVar13) {\n              uVar1 = uVar13 + 1;\n              local_48[0] = -1;\n              if (uVar6 < uVar1) {\n                FUN_000aab90(iVar7 + 0x1a4,iVar11,uVar1 - uVar6,local_48);\n                iVar14 = *(int *)(iVar7 + 0x1a4);\n              }\n              else if ((uVar1 < uVar6) && (iVar2 = iVar14 + uVar1 * 4, iVar11 != iVar2)) {\n                *(int *)(iVar7 + 0x1a8) = iVar2;\n              }\n            }\n            *(int *)(iVar14 + uVar13 * 4) = (iVar12 >> 2) + -1;\n            iVar7 = *local_7c;\n          }\n          piVar15 = piVar15 + 6;\n        } while (*(int **)(iVar7 + 0x70) != piVar15);\n      }" { (do_statement "do {\n          if (2 < *piVar15 + 3U) {\n            iVar7 = FUN_0015c600(piVar15);\n            uVar13 = FUN_0015c690(piVar15);\n            bVar17 = false;\n            if (uVar13 < (uint)((*(int *)(iVar7 + 0x19c) - *(int *)(iVar7 + 0x194)) +\n                               (*(int *)(iVar7 + 0x198) - *(int *)(iVar7 + 400)) * 8)) {\n              bVar17 = (*(uint *)(*(int *)(iVar7 + 400) + (uVar13 >> 5) * 4) &\n                       1 << ((byte)uVar13 & 0x1f)) != 0;\n            }\n            cVar4 = FUN_0004fea0(bVar17);\n            if (cVar4 == '\0') {\n              *local_68 = local_20;\n              local_68[1] = (int)local_24;\n              local_20 = *local_7c;\n              local_68 = (int *)0x0;\n              local_24 = piVar15;\nLAB_0006f76a:\n                    /* try { // try from 0006f772 to 0006f98f has its CatchHandler @ 0006fd94 */\n              local_68 = (int *)FUN_00246670(8);\n              *local_68 = 0;\n              local_68[1] = 0;\n              if (local_5c == local_58) {\n                FUN_00055630();\n              }\n              else {\n                *local_5c = (int)local_68;\n                local_5c = local_5c + 1;\n              }\n            }\n            else if (local_68 == (int *)0x0) goto LAB_0006f76a;\n            iVar12 = (int)local_5c - (int)local_60;\n            uVar13 = FUN_0015c690(piVar15);\n            iVar14 = *(int *)(iVar7 + 0x1a4);\n            iVar11 = *(int *)(iVar7 + 0x1a8);\n            uVar6 = iVar11 - iVar14 >> 2;\n            if (uVar6 <= uVar13) {\n              uVar1 = uVar13 + 1;\n              local_48[0] = -1;\n              if (uVar6 < uVar1) {\n                FUN_000aab90(iVar7 + 0x1a4,iVar11,uVar1 - uVar6,local_48);\n                iVar14 = *(int *)(iVar7 + 0x1a4);\n              }\n              else if ((uVar1 < uVar6) && (iVar2 = iVar14 + uVar1 * 4, iVar11 != iVar2)) {\n                *(int *)(iVar7 + 0x1a8) = iVar2;\n              }\n            }\n            *(int *)(iVar14 + uVar13 * 4) = (iVar12 >> 2) + -1;\n            iVar7 = *local_7c;\n          }\n          piVar15 = piVar15 + 6;\n        } while (*(int **)(iVar7 + 0x70) != piVar15);" do (compound_statement "{\n          if (2 < *piVar15 + 3U) {\n            iVar7 = FUN_0015c600(piVar15);\n            uVar13 = FUN_0015c690(piVar15);\n            bVar17 = false;\n            if (uVar13 < (uint)((*(int *)(iVar7 + 0x19c) - *(int *)(iVar7 + 0x194)) +\n                               (*(int *)(iVar7 + 0x198) - *(int *)(iVar7 + 400)) * 8)) {\n              bVar17 = (*(uint *)(*(int *)(iVar7 + 400) + (uVar13 >> 5) * 4) &\n                       1 << ((byte)uVar13 & 0x1f)) != 0;\n            }\n            cVar4 = FUN_0004fea0(bVar17);\n            if (cVar4 == '\0') {\n              *local_68 = local_20;\n              local_68[1] = (int)local_24;\n              local_20 = *local_7c;\n              local_68 = (int *)0x0;\n              local_24 = piVar15;\nLAB_0006f76a:\n                    /* try { // try from 0006f772 to 0006f98f has its CatchHandler @ 0006fd94 */\n              local_68 = (int *)FUN_00246670(8);\n              *local_68 = 0;\n              local_68[1] = 0;\n              if (local_5c == local_58) {\n                FUN_00055630();\n              }\n              else {\n                *local_5c = (int)local_68;\n                local_5c = local_5c + 1;\n              }\n            }\n            else if (local_68 == (int *)0x0) goto LAB_0006f76a;\n            iVar12 = (int)local_5c - (int)local_60;\n            uVar13 = FUN_0015c690(piVar15);\n            iVar14 = *(int *)(iVar7 + 0x1a4);\n            iVar11 = *(int *)(iVar7 + 0x1a8);\n            uVar6 = iVar11 - iVar14 >> 2;\n            if (uVar6 <= uVar13) {\n              uVar1 = uVar13 + 1;\n              local_48[0] = -1;\n              if (uVar6 < uVar1) {\n                FUN_000aab90(iVar7 + 0x1a4,iVar11,uVar1 - uVar6,local_48);\n                iVar14 = *(int *)(iVar7 + 0x1a4);\n              }\n              else if ((uVar1 < uVar6) && (iVar2 = iVar14 + uVar1 * 4, iVar11 != iVar2)) {\n                *(int *)(iVar7 + 0x1a8) = iVar2;\n              }\n            }\n            *(int *)(iVar14 + uVar13 * 4) = (iVar12 >> 2) + -1;\n            iVar7 = *local_7c;\n          }\n          piVar15 = piVar15 + 6;\n        }" { (if_statement "if (2 < *piVar15 + 3U) {\n            iVar7 = FUN_0015c600(piVar15);\n            uVar13 = FUN_0015c690(piVar15);\n            bVar17 = false;\n            if (uVar13 < (uint)((*(int *)(iVar7 + 0x19c) - *(int *)(iVar7 + 0x194)) +\n                               (*(int *)(iVar7 + 0x198) - *(int *)(iVar7 + 400)) * 8)) {\n              bVar17 = (*(uint *)(*(int *)(iVar7 + 400) + (uVar13 >> 5) * 4) &\n                       1 << ((byte)uVar13 & 0x1f)) != 0;\n            }\n            cVar4 = FUN_0004fea0(bVar17);\n            if (cVar4 == '\0') {\n              *local_68 = local_20;\n              local_68[1] = (int)local_24;\n              local_20 = *local_7c;\n              local_68 = (int *)0x0;\n              local_24 = piVar15;\nLAB_0006f76a:\n                    /* try { // try from 0006f772 to 0006f98f has its CatchHandler @ 0006fd94 */\n              local_68 = (int *)FUN_00246670(8);\n              *local_68 = 0;\n              local_68[1] = 0;\n              if (local_5c == local_58) {\n                FUN_00055630();\n              }\n              else {\n                *local_5c = (int)local_68;\n                local_5c = local_5c + 1;\n              }\n            }\n            else if (local_68 == (int *)0x0) goto LAB_0006f76a;\n            iVar12 = (int)local_5c - (int)local_60;\n            uVar13 = FUN_0015c690(piVar15);\n            iVar14 = *(int *)(iVar7 + 0x1a4);\n            iVar11 = *(int *)(iVar7 + 0x1a8);\n            uVar6 = iVar11 - iVar14 >> 2;\n            if (uVar6 <= uVar13) {\n              uVar1 = uVar13 + 1;\n              local_48[0] = -1;\n              if (uVar6 < uVar1) {\n                FUN_000aab90(iVar7 + 0x1a4,iVar11,uVar1 - uVar6,local_48);\n                iVar14 = *(int *)(iVar7 + 0x1a4);\n              }\n              else if ((uVar1 < uVar6) && (iVar2 = iVar14 + uVar1 * 4, iVar11 != iVar2)) {\n                *(int *)(iVar7 + 0x1a8) = iVar2;\n              }\n            }\n            *(int *)(iVar14 + uVar13 * 4) = (iVar12 >> 2) + -1;\n            iVar7 = *local_7c;\n          }" if (parenthesized_expression "(2 < *piVar15 + 3U)" ( (binary_expression "2 < *piVar15 + 3U" number_literal < (binary_expression "*piVar15 + 3U" (pointer_expression "*piVar15" * identifier) + number_literal)) )) (compound_statement "{\n            iVar7 = FUN_0015c600(piVar15);\n            uVar13 = FUN_0015c690(piVar15);\n            bVar17 = false;\n            if (uVar13 < (uint)((*(int *)(iVar7 + 0x19c) - *(int *)(iVar7 + 0x194)) +\n                               (*(int *)(iVar7 + 0x198) - *(int *)(iVar7 + 400)) * 8)) {\n              bVar17 = (*(uint *)(*(int *)(iVar7 + 400) + (uVar13 >> 5) * 4) &\n                       1 << ((byte)uVar13 & 0x1f)) != 0;\n            }\n            cVar4 = FUN_0004fea0(bVar17);\n            if (cVar4 == '\0') {\n              *local_68 = local_20;\n              local_68[1] = (int)local_24;\n              local_20 = *local_7c;\n              local_68 = (int *)0x0;\n              local_24 = piVar15;\nLAB_0006f76a:\n                    /* try { // try from 0006f772 to 0006f98f has its CatchHandler @ 0006fd94 */\n              local_68 = (int *)FUN_00246670(8);\n              *local_68 = 0;\n              local_68[1] = 0;\n              if (local_5c == local_58) {\n                FUN_00055630();\n              }\n              else {\n                *local_5c = (int)local_68;\n                local_5c = local_5c + 1;\n              }\n            }\n            else if (local_68 == (int *)0x0) goto LAB_0006f76a;\n            iVar12 = (int)local_5c - (int)local_60;\n            uVar13 = FUN_0015c690(piVar15);\n            iVar14 = *(int *)(iVar7 + 0x1a4);\n            iVar11 = *(int *)(iVar7 + 0x1a8);\n            uVar6 = iVar11 - iVar14 >> 2;\n            if (uVar6 <= uVar13) {\n              uVar1 = uVar13 + 1;\n              local_48[0] = -1;\n              if (uVar6 < uVar1) {\n                FUN_000aab90(iVar7 + 0x1a4,iVar11,uVar1 - uVar6,local_48);\n                iVar14 = *(int *)(iVar7 + 0x1a4);\n              }\n              else if ((uVar1 < uVar6) && (iVar2 = iVar14 + uVar1 * 4, iVar11 != iVar2)) {\n                *(int *)(iVar7 + 0x1a8) = iVar2;\n              }\n            }\n            *(int *)(iVar14 + uVar13 * 4) = (iVar12 >> 2) + -1;\n            iVar7 = *local_7c;\n          }" { (expression_statement "iVar7 = FUN_0015c600(piVar15);" (assignment_expression "iVar7 = FUN_0015c600(piVar15)" identifier = (call_expression "FUN_0015c600(piVar15)" identifier (argument_list "(piVar15)" ( identifier )))) ;) (expression_statement "uVar13 = FUN_0015c690(piVar15);" (assignment_expression "uVar13 = FUN_0015c690(piVar15)" identifier = (call_expression "FUN_0015c690(piVar15)" identifier (argument_list "(piVar15)" ( identifier )))) ;) (expression_statement "bVar17 = false;" (assignment_expression "bVar17 = false" identifier = false) ;) (if_statement "if (uVar13 < (uint)((*(int *)(iVar7 + 0x19c) - *(int *)(iVar7 + 0x194)) +\n                               (*(int *)(iVar7 + 0x198) - *(int *)(iVar7 + 400)) * 8)) {\n              bVar17 = (*(uint *)(*(int *)(iVar7 + 400) + (uVar13 >> 5) * 4) &\n                       1 << ((byte)uVar13 & 0x1f)) != 0;\n            }" if (parenthesized_expression "(uVar13 < (uint)((*(int *)(iVar7 + 0x19c) - *(int *)(iVar7 + 0x194)) +\n                               (*(int *)(iVar7 + 0x198) - *(int *)(iVar7 + 400)) * 8))" ( (binary_expression "uVar13 < (uint)((*(int *)(iVar7 + 0x19c) - *(int *)(iVar7 + 0x194)) +\n                               (*(int *)(iVar7 + 0x198) - *(int *)(iVar7 + 400)) * 8)" identifier < (call_expression "(uint)((*(int *)(iVar7 + 0x19c) - *(int *)(iVar7 + 0x194)) +\n                               (*(int *)(iVar7 + 0x198) - *(int *)(iVar7 + 400)) * 8)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((*(int *)(iVar7 + 0x19c) - *(int *)(iVar7 + 0x194)) +\n                               (*(int *)(iVar7 + 0x198) - *(int *)(iVar7 + 400)) * 8)" ( (binary_expression "(*(int *)(iVar7 + 0x19c) - *(int *)(iVar7 + 0x194)) +\n                               (*(int *)(iVar7 + 0x198) - *(int *)(iVar7 + 400)) * 8" (parenthesized_expression "(*(int *)(iVar7 + 0x19c) - *(int *)(iVar7 + 0x194))" ( (binary_expression "*(int *)(iVar7 + 0x19c) - *(int *)(iVar7 + 0x194)" (pointer_expression "*(int *)(iVar7 + 0x19c)" * (cast_expression "(int *)(iVar7 + 0x19c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 0x19c)" ( (binary_expression "iVar7 + 0x19c" identifier + number_literal) )))) - (pointer_expression "*(int *)(iVar7 + 0x194)" * (cast_expression "(int *)(iVar7 + 0x194)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 0x194)" ( (binary_expression "iVar7 + 0x194" identifier + number_literal) ))))) )) + (binary_expression "(*(int *)(iVar7 + 0x198) - *(int *)(iVar7 + 400)) * 8" (parenthesized_expression "(*(int *)(iVar7 + 0x198) - *(int *)(iVar7 + 400))" ( (binary_expression "*(int *)(iVar7 + 0x198) - *(int *)(iVar7 + 400)" (pointer_expression "*(int *)(iVar7 + 0x198)" * (cast_expression "(int *)(iVar7 + 0x198)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 0x198)" ( (binary_expression "iVar7 + 0x198" identifier + number_literal) )))) - (pointer_expression "*(int *)(iVar7 + 400)" * (cast_expression "(int *)(iVar7 + 400)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 400)" ( (binary_expression "iVar7 + 400" identifier + number_literal) ))))) )) * number_literal)) )))) )) (compound_statement "{\n              bVar17 = (*(uint *)(*(int *)(iVar7 + 400) + (uVar13 >> 5) * 4) &\n                       1 << ((byte)uVar13 & 0x1f)) != 0;\n            }" { (expression_statement "bVar17 = (*(uint *)(*(int *)(iVar7 + 400) + (uVar13 >> 5) * 4) &\n                       1 << ((byte)uVar13 & 0x1f)) != 0;" (assignment_expression "bVar17 = (*(uint *)(*(int *)(iVar7 + 400) + (uVar13 >> 5) * 4) &\n                       1 << ((byte)uVar13 & 0x1f)) != 0" identifier = (binary_expression "(*(uint *)(*(int *)(iVar7 + 400) + (uVar13 >> 5) * 4) &\n                       1 << ((byte)uVar13 & 0x1f)) != 0" (parenthesized_expression "(*(uint *)(*(int *)(iVar7 + 400) + (uVar13 >> 5) * 4) &\n                       1 << ((byte)uVar13 & 0x1f))" ( (binary_expression "*(uint *)(*(int *)(iVar7 + 400) + (uVar13 >> 5) * 4) &\n                       1 << ((byte)uVar13 & 0x1f)" (pointer_expression "*(uint *)(*(int *)(iVar7 + 400) + (uVar13 >> 5) * 4)" * (cast_expression "(uint *)(*(int *)(iVar7 + 400) + (uVar13 >> 5) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(iVar7 + 400) + (uVar13 >> 5) * 4)" ( (binary_expression "*(int *)(iVar7 + 400) + (uVar13 >> 5) * 4" (pointer_expression "*(int *)(iVar7 + 400)" * (cast_expression "(int *)(iVar7 + 400)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 400)" ( (binary_expression "iVar7 + 400" identifier + number_literal) )))) + (binary_expression "(uVar13 >> 5) * 4" (parenthesized_expression "(uVar13 >> 5)" ( (binary_expression "uVar13 >> 5" identifier >> number_literal) )) * number_literal)) )))) & (binary_expression "1 << ((byte)uVar13 & 0x1f)" number_literal << (parenthesized_expression "((byte)uVar13 & 0x1f)" ( (binary_expression "(byte)uVar13 & 0x1f" (cast_expression "(byte)uVar13" ( (type_descriptor "byte" type_identifier) ) identifier) & number_literal) )))) )) != number_literal)) ;) })) (expression_statement "cVar4 = FUN_0004fea0(bVar17);" (assignment_expression "cVar4 = FUN_0004fea0(bVar17)" identifier = (call_expression "FUN_0004fea0(bVar17)" identifier (argument_list "(bVar17)" ( identifier )))) ;) (if_statement "if (cVar4 == '\0') {\n              *local_68 = local_20;\n              local_68[1] = (int)local_24;\n              local_20 = *local_7c;\n              local_68 = (int *)0x0;\n              local_24 = piVar15;\nLAB_0006f76a:\n                    /* try { // try from 0006f772 to 0006f98f has its CatchHandler @ 0006fd94 */\n              local_68 = (int *)FUN_00246670(8);\n              *local_68 = 0;\n              local_68[1] = 0;\n              if (local_5c == local_58) {\n                FUN_00055630();\n              }\n              else {\n                *local_5c = (int)local_68;\n                local_5c = local_5c + 1;\n              }\n            }\n            else if (local_68 == (int *)0x0) goto LAB_0006f76a;" if (parenthesized_expression "(cVar4 == '\0')" ( (binary_expression "cVar4 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n              *local_68 = local_20;\n              local_68[1] = (int)local_24;\n              local_20 = *local_7c;\n              local_68 = (int *)0x0;\n              local_24 = piVar15;\nLAB_0006f76a:\n                    /* try { // try from 0006f772 to 0006f98f has its CatchHandler @ 0006fd94 */\n              local_68 = (int *)FUN_00246670(8);\n              *local_68 = 0;\n              local_68[1] = 0;\n              if (local_5c == local_58) {\n                FUN_00055630();\n              }\n              else {\n                *local_5c = (int)local_68;\n                local_5c = local_5c + 1;\n              }\n            }" { (expression_statement "*local_68 = local_20;" (assignment_expression "*local_68 = local_20" (pointer_expression "*local_68" * identifier) = identifier) ;) (expression_statement "local_68[1] = (int)local_24;" (assignment_expression "local_68[1] = (int)local_24" (subscript_expression "local_68[1]" identifier [ number_literal ]) = (cast_expression "(int)local_24" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "local_20 = *local_7c;" (assignment_expression "local_20 = *local_7c" identifier = (pointer_expression "*local_7c" * identifier)) ;) (expression_statement "local_68 = (int *)0x0;" (assignment_expression "local_68 = (int *)0x0" identifier = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_24 = piVar15;" (assignment_expression "local_24 = piVar15" identifier = identifier) ;) (labeled_statement "LAB_0006f76a:\n                    /* try { // try from 0006f772 to 0006f98f has its CatchHandler @ 0006fd94 */\n              local_68 = (int *)FUN_00246670(8);" statement_identifier : comment (expression_statement "local_68 = (int *)FUN_00246670(8);" (assignment_expression "local_68 = (int *)FUN_00246670(8)" identifier = (cast_expression "(int *)FUN_00246670(8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_00246670(8)" identifier (argument_list "(8)" ( number_literal ))))) ;)) (expression_statement "*local_68 = 0;" (assignment_expression "*local_68 = 0" (pointer_expression "*local_68" * identifier) = number_literal) ;) (expression_statement "local_68[1] = 0;" (assignment_expression "local_68[1] = 0" (subscript_expression "local_68[1]" identifier [ number_literal ]) = number_literal) ;) (if_statement "if (local_5c == local_58) {\n                FUN_00055630();\n              }\n              else {\n                *local_5c = (int)local_68;\n                local_5c = local_5c + 1;\n              }" if (parenthesized_expression "(local_5c == local_58)" ( (binary_expression "local_5c == local_58" identifier == identifier) )) (compound_statement "{\n                FUN_00055630();\n              }" { (expression_statement "FUN_00055630();" (call_expression "FUN_00055630()" identifier (argument_list "()" ( ))) ;) }) (else_clause "else {\n                *local_5c = (int)local_68;\n                local_5c = local_5c + 1;\n              }" else (compound_statement "{\n                *local_5c = (int)local_68;\n                local_5c = local_5c + 1;\n              }" { (expression_statement "*local_5c = (int)local_68;" (assignment_expression "*local_5c = (int)local_68" (pointer_expression "*local_5c" * identifier) = (cast_expression "(int)local_68" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "local_5c = local_5c + 1;" (assignment_expression "local_5c = local_5c + 1" identifier = (binary_expression "local_5c + 1" identifier + number_literal)) ;) }))) }) (else_clause "else if (local_68 == (int *)0x0) goto LAB_0006f76a;" else (if_statement "if (local_68 == (int *)0x0) goto LAB_0006f76a;" if (parenthesized_expression "(local_68 == (int *)0x0)" ( (binary_expression "local_68 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_0006f76a;" goto statement_identifier ;)))) (expression_statement "iVar12 = (int)local_5c - (int)local_60;" (assignment_expression "iVar12 = (int)local_5c - (int)local_60" identifier = (binary_expression "(int)local_5c - (int)local_60" (cast_expression "(int)local_5c" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)local_60" ( (type_descriptor "int" primitive_type) ) identifier))) ;) (expression_statement "uVar13 = FUN_0015c690(piVar15);" (assignment_expression "uVar13 = FUN_0015c690(piVar15)" identifier = (call_expression "FUN_0015c690(piVar15)" identifier (argument_list "(piVar15)" ( identifier )))) ;) (expression_statement "iVar14 = *(int *)(iVar7 + 0x1a4);" (assignment_expression "iVar14 = *(int *)(iVar7 + 0x1a4)" identifier = (pointer_expression "*(int *)(iVar7 + 0x1a4)" * (cast_expression "(int *)(iVar7 + 0x1a4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 0x1a4)" ( (binary_expression "iVar7 + 0x1a4" identifier + number_literal) ))))) ;) (expression_statement "iVar11 = *(int *)(iVar7 + 0x1a8);" (assignment_expression "iVar11 = *(int *)(iVar7 + 0x1a8)" identifier = (pointer_expression "*(int *)(iVar7 + 0x1a8)" * (cast_expression "(int *)(iVar7 + 0x1a8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 0x1a8)" ( (binary_expression "iVar7 + 0x1a8" identifier + number_literal) ))))) ;) (expression_statement "uVar6 = iVar11 - iVar14 >> 2;" (assignment_expression "uVar6 = iVar11 - iVar14 >> 2" identifier = (binary_expression "iVar11 - iVar14 >> 2" (binary_expression "iVar11 - iVar14" identifier - identifier) >> number_literal)) ;) (if_statement "if (uVar6 <= uVar13) {\n              uVar1 = uVar13 + 1;\n              local_48[0] = -1;\n              if (uVar6 < uVar1) {\n                FUN_000aab90(iVar7 + 0x1a4,iVar11,uVar1 - uVar6,local_48);\n                iVar14 = *(int *)(iVar7 + 0x1a4);\n              }\n              else if ((uVar1 < uVar6) && (iVar2 = iVar14 + uVar1 * 4, iVar11 != iVar2)) {\n                *(int *)(iVar7 + 0x1a8) = iVar2;\n              }\n            }" if (parenthesized_expression "(uVar6 <= uVar13)" ( (binary_expression "uVar6 <= uVar13" identifier <= identifier) )) (compound_statement "{\n              uVar1 = uVar13 + 1;\n              local_48[0] = -1;\n              if (uVar6 < uVar1) {\n                FUN_000aab90(iVar7 + 0x1a4,iVar11,uVar1 - uVar6,local_48);\n                iVar14 = *(int *)(iVar7 + 0x1a4);\n              }\n              else if ((uVar1 < uVar6) && (iVar2 = iVar14 + uVar1 * 4, iVar11 != iVar2)) {\n                *(int *)(iVar7 + 0x1a8) = iVar2;\n              }\n            }" { (expression_statement "uVar1 = uVar13 + 1;" (assignment_expression "uVar1 = uVar13 + 1" identifier = (binary_expression "uVar13 + 1" identifier + number_literal)) ;) (expression_statement "local_48[0] = -1;" (assignment_expression "local_48[0] = -1" (subscript_expression "local_48[0]" identifier [ number_literal ]) = number_literal) ;) (if_statement "if (uVar6 < uVar1) {\n                FUN_000aab90(iVar7 + 0x1a4,iVar11,uVar1 - uVar6,local_48);\n                iVar14 = *(int *)(iVar7 + 0x1a4);\n              }\n              else if ((uVar1 < uVar6) && (iVar2 = iVar14 + uVar1 * 4, iVar11 != iVar2)) {\n                *(int *)(iVar7 + 0x1a8) = iVar2;\n              }" if (parenthesized_expression "(uVar6 < uVar1)" ( (binary_expression "uVar6 < uVar1" identifier < identifier) )) (compound_statement "{\n                FUN_000aab90(iVar7 + 0x1a4,iVar11,uVar1 - uVar6,local_48);\n                iVar14 = *(int *)(iVar7 + 0x1a4);\n              }" { (expression_statement "FUN_000aab90(iVar7 + 0x1a4,iVar11,uVar1 - uVar6,local_48);" (call_expression "FUN_000aab90(iVar7 + 0x1a4,iVar11,uVar1 - uVar6,local_48)" identifier (argument_list "(iVar7 + 0x1a4,iVar11,uVar1 - uVar6,local_48)" ( (binary_expression "iVar7 + 0x1a4" identifier + number_literal) , identifier , (binary_expression "uVar1 - uVar6" identifier - identifier) , identifier ))) ;) (expression_statement "iVar14 = *(int *)(iVar7 + 0x1a4);" (assignment_expression "iVar14 = *(int *)(iVar7 + 0x1a4)" identifier = (pointer_expression "*(int *)(iVar7 + 0x1a4)" * (cast_expression "(int *)(iVar7 + 0x1a4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 0x1a4)" ( (binary_expression "iVar7 + 0x1a4" identifier + number_literal) ))))) ;) }) (else_clause "else if ((uVar1 < uVar6) && (iVar2 = iVar14 + uVar1 * 4, iVar11 != iVar2)) {\n                *(int *)(iVar7 + 0x1a8) = iVar2;\n              }" else (if_statement "if ((uVar1 < uVar6) && (iVar2 = iVar14 + uVar1 * 4, iVar11 != iVar2)) {\n                *(int *)(iVar7 + 0x1a8) = iVar2;\n              }" if (parenthesized_expression "((uVar1 < uVar6) && (iVar2 = iVar14 + uVar1 * 4, iVar11 != iVar2))" ( (binary_expression "(uVar1 < uVar6) && (iVar2 = iVar14 + uVar1 * 4, iVar11 != iVar2)" (parenthesized_expression "(uVar1 < uVar6)" ( (binary_expression "uVar1 < uVar6" identifier < identifier) )) && (parenthesized_expression "(iVar2 = iVar14 + uVar1 * 4, iVar11 != iVar2)" ( (comma_expression "iVar2 = iVar14 + uVar1 * 4, iVar11 != iVar2" (assignment_expression "iVar2 = iVar14 + uVar1 * 4" identifier = (binary_expression "iVar14 + uVar1 * 4" identifier + (binary_expression "uVar1 * 4" identifier * number_literal))) , (binary_expression "iVar11 != iVar2" identifier != identifier)) ))) )) (compound_statement "{\n                *(int *)(iVar7 + 0x1a8) = iVar2;\n              }" { (expression_statement "*(int *)(iVar7 + 0x1a8) = iVar2;" (assignment_expression "*(int *)(iVar7 + 0x1a8) = iVar2" (pointer_expression "*(int *)(iVar7 + 0x1a8)" * (cast_expression "(int *)(iVar7 + 0x1a8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 0x1a8)" ( (binary_expression "iVar7 + 0x1a8" identifier + number_literal) )))) = identifier) ;) })))) })) (expression_statement "*(int *)(iVar14 + uVar13 * 4) = (iVar12 >> 2) + -1;" (assignment_expression "*(int *)(iVar14 + uVar13 * 4) = (iVar12 >> 2) + -1" (pointer_expression "*(int *)(iVar14 + uVar13 * 4)" * (cast_expression "(int *)(iVar14 + uVar13 * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar14 + uVar13 * 4)" ( (binary_expression "iVar14 + uVar13 * 4" identifier + (binary_expression "uVar13 * 4" identifier * number_literal)) )))) = (binary_expression "(iVar12 >> 2) + -1" (parenthesized_expression "(iVar12 >> 2)" ( (binary_expression "iVar12 >> 2" identifier >> number_literal) )) + number_literal)) ;) (expression_statement "iVar7 = *local_7c;" (assignment_expression "iVar7 = *local_7c" identifier = (pointer_expression "*local_7c" * identifier)) ;) })) (expression_statement "piVar15 = piVar15 + 6;" (assignment_expression "piVar15 = piVar15 + 6" identifier = (binary_expression "piVar15 + 6" identifier + number_literal)) ;) }) while (parenthesized_expression "(*(int **)(iVar7 + 0x70) != piVar15)" ( (binary_expression "*(int **)(iVar7 + 0x70) != piVar15" (pointer_expression "*(int **)(iVar7 + 0x70)" * (cast_expression "(int **)(iVar7 + 0x70)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar7 + 0x70)" ( (binary_expression "iVar7 + 0x70" identifier + number_literal) )))) != identifier) )) ;) })) (expression_statement "local_7c = local_7c + 1;" (assignment_expression "local_7c = local_7c + 1" identifier = (binary_expression "local_7c + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(local_50 != local_7c)" ( (binary_expression "local_50 != local_7c" identifier != identifier) )) ;) })) (if_statement "if (local_68 != (int *)0x0) {\n    *local_68 = local_20;\n    local_68[1] = (int)local_24;\n  }" if (parenthesized_expression "(local_68 != (int *)0x0)" ( (binary_expression "local_68 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    *local_68 = local_20;\n    local_68[1] = (int)local_24;\n  }" { (expression_statement "*local_68 = local_20;" (assignment_expression "*local_68 = local_20" (pointer_expression "*local_68" * identifier) = identifier) ;) (expression_statement "local_68[1] = (int)local_24;" (assignment_expression "local_68[1] = (int)local_24" (subscript_expression "local_68[1]" identifier [ number_literal ]) = (cast_expression "(int)local_24" ( (type_descriptor "int" primitive_type) ) identifier)) ;) })) (expression_statement "local_7c = local_60;" (assignment_expression "local_7c = local_60" identifier = identifier) ;) (if_statement "if (local_60 != local_5c) {\n    do {\n      piVar15 = (int *)((undefined4 *)*local_7c)[1];\n      if (*piVar15 + 4U < 4) {\n        if (*piVar15 != -4) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0006fd4d to 0006fd51 has its CatchHandler @ 0006fd94 */\n          FUN_000da200(unaff_EDI + 0x28787b,0xcc1,unaff_EDI + 0x2866cf);\n        }\n        piVar8 = (int *)piVar15[4];\nLAB_0006f914:\n        puVar16 = *(undefined4 **)(iVar5 + 0x50);\n        if (puVar16 == *(undefined4 **)(iVar5 + 0x54)) goto LAB_0006fbb0;\nLAB_0006f926:\n        *puVar16 = piVar8;\n        *(undefined4 **)(iVar5 + 0x50) = puVar16 + 1;\n      }\n      else {\n        uVar3 = *(undefined4 *)*local_7c;\n        iVar7 = *(int *)(iVar5 + 0x50);\n        iVar14 = *(int *)(iVar5 + 0x4c);\n        piVar8 = (int *)FUN_00246670(0xb0);\n                    /* try { // try from 0006f998 to 0006f9e1 has its CatchHandler @ 0006fd8d */\n        piVar9 = (int *)FUN_0015c600(piVar15);\n        uVar10 = FUN_0015c690(piVar15);\n        uVar18 = (**(code **)(*piVar9 + 0x5c))(piVar9,uVar10);\n        iVar11 = FUN_0015c690(piVar15);\n        iVar12 = FUN_0015c600(piVar15);\n        piVar8[0xb] = iVar12;\n        *(byte *)(piVar8 + 7) = *(byte *)(piVar8 + 7) & 0xe0;\n        piVar8[9] = (int)uVar18;\n        piVar8[0xc] = iVar11;\n        piVar8[1] = 0;\n        piVar8[2] = 0;\n        piVar8[3] = 0;\n        piVar8[4] = 0;\n        piVar8[5] = -1;\n        piVar8[6] = -1;\n        piVar8[8] = 0;\n        piVar8[10] = (int)((ulonglong)uVar18 >> 0x20);\n        piVar8[0xd] = iVar5;\n        *piVar8 = unaff_EDI + 0x39d467;\n        uVar13 = 0;\n        do {\n          *(undefined4 *)((int)piVar8 + uVar13 + 0x38) = 0;\n          uVar13 = uVar13 + 4;\n        } while (uVar13 < 0x1c);\n        piVar8[0xf] = 1;\n        piVar8[0x10] = 0;\n        piVar8[0x11] = 0;\n        piVar8[0x12] = 0x3f800000;\n        piVar8[0x13] = 0;\n        piVar8[0x14] = 0;\n        piVar8[0xe] = (int)(piVar8 + 0x14);\n        uVar13 = 0;\n        do {\n          *(undefined4 *)((int)piVar8 + uVar13 + 0x54) = 0;\n          uVar13 = uVar13 + 4;\n        } while (uVar13 < 0x1c);\n        piVar8[0x16] = 1;\n        piVar8[0x15] = (int)(piVar8 + 0x1b);\n        piVar8[0x17] = 0;\n        piVar8[0x18] = 0;\n        piVar8[0x19] = 0x3f800000;\n        piVar8[0x1a] = 0;\n        piVar8[0x1b] = 0;\n                    /* try { // try from 0006fadc to 0006fb48 has its CatchHandler @ 0006fd7f */\n        iVar11 = FUN_0015c560(piVar15);\n        piVar8[0x1c] = iVar11;\n        piVar8[0x1d] = 0;\n        piVar8[0x1e] = 0;\n        piVar8[0x1f] = 0;\n        piVar8[0x20] = 0;\n        piVar8[0x21] = 0;\n        piVar8[0x22] = 0;\n        *(undefined1 *)(piVar8 + 0x23) = 0;\n        piVar8[0x24] = iVar7 - iVar14 >> 2;\n        piVar8[0x25] = -1;\n        piVar8[0x26] = 0;\n        FUN_0015c3f0(piVar8,uVar3);\n        local_48[0] = 0;\n        local_48[1] = 0;\n        local_48[2] = 0;\n        local_64 = piVar8;\n                    /* try { // try from 0006fb6b to 0006fb7c has its CatchHandler @ 0006fd78 */\n        FUN_000abc70(local_48,&local_64);\n        FUN_00164400(uVar3,local_48);\n        if (local_48[0] == 0) goto LAB_0006f914;\n        FUN_00248220(local_48[0]);\n        puVar16 = *(undefined4 **)(iVar5 + 0x50);\n        if (puVar16 != *(undefined4 **)(iVar5 + 0x54)) goto LAB_0006f926;\nLAB_0006fbb0:\n        __src = *(undefined4 **)(iVar5 + 0x4c);\n        __n = (int)puVar16 - (int)__src;\n        uVar13 = (int)__n >> 2;\n        if (uVar13 == 0) {\n          local_8c = 4;\nLAB_0006fbe3:\n                    /* try { // try from 0006fbef to 0006fc9a has its CatchHandler @ 0006fd94 */\n          __dest = (void *)FUN_00246670(local_8c);\n          local_8c = local_8c + (int)__dest;\n        }\n        else {\n          local_8c = -4;\n          uVar6 = uVar13 * 2;\n          if ((uVar6 < uVar13) || (0x3fffffff < uVar6)) goto LAB_0006fbe3;\n          if (uVar6 != 0) {\n            local_8c = uVar13 << 3;\n            goto LAB_0006fbe3;\n          }\n          local_8c = 0;\n          __dest = (void *)0x0;\n        }\n        *(int **)((int)__dest + __n) = piVar8;\n        if (puVar16 == __src) {\n          if (__src != (undefined4 *)0x0) goto LAB_0006fc33;\n        }\n        else {\n          memmove(__dest,__src,__n);\nLAB_0006fc33:\n          FUN_00248220(__src);\n        }\n        *(void **)(iVar5 + 0x4c) = __dest;\n        *(size_t *)(iVar5 + 0x50) = (int)__dest + __n + 4;\n        *(int *)(iVar5 + 0x54) = local_8c;\n      }\n      FUN_00248200(*local_7c,8);\n      local_7c = local_7c + 1;\n    } while (local_5c != local_7c);\n  }" if (parenthesized_expression "(local_60 != local_5c)" ( (binary_expression "local_60 != local_5c" identifier != identifier) )) (compound_statement "{\n    do {\n      piVar15 = (int *)((undefined4 *)*local_7c)[1];\n      if (*piVar15 + 4U < 4) {\n        if (*piVar15 != -4) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0006fd4d to 0006fd51 has its CatchHandler @ 0006fd94 */\n          FUN_000da200(unaff_EDI + 0x28787b,0xcc1,unaff_EDI + 0x2866cf);\n        }\n        piVar8 = (int *)piVar15[4];\nLAB_0006f914:\n        puVar16 = *(undefined4 **)(iVar5 + 0x50);\n        if (puVar16 == *(undefined4 **)(iVar5 + 0x54)) goto LAB_0006fbb0;\nLAB_0006f926:\n        *puVar16 = piVar8;\n        *(undefined4 **)(iVar5 + 0x50) = puVar16 + 1;\n      }\n      else {\n        uVar3 = *(undefined4 *)*local_7c;\n        iVar7 = *(int *)(iVar5 + 0x50);\n        iVar14 = *(int *)(iVar5 + 0x4c);\n        piVar8 = (int *)FUN_00246670(0xb0);\n                    /* try { // try from 0006f998 to 0006f9e1 has its CatchHandler @ 0006fd8d */\n        piVar9 = (int *)FUN_0015c600(piVar15);\n        uVar10 = FUN_0015c690(piVar15);\n        uVar18 = (**(code **)(*piVar9 + 0x5c))(piVar9,uVar10);\n        iVar11 = FUN_0015c690(piVar15);\n        iVar12 = FUN_0015c600(piVar15);\n        piVar8[0xb] = iVar12;\n        *(byte *)(piVar8 + 7) = *(byte *)(piVar8 + 7) & 0xe0;\n        piVar8[9] = (int)uVar18;\n        piVar8[0xc] = iVar11;\n        piVar8[1] = 0;\n        piVar8[2] = 0;\n        piVar8[3] = 0;\n        piVar8[4] = 0;\n        piVar8[5] = -1;\n        piVar8[6] = -1;\n        piVar8[8] = 0;\n        piVar8[10] = (int)((ulonglong)uVar18 >> 0x20);\n        piVar8[0xd] = iVar5;\n        *piVar8 = unaff_EDI + 0x39d467;\n        uVar13 = 0;\n        do {\n          *(undefined4 *)((int)piVar8 + uVar13 + 0x38) = 0;\n          uVar13 = uVar13 + 4;\n        } while (uVar13 < 0x1c);\n        piVar8[0xf] = 1;\n        piVar8[0x10] = 0;\n        piVar8[0x11] = 0;\n        piVar8[0x12] = 0x3f800000;\n        piVar8[0x13] = 0;\n        piVar8[0x14] = 0;\n        piVar8[0xe] = (int)(piVar8 + 0x14);\n        uVar13 = 0;\n        do {\n          *(undefined4 *)((int)piVar8 + uVar13 + 0x54) = 0;\n          uVar13 = uVar13 + 4;\n        } while (uVar13 < 0x1c);\n        piVar8[0x16] = 1;\n        piVar8[0x15] = (int)(piVar8 + 0x1b);\n        piVar8[0x17] = 0;\n        piVar8[0x18] = 0;\n        piVar8[0x19] = 0x3f800000;\n        piVar8[0x1a] = 0;\n        piVar8[0x1b] = 0;\n                    /* try { // try from 0006fadc to 0006fb48 has its CatchHandler @ 0006fd7f */\n        iVar11 = FUN_0015c560(piVar15);\n        piVar8[0x1c] = iVar11;\n        piVar8[0x1d] = 0;\n        piVar8[0x1e] = 0;\n        piVar8[0x1f] = 0;\n        piVar8[0x20] = 0;\n        piVar8[0x21] = 0;\n        piVar8[0x22] = 0;\n        *(undefined1 *)(piVar8 + 0x23) = 0;\n        piVar8[0x24] = iVar7 - iVar14 >> 2;\n        piVar8[0x25] = -1;\n        piVar8[0x26] = 0;\n        FUN_0015c3f0(piVar8,uVar3);\n        local_48[0] = 0;\n        local_48[1] = 0;\n        local_48[2] = 0;\n        local_64 = piVar8;\n                    /* try { // try from 0006fb6b to 0006fb7c has its CatchHandler @ 0006fd78 */\n        FUN_000abc70(local_48,&local_64);\n        FUN_00164400(uVar3,local_48);\n        if (local_48[0] == 0) goto LAB_0006f914;\n        FUN_00248220(local_48[0]);\n        puVar16 = *(undefined4 **)(iVar5 + 0x50);\n        if (puVar16 != *(undefined4 **)(iVar5 + 0x54)) goto LAB_0006f926;\nLAB_0006fbb0:\n        __src = *(undefined4 **)(iVar5 + 0x4c);\n        __n = (int)puVar16 - (int)__src;\n        uVar13 = (int)__n >> 2;\n        if (uVar13 == 0) {\n          local_8c = 4;\nLAB_0006fbe3:\n                    /* try { // try from 0006fbef to 0006fc9a has its CatchHandler @ 0006fd94 */\n          __dest = (void *)FUN_00246670(local_8c);\n          local_8c = local_8c + (int)__dest;\n        }\n        else {\n          local_8c = -4;\n          uVar6 = uVar13 * 2;\n          if ((uVar6 < uVar13) || (0x3fffffff < uVar6)) goto LAB_0006fbe3;\n          if (uVar6 != 0) {\n            local_8c = uVar13 << 3;\n            goto LAB_0006fbe3;\n          }\n          local_8c = 0;\n          __dest = (void *)0x0;\n        }\n        *(int **)((int)__dest + __n) = piVar8;\n        if (puVar16 == __src) {\n          if (__src != (undefined4 *)0x0) goto LAB_0006fc33;\n        }\n        else {\n          memmove(__dest,__src,__n);\nLAB_0006fc33:\n          FUN_00248220(__src);\n        }\n        *(void **)(iVar5 + 0x4c) = __dest;\n        *(size_t *)(iVar5 + 0x50) = (int)__dest + __n + 4;\n        *(int *)(iVar5 + 0x54) = local_8c;\n      }\n      FUN_00248200(*local_7c,8);\n      local_7c = local_7c + 1;\n    } while (local_5c != local_7c);\n  }" { (do_statement "do {\n      piVar15 = (int *)((undefined4 *)*local_7c)[1];\n      if (*piVar15 + 4U < 4) {\n        if (*piVar15 != -4) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0006fd4d to 0006fd51 has its CatchHandler @ 0006fd94 */\n          FUN_000da200(unaff_EDI + 0x28787b,0xcc1,unaff_EDI + 0x2866cf);\n        }\n        piVar8 = (int *)piVar15[4];\nLAB_0006f914:\n        puVar16 = *(undefined4 **)(iVar5 + 0x50);\n        if (puVar16 == *(undefined4 **)(iVar5 + 0x54)) goto LAB_0006fbb0;\nLAB_0006f926:\n        *puVar16 = piVar8;\n        *(undefined4 **)(iVar5 + 0x50) = puVar16 + 1;\n      }\n      else {\n        uVar3 = *(undefined4 *)*local_7c;\n        iVar7 = *(int *)(iVar5 + 0x50);\n        iVar14 = *(int *)(iVar5 + 0x4c);\n        piVar8 = (int *)FUN_00246670(0xb0);\n                    /* try { // try from 0006f998 to 0006f9e1 has its CatchHandler @ 0006fd8d */\n        piVar9 = (int *)FUN_0015c600(piVar15);\n        uVar10 = FUN_0015c690(piVar15);\n        uVar18 = (**(code **)(*piVar9 + 0x5c))(piVar9,uVar10);\n        iVar11 = FUN_0015c690(piVar15);\n        iVar12 = FUN_0015c600(piVar15);\n        piVar8[0xb] = iVar12;\n        *(byte *)(piVar8 + 7) = *(byte *)(piVar8 + 7) & 0xe0;\n        piVar8[9] = (int)uVar18;\n        piVar8[0xc] = iVar11;\n        piVar8[1] = 0;\n        piVar8[2] = 0;\n        piVar8[3] = 0;\n        piVar8[4] = 0;\n        piVar8[5] = -1;\n        piVar8[6] = -1;\n        piVar8[8] = 0;\n        piVar8[10] = (int)((ulonglong)uVar18 >> 0x20);\n        piVar8[0xd] = iVar5;\n        *piVar8 = unaff_EDI + 0x39d467;\n        uVar13 = 0;\n        do {\n          *(undefined4 *)((int)piVar8 + uVar13 + 0x38) = 0;\n          uVar13 = uVar13 + 4;\n        } while (uVar13 < 0x1c);\n        piVar8[0xf] = 1;\n        piVar8[0x10] = 0;\n        piVar8[0x11] = 0;\n        piVar8[0x12] = 0x3f800000;\n        piVar8[0x13] = 0;\n        piVar8[0x14] = 0;\n        piVar8[0xe] = (int)(piVar8 + 0x14);\n        uVar13 = 0;\n        do {\n          *(undefined4 *)((int)piVar8 + uVar13 + 0x54) = 0;\n          uVar13 = uVar13 + 4;\n        } while (uVar13 < 0x1c);\n        piVar8[0x16] = 1;\n        piVar8[0x15] = (int)(piVar8 + 0x1b);\n        piVar8[0x17] = 0;\n        piVar8[0x18] = 0;\n        piVar8[0x19] = 0x3f800000;\n        piVar8[0x1a] = 0;\n        piVar8[0x1b] = 0;\n                    /* try { // try from 0006fadc to 0006fb48 has its CatchHandler @ 0006fd7f */\n        iVar11 = FUN_0015c560(piVar15);\n        piVar8[0x1c] = iVar11;\n        piVar8[0x1d] = 0;\n        piVar8[0x1e] = 0;\n        piVar8[0x1f] = 0;\n        piVar8[0x20] = 0;\n        piVar8[0x21] = 0;\n        piVar8[0x22] = 0;\n        *(undefined1 *)(piVar8 + 0x23) = 0;\n        piVar8[0x24] = iVar7 - iVar14 >> 2;\n        piVar8[0x25] = -1;\n        piVar8[0x26] = 0;\n        FUN_0015c3f0(piVar8,uVar3);\n        local_48[0] = 0;\n        local_48[1] = 0;\n        local_48[2] = 0;\n        local_64 = piVar8;\n                    /* try { // try from 0006fb6b to 0006fb7c has its CatchHandler @ 0006fd78 */\n        FUN_000abc70(local_48,&local_64);\n        FUN_00164400(uVar3,local_48);\n        if (local_48[0] == 0) goto LAB_0006f914;\n        FUN_00248220(local_48[0]);\n        puVar16 = *(undefined4 **)(iVar5 + 0x50);\n        if (puVar16 != *(undefined4 **)(iVar5 + 0x54)) goto LAB_0006f926;\nLAB_0006fbb0:\n        __src = *(undefined4 **)(iVar5 + 0x4c);\n        __n = (int)puVar16 - (int)__src;\n        uVar13 = (int)__n >> 2;\n        if (uVar13 == 0) {\n          local_8c = 4;\nLAB_0006fbe3:\n                    /* try { // try from 0006fbef to 0006fc9a has its CatchHandler @ 0006fd94 */\n          __dest = (void *)FUN_00246670(local_8c);\n          local_8c = local_8c + (int)__dest;\n        }\n        else {\n          local_8c = -4;\n          uVar6 = uVar13 * 2;\n          if ((uVar6 < uVar13) || (0x3fffffff < uVar6)) goto LAB_0006fbe3;\n          if (uVar6 != 0) {\n            local_8c = uVar13 << 3;\n            goto LAB_0006fbe3;\n          }\n          local_8c = 0;\n          __dest = (void *)0x0;\n        }\n        *(int **)((int)__dest + __n) = piVar8;\n        if (puVar16 == __src) {\n          if (__src != (undefined4 *)0x0) goto LAB_0006fc33;\n        }\n        else {\n          memmove(__dest,__src,__n);\nLAB_0006fc33:\n          FUN_00248220(__src);\n        }\n        *(void **)(iVar5 + 0x4c) = __dest;\n        *(size_t *)(iVar5 + 0x50) = (int)__dest + __n + 4;\n        *(int *)(iVar5 + 0x54) = local_8c;\n      }\n      FUN_00248200(*local_7c,8);\n      local_7c = local_7c + 1;\n    } while (local_5c != local_7c);" do (compound_statement "{\n      piVar15 = (int *)((undefined4 *)*local_7c)[1];\n      if (*piVar15 + 4U < 4) {\n        if (*piVar15 != -4) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0006fd4d to 0006fd51 has its CatchHandler @ 0006fd94 */\n          FUN_000da200(unaff_EDI + 0x28787b,0xcc1,unaff_EDI + 0x2866cf);\n        }\n        piVar8 = (int *)piVar15[4];\nLAB_0006f914:\n        puVar16 = *(undefined4 **)(iVar5 + 0x50);\n        if (puVar16 == *(undefined4 **)(iVar5 + 0x54)) goto LAB_0006fbb0;\nLAB_0006f926:\n        *puVar16 = piVar8;\n        *(undefined4 **)(iVar5 + 0x50) = puVar16 + 1;\n      }\n      else {\n        uVar3 = *(undefined4 *)*local_7c;\n        iVar7 = *(int *)(iVar5 + 0x50);\n        iVar14 = *(int *)(iVar5 + 0x4c);\n        piVar8 = (int *)FUN_00246670(0xb0);\n                    /* try { // try from 0006f998 to 0006f9e1 has its CatchHandler @ 0006fd8d */\n        piVar9 = (int *)FUN_0015c600(piVar15);\n        uVar10 = FUN_0015c690(piVar15);\n        uVar18 = (**(code **)(*piVar9 + 0x5c))(piVar9,uVar10);\n        iVar11 = FUN_0015c690(piVar15);\n        iVar12 = FUN_0015c600(piVar15);\n        piVar8[0xb] = iVar12;\n        *(byte *)(piVar8 + 7) = *(byte *)(piVar8 + 7) & 0xe0;\n        piVar8[9] = (int)uVar18;\n        piVar8[0xc] = iVar11;\n        piVar8[1] = 0;\n        piVar8[2] = 0;\n        piVar8[3] = 0;\n        piVar8[4] = 0;\n        piVar8[5] = -1;\n        piVar8[6] = -1;\n        piVar8[8] = 0;\n        piVar8[10] = (int)((ulonglong)uVar18 >> 0x20);\n        piVar8[0xd] = iVar5;\n        *piVar8 = unaff_EDI + 0x39d467;\n        uVar13 = 0;\n        do {\n          *(undefined4 *)((int)piVar8 + uVar13 + 0x38) = 0;\n          uVar13 = uVar13 + 4;\n        } while (uVar13 < 0x1c);\n        piVar8[0xf] = 1;\n        piVar8[0x10] = 0;\n        piVar8[0x11] = 0;\n        piVar8[0x12] = 0x3f800000;\n        piVar8[0x13] = 0;\n        piVar8[0x14] = 0;\n        piVar8[0xe] = (int)(piVar8 + 0x14);\n        uVar13 = 0;\n        do {\n          *(undefined4 *)((int)piVar8 + uVar13 + 0x54) = 0;\n          uVar13 = uVar13 + 4;\n        } while (uVar13 < 0x1c);\n        piVar8[0x16] = 1;\n        piVar8[0x15] = (int)(piVar8 + 0x1b);\n        piVar8[0x17] = 0;\n        piVar8[0x18] = 0;\n        piVar8[0x19] = 0x3f800000;\n        piVar8[0x1a] = 0;\n        piVar8[0x1b] = 0;\n                    /* try { // try from 0006fadc to 0006fb48 has its CatchHandler @ 0006fd7f */\n        iVar11 = FUN_0015c560(piVar15);\n        piVar8[0x1c] = iVar11;\n        piVar8[0x1d] = 0;\n        piVar8[0x1e] = 0;\n        piVar8[0x1f] = 0;\n        piVar8[0x20] = 0;\n        piVar8[0x21] = 0;\n        piVar8[0x22] = 0;\n        *(undefined1 *)(piVar8 + 0x23) = 0;\n        piVar8[0x24] = iVar7 - iVar14 >> 2;\n        piVar8[0x25] = -1;\n        piVar8[0x26] = 0;\n        FUN_0015c3f0(piVar8,uVar3);\n        local_48[0] = 0;\n        local_48[1] = 0;\n        local_48[2] = 0;\n        local_64 = piVar8;\n                    /* try { // try from 0006fb6b to 0006fb7c has its CatchHandler @ 0006fd78 */\n        FUN_000abc70(local_48,&local_64);\n        FUN_00164400(uVar3,local_48);\n        if (local_48[0] == 0) goto LAB_0006f914;\n        FUN_00248220(local_48[0]);\n        puVar16 = *(undefined4 **)(iVar5 + 0x50);\n        if (puVar16 != *(undefined4 **)(iVar5 + 0x54)) goto LAB_0006f926;\nLAB_0006fbb0:\n        __src = *(undefined4 **)(iVar5 + 0x4c);\n        __n = (int)puVar16 - (int)__src;\n        uVar13 = (int)__n >> 2;\n        if (uVar13 == 0) {\n          local_8c = 4;\nLAB_0006fbe3:\n                    /* try { // try from 0006fbef to 0006fc9a has its CatchHandler @ 0006fd94 */\n          __dest = (void *)FUN_00246670(local_8c);\n          local_8c = local_8c + (int)__dest;\n        }\n        else {\n          local_8c = -4;\n          uVar6 = uVar13 * 2;\n          if ((uVar6 < uVar13) || (0x3fffffff < uVar6)) goto LAB_0006fbe3;\n          if (uVar6 != 0) {\n            local_8c = uVar13 << 3;\n            goto LAB_0006fbe3;\n          }\n          local_8c = 0;\n          __dest = (void *)0x0;\n        }\n        *(int **)((int)__dest + __n) = piVar8;\n        if (puVar16 == __src) {\n          if (__src != (undefined4 *)0x0) goto LAB_0006fc33;\n        }\n        else {\n          memmove(__dest,__src,__n);\nLAB_0006fc33:\n          FUN_00248220(__src);\n        }\n        *(void **)(iVar5 + 0x4c) = __dest;\n        *(size_t *)(iVar5 + 0x50) = (int)__dest + __n + 4;\n        *(int *)(iVar5 + 0x54) = local_8c;\n      }\n      FUN_00248200(*local_7c,8);\n      local_7c = local_7c + 1;\n    }" { (expression_statement "piVar15 = (int *)((undefined4 *)*local_7c)[1];" (assignment_expression "piVar15 = (int *)((undefined4 *)*local_7c)[1]" identifier = (cast_expression "(int *)((undefined4 *)*local_7c)[1]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "((undefined4 *)*local_7c)[1]" (parenthesized_expression "((undefined4 *)*local_7c)" ( (cast_expression "(undefined4 *)*local_7c" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*local_7c" * identifier)) )) [ number_literal ]))) ;) (if_statement "if (*piVar15 + 4U < 4) {\n        if (*piVar15 != -4) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0006fd4d to 0006fd51 has its CatchHandler @ 0006fd94 */\n          FUN_000da200(unaff_EDI + 0x28787b,0xcc1,unaff_EDI + 0x2866cf);\n        }\n        piVar8 = (int *)piVar15[4];\nLAB_0006f914:\n        puVar16 = *(undefined4 **)(iVar5 + 0x50);\n        if (puVar16 == *(undefined4 **)(iVar5 + 0x54)) goto LAB_0006fbb0;\nLAB_0006f926:\n        *puVar16 = piVar8;\n        *(undefined4 **)(iVar5 + 0x50) = puVar16 + 1;\n      }\n      else {\n        uVar3 = *(undefined4 *)*local_7c;\n        iVar7 = *(int *)(iVar5 + 0x50);\n        iVar14 = *(int *)(iVar5 + 0x4c);\n        piVar8 = (int *)FUN_00246670(0xb0);\n                    /* try { // try from 0006f998 to 0006f9e1 has its CatchHandler @ 0006fd8d */\n        piVar9 = (int *)FUN_0015c600(piVar15);\n        uVar10 = FUN_0015c690(piVar15);\n        uVar18 = (**(code **)(*piVar9 + 0x5c))(piVar9,uVar10);\n        iVar11 = FUN_0015c690(piVar15);\n        iVar12 = FUN_0015c600(piVar15);\n        piVar8[0xb] = iVar12;\n        *(byte *)(piVar8 + 7) = *(byte *)(piVar8 + 7) & 0xe0;\n        piVar8[9] = (int)uVar18;\n        piVar8[0xc] = iVar11;\n        piVar8[1] = 0;\n        piVar8[2] = 0;\n        piVar8[3] = 0;\n        piVar8[4] = 0;\n        piVar8[5] = -1;\n        piVar8[6] = -1;\n        piVar8[8] = 0;\n        piVar8[10] = (int)((ulonglong)uVar18 >> 0x20);\n        piVar8[0xd] = iVar5;\n        *piVar8 = unaff_EDI + 0x39d467;\n        uVar13 = 0;\n        do {\n          *(undefined4 *)((int)piVar8 + uVar13 + 0x38) = 0;\n          uVar13 = uVar13 + 4;\n        } while (uVar13 < 0x1c);\n        piVar8[0xf] = 1;\n        piVar8[0x10] = 0;\n        piVar8[0x11] = 0;\n        piVar8[0x12] = 0x3f800000;\n        piVar8[0x13] = 0;\n        piVar8[0x14] = 0;\n        piVar8[0xe] = (int)(piVar8 + 0x14);\n        uVar13 = 0;\n        do {\n          *(undefined4 *)((int)piVar8 + uVar13 + 0x54) = 0;\n          uVar13 = uVar13 + 4;\n        } while (uVar13 < 0x1c);\n        piVar8[0x16] = 1;\n        piVar8[0x15] = (int)(piVar8 + 0x1b);\n        piVar8[0x17] = 0;\n        piVar8[0x18] = 0;\n        piVar8[0x19] = 0x3f800000;\n        piVar8[0x1a] = 0;\n        piVar8[0x1b] = 0;\n                    /* try { // try from 0006fadc to 0006fb48 has its CatchHandler @ 0006fd7f */\n        iVar11 = FUN_0015c560(piVar15);\n        piVar8[0x1c] = iVar11;\n        piVar8[0x1d] = 0;\n        piVar8[0x1e] = 0;\n        piVar8[0x1f] = 0;\n        piVar8[0x20] = 0;\n        piVar8[0x21] = 0;\n        piVar8[0x22] = 0;\n        *(undefined1 *)(piVar8 + 0x23) = 0;\n        piVar8[0x24] = iVar7 - iVar14 >> 2;\n        piVar8[0x25] = -1;\n        piVar8[0x26] = 0;\n        FUN_0015c3f0(piVar8,uVar3);\n        local_48[0] = 0;\n        local_48[1] = 0;\n        local_48[2] = 0;\n        local_64 = piVar8;\n                    /* try { // try from 0006fb6b to 0006fb7c has its CatchHandler @ 0006fd78 */\n        FUN_000abc70(local_48,&local_64);\n        FUN_00164400(uVar3,local_48);\n        if (local_48[0] == 0) goto LAB_0006f914;\n        FUN_00248220(local_48[0]);\n        puVar16 = *(undefined4 **)(iVar5 + 0x50);\n        if (puVar16 != *(undefined4 **)(iVar5 + 0x54)) goto LAB_0006f926;\nLAB_0006fbb0:\n        __src = *(undefined4 **)(iVar5 + 0x4c);\n        __n = (int)puVar16 - (int)__src;\n        uVar13 = (int)__n >> 2;\n        if (uVar13 == 0) {\n          local_8c = 4;\nLAB_0006fbe3:\n                    /* try { // try from 0006fbef to 0006fc9a has its CatchHandler @ 0006fd94 */\n          __dest = (void *)FUN_00246670(local_8c);\n          local_8c = local_8c + (int)__dest;\n        }\n        else {\n          local_8c = -4;\n          uVar6 = uVar13 * 2;\n          if ((uVar6 < uVar13) || (0x3fffffff < uVar6)) goto LAB_0006fbe3;\n          if (uVar6 != 0) {\n            local_8c = uVar13 << 3;\n            goto LAB_0006fbe3;\n          }\n          local_8c = 0;\n          __dest = (void *)0x0;\n        }\n        *(int **)((int)__dest + __n) = piVar8;\n        if (puVar16 == __src) {\n          if (__src != (undefined4 *)0x0) goto LAB_0006fc33;\n        }\n        else {\n          memmove(__dest,__src,__n);\nLAB_0006fc33:\n          FUN_00248220(__src);\n        }\n        *(void **)(iVar5 + 0x4c) = __dest;\n        *(size_t *)(iVar5 + 0x50) = (int)__dest + __n + 4;\n        *(int *)(iVar5 + 0x54) = local_8c;\n      }" if (parenthesized_expression "(*piVar15 + 4U < 4)" ( (binary_expression "*piVar15 + 4U < 4" (binary_expression "*piVar15 + 4U" (pointer_expression "*piVar15" * identifier) + number_literal) < number_literal) )) (compound_statement "{\n        if (*piVar15 != -4) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0006fd4d to 0006fd51 has its CatchHandler @ 0006fd94 */\n          FUN_000da200(unaff_EDI + 0x28787b,0xcc1,unaff_EDI + 0x2866cf);\n        }\n        piVar8 = (int *)piVar15[4];\nLAB_0006f914:\n        puVar16 = *(undefined4 **)(iVar5 + 0x50);\n        if (puVar16 == *(undefined4 **)(iVar5 + 0x54)) goto LAB_0006fbb0;\nLAB_0006f926:\n        *puVar16 = piVar8;\n        *(undefined4 **)(iVar5 + 0x50) = puVar16 + 1;\n      }" { (if_statement "if (*piVar15 != -4) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0006fd4d to 0006fd51 has its CatchHandler @ 0006fd94 */\n          FUN_000da200(unaff_EDI + 0x28787b,0xcc1,unaff_EDI + 0x2866cf);\n        }" if (parenthesized_expression "(*piVar15 != -4)" ( (binary_expression "*piVar15 != -4" (pointer_expression "*piVar15" * identifier) != number_literal) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0006fd4d to 0006fd51 has its CatchHandler @ 0006fd94 */\n          FUN_000da200(unaff_EDI + 0x28787b,0xcc1,unaff_EDI + 0x2866cf);\n        }" { comment comment (expression_statement "FUN_000da200(unaff_EDI + 0x28787b,0xcc1,unaff_EDI + 0x2866cf);" (call_expression "FUN_000da200(unaff_EDI + 0x28787b,0xcc1,unaff_EDI + 0x2866cf)" identifier (argument_list "(unaff_EDI + 0x28787b,0xcc1,unaff_EDI + 0x2866cf)" ( (binary_expression "unaff_EDI + 0x28787b" identifier + number_literal) , number_literal , (binary_expression "unaff_EDI + 0x2866cf" identifier + number_literal) ))) ;) })) (expression_statement "piVar8 = (int *)piVar15[4];" (assignment_expression "piVar8 = (int *)piVar15[4]" identifier = (cast_expression "(int *)piVar15[4]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar15[4]" identifier [ number_literal ]))) ;) (labeled_statement "LAB_0006f914:\n        puVar16 = *(undefined4 **)(iVar5 + 0x50);" statement_identifier : (expression_statement "puVar16 = *(undefined4 **)(iVar5 + 0x50);" (assignment_expression "puVar16 = *(undefined4 **)(iVar5 + 0x50)" identifier = (pointer_expression "*(undefined4 **)(iVar5 + 0x50)" * (cast_expression "(undefined4 **)(iVar5 + 0x50)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar5 + 0x50)" ( (binary_expression "iVar5 + 0x50" identifier + number_literal) ))))) ;)) (if_statement "if (puVar16 == *(undefined4 **)(iVar5 + 0x54)) goto LAB_0006fbb0;" if (parenthesized_expression "(puVar16 == *(undefined4 **)(iVar5 + 0x54))" ( (binary_expression "puVar16 == *(undefined4 **)(iVar5 + 0x54)" identifier == (pointer_expression "*(undefined4 **)(iVar5 + 0x54)" * (cast_expression "(undefined4 **)(iVar5 + 0x54)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar5 + 0x54)" ( (binary_expression "iVar5 + 0x54" identifier + number_literal) ))))) )) (goto_statement "goto LAB_0006fbb0;" goto statement_identifier ;)) (labeled_statement "LAB_0006f926:\n        *puVar16 = piVar8;" statement_identifier : (expression_statement "*puVar16 = piVar8;" (assignment_expression "*puVar16 = piVar8" (pointer_expression "*puVar16" * identifier) = identifier) ;)) (expression_statement "*(undefined4 **)(iVar5 + 0x50) = puVar16 + 1;" (assignment_expression "*(undefined4 **)(iVar5 + 0x50) = puVar16 + 1" (pointer_expression "*(undefined4 **)(iVar5 + 0x50)" * (cast_expression "(undefined4 **)(iVar5 + 0x50)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar5 + 0x50)" ( (binary_expression "iVar5 + 0x50" identifier + number_literal) )))) = (binary_expression "puVar16 + 1" identifier + number_literal)) ;) }) (else_clause "else {\n        uVar3 = *(undefined4 *)*local_7c;\n        iVar7 = *(int *)(iVar5 + 0x50);\n        iVar14 = *(int *)(iVar5 + 0x4c);\n        piVar8 = (int *)FUN_00246670(0xb0);\n                    /* try { // try from 0006f998 to 0006f9e1 has its CatchHandler @ 0006fd8d */\n        piVar9 = (int *)FUN_0015c600(piVar15);\n        uVar10 = FUN_0015c690(piVar15);\n        uVar18 = (**(code **)(*piVar9 + 0x5c))(piVar9,uVar10);\n        iVar11 = FUN_0015c690(piVar15);\n        iVar12 = FUN_0015c600(piVar15);\n        piVar8[0xb] = iVar12;\n        *(byte *)(piVar8 + 7) = *(byte *)(piVar8 + 7) & 0xe0;\n        piVar8[9] = (int)uVar18;\n        piVar8[0xc] = iVar11;\n        piVar8[1] = 0;\n        piVar8[2] = 0;\n        piVar8[3] = 0;\n        piVar8[4] = 0;\n        piVar8[5] = -1;\n        piVar8[6] = -1;\n        piVar8[8] = 0;\n        piVar8[10] = (int)((ulonglong)uVar18 >> 0x20);\n        piVar8[0xd] = iVar5;\n        *piVar8 = unaff_EDI + 0x39d467;\n        uVar13 = 0;\n        do {\n          *(undefined4 *)((int)piVar8 + uVar13 + 0x38) = 0;\n          uVar13 = uVar13 + 4;\n        } while (uVar13 < 0x1c);\n        piVar8[0xf] = 1;\n        piVar8[0x10] = 0;\n        piVar8[0x11] = 0;\n        piVar8[0x12] = 0x3f800000;\n        piVar8[0x13] = 0;\n        piVar8[0x14] = 0;\n        piVar8[0xe] = (int)(piVar8 + 0x14);\n        uVar13 = 0;\n        do {\n          *(undefined4 *)((int)piVar8 + uVar13 + 0x54) = 0;\n          uVar13 = uVar13 + 4;\n        } while (uVar13 < 0x1c);\n        piVar8[0x16] = 1;\n        piVar8[0x15] = (int)(piVar8 + 0x1b);\n        piVar8[0x17] = 0;\n        piVar8[0x18] = 0;\n        piVar8[0x19] = 0x3f800000;\n        piVar8[0x1a] = 0;\n        piVar8[0x1b] = 0;\n                    /* try { // try from 0006fadc to 0006fb48 has its CatchHandler @ 0006fd7f */\n        iVar11 = FUN_0015c560(piVar15);\n        piVar8[0x1c] = iVar11;\n        piVar8[0x1d] = 0;\n        piVar8[0x1e] = 0;\n        piVar8[0x1f] = 0;\n        piVar8[0x20] = 0;\n        piVar8[0x21] = 0;\n        piVar8[0x22] = 0;\n        *(undefined1 *)(piVar8 + 0x23) = 0;\n        piVar8[0x24] = iVar7 - iVar14 >> 2;\n        piVar8[0x25] = -1;\n        piVar8[0x26] = 0;\n        FUN_0015c3f0(piVar8,uVar3);\n        local_48[0] = 0;\n        local_48[1] = 0;\n        local_48[2] = 0;\n        local_64 = piVar8;\n                    /* try { // try from 0006fb6b to 0006fb7c has its CatchHandler @ 0006fd78 */\n        FUN_000abc70(local_48,&local_64);\n        FUN_00164400(uVar3,local_48);\n        if (local_48[0] == 0) goto LAB_0006f914;\n        FUN_00248220(local_48[0]);\n        puVar16 = *(undefined4 **)(iVar5 + 0x50);\n        if (puVar16 != *(undefined4 **)(iVar5 + 0x54)) goto LAB_0006f926;\nLAB_0006fbb0:\n        __src = *(undefined4 **)(iVar5 + 0x4c);\n        __n = (int)puVar16 - (int)__src;\n        uVar13 = (int)__n >> 2;\n        if (uVar13 == 0) {\n          local_8c = 4;\nLAB_0006fbe3:\n                    /* try { // try from 0006fbef to 0006fc9a has its CatchHandler @ 0006fd94 */\n          __dest = (void *)FUN_00246670(local_8c);\n          local_8c = local_8c + (int)__dest;\n        }\n        else {\n          local_8c = -4;\n          uVar6 = uVar13 * 2;\n          if ((uVar6 < uVar13) || (0x3fffffff < uVar6)) goto LAB_0006fbe3;\n          if (uVar6 != 0) {\n            local_8c = uVar13 << 3;\n            goto LAB_0006fbe3;\n          }\n          local_8c = 0;\n          __dest = (void *)0x0;\n        }\n        *(int **)((int)__dest + __n) = piVar8;\n        if (puVar16 == __src) {\n          if (__src != (undefined4 *)0x0) goto LAB_0006fc33;\n        }\n        else {\n          memmove(__dest,__src,__n);\nLAB_0006fc33:\n          FUN_00248220(__src);\n        }\n        *(void **)(iVar5 + 0x4c) = __dest;\n        *(size_t *)(iVar5 + 0x50) = (int)__dest + __n + 4;\n        *(int *)(iVar5 + 0x54) = local_8c;\n      }" else (compound_statement "{\n        uVar3 = *(undefined4 *)*local_7c;\n        iVar7 = *(int *)(iVar5 + 0x50);\n        iVar14 = *(int *)(iVar5 + 0x4c);\n        piVar8 = (int *)FUN_00246670(0xb0);\n                    /* try { // try from 0006f998 to 0006f9e1 has its CatchHandler @ 0006fd8d */\n        piVar9 = (int *)FUN_0015c600(piVar15);\n        uVar10 = FUN_0015c690(piVar15);\n        uVar18 = (**(code **)(*piVar9 + 0x5c))(piVar9,uVar10);\n        iVar11 = FUN_0015c690(piVar15);\n        iVar12 = FUN_0015c600(piVar15);\n        piVar8[0xb] = iVar12;\n        *(byte *)(piVar8 + 7) = *(byte *)(piVar8 + 7) & 0xe0;\n        piVar8[9] = (int)uVar18;\n        piVar8[0xc] = iVar11;\n        piVar8[1] = 0;\n        piVar8[2] = 0;\n        piVar8[3] = 0;\n        piVar8[4] = 0;\n        piVar8[5] = -1;\n        piVar8[6] = -1;\n        piVar8[8] = 0;\n        piVar8[10] = (int)((ulonglong)uVar18 >> 0x20);\n        piVar8[0xd] = iVar5;\n        *piVar8 = unaff_EDI + 0x39d467;\n        uVar13 = 0;\n        do {\n          *(undefined4 *)((int)piVar8 + uVar13 + 0x38) = 0;\n          uVar13 = uVar13 + 4;\n        } while (uVar13 < 0x1c);\n        piVar8[0xf] = 1;\n        piVar8[0x10] = 0;\n        piVar8[0x11] = 0;\n        piVar8[0x12] = 0x3f800000;\n        piVar8[0x13] = 0;\n        piVar8[0x14] = 0;\n        piVar8[0xe] = (int)(piVar8 + 0x14);\n        uVar13 = 0;\n        do {\n          *(undefined4 *)((int)piVar8 + uVar13 + 0x54) = 0;\n          uVar13 = uVar13 + 4;\n        } while (uVar13 < 0x1c);\n        piVar8[0x16] = 1;\n        piVar8[0x15] = (int)(piVar8 + 0x1b);\n        piVar8[0x17] = 0;\n        piVar8[0x18] = 0;\n        piVar8[0x19] = 0x3f800000;\n        piVar8[0x1a] = 0;\n        piVar8[0x1b] = 0;\n                    /* try { // try from 0006fadc to 0006fb48 has its CatchHandler @ 0006fd7f */\n        iVar11 = FUN_0015c560(piVar15);\n        piVar8[0x1c] = iVar11;\n        piVar8[0x1d] = 0;\n        piVar8[0x1e] = 0;\n        piVar8[0x1f] = 0;\n        piVar8[0x20] = 0;\n        piVar8[0x21] = 0;\n        piVar8[0x22] = 0;\n        *(undefined1 *)(piVar8 + 0x23) = 0;\n        piVar8[0x24] = iVar7 - iVar14 >> 2;\n        piVar8[0x25] = -1;\n        piVar8[0x26] = 0;\n        FUN_0015c3f0(piVar8,uVar3);\n        local_48[0] = 0;\n        local_48[1] = 0;\n        local_48[2] = 0;\n        local_64 = piVar8;\n                    /* try { // try from 0006fb6b to 0006fb7c has its CatchHandler @ 0006fd78 */\n        FUN_000abc70(local_48,&local_64);\n        FUN_00164400(uVar3,local_48);\n        if (local_48[0] == 0) goto LAB_0006f914;\n        FUN_00248220(local_48[0]);\n        puVar16 = *(undefined4 **)(iVar5 + 0x50);\n        if (puVar16 != *(undefined4 **)(iVar5 + 0x54)) goto LAB_0006f926;\nLAB_0006fbb0:\n        __src = *(undefined4 **)(iVar5 + 0x4c);\n        __n = (int)puVar16 - (int)__src;\n        uVar13 = (int)__n >> 2;\n        if (uVar13 == 0) {\n          local_8c = 4;\nLAB_0006fbe3:\n                    /* try { // try from 0006fbef to 0006fc9a has its CatchHandler @ 0006fd94 */\n          __dest = (void *)FUN_00246670(local_8c);\n          local_8c = local_8c + (int)__dest;\n        }\n        else {\n          local_8c = -4;\n          uVar6 = uVar13 * 2;\n          if ((uVar6 < uVar13) || (0x3fffffff < uVar6)) goto LAB_0006fbe3;\n          if (uVar6 != 0) {\n            local_8c = uVar13 << 3;\n            goto LAB_0006fbe3;\n          }\n          local_8c = 0;\n          __dest = (void *)0x0;\n        }\n        *(int **)((int)__dest + __n) = piVar8;\n        if (puVar16 == __src) {\n          if (__src != (undefined4 *)0x0) goto LAB_0006fc33;\n        }\n        else {\n          memmove(__dest,__src,__n);\nLAB_0006fc33:\n          FUN_00248220(__src);\n        }\n        *(void **)(iVar5 + 0x4c) = __dest;\n        *(size_t *)(iVar5 + 0x50) = (int)__dest + __n + 4;\n        *(int *)(iVar5 + 0x54) = local_8c;\n      }" { (expression_statement "uVar3 = *(undefined4 *)*local_7c;" (assignment_expression "uVar3 = *(undefined4 *)*local_7c" identifier = (pointer_expression "*(undefined4 *)*local_7c" * (cast_expression "(undefined4 *)*local_7c" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*local_7c" * identifier)))) ;) (expression_statement "iVar7 = *(int *)(iVar5 + 0x50);" (assignment_expression "iVar7 = *(int *)(iVar5 + 0x50)" identifier = (pointer_expression "*(int *)(iVar5 + 0x50)" * (cast_expression "(int *)(iVar5 + 0x50)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 0x50)" ( (binary_expression "iVar5 + 0x50" identifier + number_literal) ))))) ;) (expression_statement "iVar14 = *(int *)(iVar5 + 0x4c);" (assignment_expression "iVar14 = *(int *)(iVar5 + 0x4c)" identifier = (pointer_expression "*(int *)(iVar5 + 0x4c)" * (cast_expression "(int *)(iVar5 + 0x4c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 0x4c)" ( (binary_expression "iVar5 + 0x4c" identifier + number_literal) ))))) ;) (expression_statement "piVar8 = (int *)FUN_00246670(0xb0);" (assignment_expression "piVar8 = (int *)FUN_00246670(0xb0)" identifier = (cast_expression "(int *)FUN_00246670(0xb0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_00246670(0xb0)" identifier (argument_list "(0xb0)" ( number_literal ))))) ;) comment (expression_statement "piVar9 = (int *)FUN_0015c600(piVar15);" (assignment_expression "piVar9 = (int *)FUN_0015c600(piVar15)" identifier = (cast_expression "(int *)FUN_0015c600(piVar15)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_0015c600(piVar15)" identifier (argument_list "(piVar15)" ( identifier ))))) ;) (expression_statement "uVar10 = FUN_0015c690(piVar15);" (assignment_expression "uVar10 = FUN_0015c690(piVar15)" identifier = (call_expression "FUN_0015c690(piVar15)" identifier (argument_list "(piVar15)" ( identifier )))) ;) (expression_statement "uVar18 = (**(code **)(*piVar9 + 0x5c))(piVar9,uVar10);" (assignment_expression "uVar18 = (**(code **)(*piVar9 + 0x5c))(piVar9,uVar10)" identifier = (call_expression "(**(code **)(*piVar9 + 0x5c))(piVar9,uVar10)" (parenthesized_expression "(**(code **)(*piVar9 + 0x5c))" ( (pointer_expression "**(code **)(*piVar9 + 0x5c)" * (pointer_expression "*(code **)(*piVar9 + 0x5c)" * (cast_expression "(code **)(*piVar9 + 0x5c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*piVar9 + 0x5c)" ( (binary_expression "*piVar9 + 0x5c" (pointer_expression "*piVar9" * identifier) + number_literal) ))))) )) (argument_list "(piVar9,uVar10)" ( identifier , identifier )))) ;) (expression_statement "iVar11 = FUN_0015c690(piVar15);" (assignment_expression "iVar11 = FUN_0015c690(piVar15)" identifier = (call_expression "FUN_0015c690(piVar15)" identifier (argument_list "(piVar15)" ( identifier )))) ;) (expression_statement "iVar12 = FUN_0015c600(piVar15);" (assignment_expression "iVar12 = FUN_0015c600(piVar15)" identifier = (call_expression "FUN_0015c600(piVar15)" identifier (argument_list "(piVar15)" ( identifier )))) ;) (expression_statement "piVar8[0xb] = iVar12;" (assignment_expression "piVar8[0xb] = iVar12" (subscript_expression "piVar8[0xb]" identifier [ number_literal ]) = identifier) ;) (expression_statement "*(byte *)(piVar8 + 7) = *(byte *)(piVar8 + 7) & 0xe0;" (assignment_expression "*(byte *)(piVar8 + 7) = *(byte *)(piVar8 + 7) & 0xe0" (pointer_expression "*(byte *)(piVar8 + 7)" * (cast_expression "(byte *)(piVar8 + 7)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar8 + 7)" ( (binary_expression "piVar8 + 7" identifier + number_literal) )))) = (binary_expression "*(byte *)(piVar8 + 7) & 0xe0" (pointer_expression "*(byte *)(piVar8 + 7)" * (cast_expression "(byte *)(piVar8 + 7)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar8 + 7)" ( (binary_expression "piVar8 + 7" identifier + number_literal) )))) & number_literal)) ;) (expression_statement "piVar8[9] = (int)uVar18;" (assignment_expression "piVar8[9] = (int)uVar18" (subscript_expression "piVar8[9]" identifier [ number_literal ]) = (cast_expression "(int)uVar18" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "piVar8[0xc] = iVar11;" (assignment_expression "piVar8[0xc] = iVar11" (subscript_expression "piVar8[0xc]" identifier [ number_literal ]) = identifier) ;) (expression_statement "piVar8[1] = 0;" (assignment_expression "piVar8[1] = 0" (subscript_expression "piVar8[1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar8[2] = 0;" (assignment_expression "piVar8[2] = 0" (subscript_expression "piVar8[2]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar8[3] = 0;" (assignment_expression "piVar8[3] = 0" (subscript_expression "piVar8[3]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar8[4] = 0;" (assignment_expression "piVar8[4] = 0" (subscript_expression "piVar8[4]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar8[5] = -1;" (assignment_expression "piVar8[5] = -1" (subscript_expression "piVar8[5]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar8[6] = -1;" (assignment_expression "piVar8[6] = -1" (subscript_expression "piVar8[6]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar8[8] = 0;" (assignment_expression "piVar8[8] = 0" (subscript_expression "piVar8[8]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar8[10] = (int)((ulonglong)uVar18 >> 0x20);" (assignment_expression "piVar8[10] = (int)((ulonglong)uVar18 >> 0x20)" (subscript_expression "piVar8[10]" identifier [ number_literal ]) = (cast_expression "(int)((ulonglong)uVar18 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)uVar18 >> 0x20)" ( (binary_expression "(ulonglong)uVar18 >> 0x20" (cast_expression "(ulonglong)uVar18" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) )))) ;) (expression_statement "piVar8[0xd] = iVar5;" (assignment_expression "piVar8[0xd] = iVar5" (subscript_expression "piVar8[0xd]" identifier [ number_literal ]) = identifier) ;) (expression_statement "*piVar8 = unaff_EDI + 0x39d467;" (assignment_expression "*piVar8 = unaff_EDI + 0x39d467" (pointer_expression "*piVar8" * identifier) = (binary_expression "unaff_EDI + 0x39d467" identifier + number_literal)) ;) (expression_statement "uVar13 = 0;" (assignment_expression "uVar13 = 0" identifier = number_literal) ;) (do_statement "do {\n          *(undefined4 *)((int)piVar8 + uVar13 + 0x38) = 0;\n          uVar13 = uVar13 + 4;\n        } while (uVar13 < 0x1c);" do (compound_statement "{\n          *(undefined4 *)((int)piVar8 + uVar13 + 0x38) = 0;\n          uVar13 = uVar13 + 4;\n        }" { (expression_statement "*(undefined4 *)((int)piVar8 + uVar13 + 0x38) = 0;" (assignment_expression "*(undefined4 *)((int)piVar8 + uVar13 + 0x38) = 0" (pointer_expression "*(undefined4 *)((int)piVar8 + uVar13 + 0x38)" * (cast_expression "(undefined4 *)((int)piVar8 + uVar13 + 0x38)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar8 + uVar13 + 0x38)" ( (binary_expression "(int)piVar8 + uVar13 + 0x38" (binary_expression "(int)piVar8 + uVar13" (cast_expression "(int)piVar8" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + number_literal) )))) = number_literal) ;) (expression_statement "uVar13 = uVar13 + 4;" (assignment_expression "uVar13 = uVar13 + 4" identifier = (binary_expression "uVar13 + 4" identifier + number_literal)) ;) }) while (parenthesized_expression "(uVar13 < 0x1c)" ( (binary_expression "uVar13 < 0x1c" identifier < number_literal) )) ;) (expression_statement "piVar8[0xf] = 1;" (assignment_expression "piVar8[0xf] = 1" (subscript_expression "piVar8[0xf]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar8[0x10] = 0;" (assignment_expression "piVar8[0x10] = 0" (subscript_expression "piVar8[0x10]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar8[0x11] = 0;" (assignment_expression "piVar8[0x11] = 0" (subscript_expression "piVar8[0x11]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar8[0x12] = 0x3f800000;" (assignment_expression "piVar8[0x12] = 0x3f800000" (subscript_expression "piVar8[0x12]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar8[0x13] = 0;" (assignment_expression "piVar8[0x13] = 0" (subscript_expression "piVar8[0x13]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar8[0x14] = 0;" (assignment_expression "piVar8[0x14] = 0" (subscript_expression "piVar8[0x14]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar8[0xe] = (int)(piVar8 + 0x14);" (assignment_expression "piVar8[0xe] = (int)(piVar8 + 0x14)" (subscript_expression "piVar8[0xe]" identifier [ number_literal ]) = (cast_expression "(int)(piVar8 + 0x14)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(piVar8 + 0x14)" ( (binary_expression "piVar8 + 0x14" identifier + number_literal) )))) ;) (expression_statement "uVar13 = 0;" (assignment_expression "uVar13 = 0" identifier = number_literal) ;) (do_statement "do {\n          *(undefined4 *)((int)piVar8 + uVar13 + 0x54) = 0;\n          uVar13 = uVar13 + 4;\n        } while (uVar13 < 0x1c);" do (compound_statement "{\n          *(undefined4 *)((int)piVar8 + uVar13 + 0x54) = 0;\n          uVar13 = uVar13 + 4;\n        }" { (expression_statement "*(undefined4 *)((int)piVar8 + uVar13 + 0x54) = 0;" (assignment_expression "*(undefined4 *)((int)piVar8 + uVar13 + 0x54) = 0" (pointer_expression "*(undefined4 *)((int)piVar8 + uVar13 + 0x54)" * (cast_expression "(undefined4 *)((int)piVar8 + uVar13 + 0x54)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar8 + uVar13 + 0x54)" ( (binary_expression "(int)piVar8 + uVar13 + 0x54" (binary_expression "(int)piVar8 + uVar13" (cast_expression "(int)piVar8" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + number_literal) )))) = number_literal) ;) (expression_statement "uVar13 = uVar13 + 4;" (assignment_expression "uVar13 = uVar13 + 4" identifier = (binary_expression "uVar13 + 4" identifier + number_literal)) ;) }) while (parenthesized_expression "(uVar13 < 0x1c)" ( (binary_expression "uVar13 < 0x1c" identifier < number_literal) )) ;) (expression_statement "piVar8[0x16] = 1;" (assignment_expression "piVar8[0x16] = 1" (subscript_expression "piVar8[0x16]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar8[0x15] = (int)(piVar8 + 0x1b);" (assignment_expression "piVar8[0x15] = (int)(piVar8 + 0x1b)" (subscript_expression "piVar8[0x15]" identifier [ number_literal ]) = (cast_expression "(int)(piVar8 + 0x1b)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(piVar8 + 0x1b)" ( (binary_expression "piVar8 + 0x1b" identifier + number_literal) )))) ;) (expression_statement "piVar8[0x17] = 0;" (assignment_expression "piVar8[0x17] = 0" (subscript_expression "piVar8[0x17]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar8[0x18] = 0;" (assignment_expression "piVar8[0x18] = 0" (subscript_expression "piVar8[0x18]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar8[0x19] = 0x3f800000;" (assignment_expression "piVar8[0x19] = 0x3f800000" (subscript_expression "piVar8[0x19]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar8[0x1a] = 0;" (assignment_expression "piVar8[0x1a] = 0" (subscript_expression "piVar8[0x1a]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar8[0x1b] = 0;" (assignment_expression "piVar8[0x1b] = 0" (subscript_expression "piVar8[0x1b]" identifier [ number_literal ]) = number_literal) ;) comment (expression_statement "iVar11 = FUN_0015c560(piVar15);" (assignment_expression "iVar11 = FUN_0015c560(piVar15)" identifier = (call_expression "FUN_0015c560(piVar15)" identifier (argument_list "(piVar15)" ( identifier )))) ;) (expression_statement "piVar8[0x1c] = iVar11;" (assignment_expression "piVar8[0x1c] = iVar11" (subscript_expression "piVar8[0x1c]" identifier [ number_literal ]) = identifier) ;) (expression_statement "piVar8[0x1d] = 0;" (assignment_expression "piVar8[0x1d] = 0" (subscript_expression "piVar8[0x1d]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar8[0x1e] = 0;" (assignment_expression "piVar8[0x1e] = 0" (subscript_expression "piVar8[0x1e]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar8[0x1f] = 0;" (assignment_expression "piVar8[0x1f] = 0" (subscript_expression "piVar8[0x1f]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar8[0x20] = 0;" (assignment_expression "piVar8[0x20] = 0" (subscript_expression "piVar8[0x20]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar8[0x21] = 0;" (assignment_expression "piVar8[0x21] = 0" (subscript_expression "piVar8[0x21]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar8[0x22] = 0;" (assignment_expression "piVar8[0x22] = 0" (subscript_expression "piVar8[0x22]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "*(undefined1 *)(piVar8 + 0x23) = 0;" (assignment_expression "*(undefined1 *)(piVar8 + 0x23) = 0" (pointer_expression "*(undefined1 *)(piVar8 + 0x23)" * (cast_expression "(undefined1 *)(piVar8 + 0x23)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar8 + 0x23)" ( (binary_expression "piVar8 + 0x23" identifier + number_literal) )))) = number_literal) ;) (expression_statement "piVar8[0x24] = iVar7 - iVar14 >> 2;" (assignment_expression "piVar8[0x24] = iVar7 - iVar14 >> 2" (subscript_expression "piVar8[0x24]" identifier [ number_literal ]) = (binary_expression "iVar7 - iVar14 >> 2" (binary_expression "iVar7 - iVar14" identifier - identifier) >> number_literal)) ;) (expression_statement "piVar8[0x25] = -1;" (assignment_expression "piVar8[0x25] = -1" (subscript_expression "piVar8[0x25]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar8[0x26] = 0;" (assignment_expression "piVar8[0x26] = 0" (subscript_expression "piVar8[0x26]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "FUN_0015c3f0(piVar8,uVar3);" (call_expression "FUN_0015c3f0(piVar8,uVar3)" identifier (argument_list "(piVar8,uVar3)" ( identifier , identifier ))) ;) (expression_statement "local_48[0] = 0;" (assignment_expression "local_48[0] = 0" (subscript_expression "local_48[0]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_48[1] = 0;" (assignment_expression "local_48[1] = 0" (subscript_expression "local_48[1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_48[2] = 0;" (assignment_expression "local_48[2] = 0" (subscript_expression "local_48[2]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_64 = piVar8;" (assignment_expression "local_64 = piVar8" identifier = identifier) ;) comment (expression_statement "FUN_000abc70(local_48,&local_64);" (call_expression "FUN_000abc70(local_48,&local_64)" identifier (argument_list "(local_48,&local_64)" ( identifier , (pointer_expression "&local_64" & identifier) ))) ;) (expression_statement "FUN_00164400(uVar3,local_48);" (call_expression "FUN_00164400(uVar3,local_48)" identifier (argument_list "(uVar3,local_48)" ( identifier , identifier ))) ;) (if_statement "if (local_48[0] == 0) goto LAB_0006f914;" if (parenthesized_expression "(local_48[0] == 0)" ( (binary_expression "local_48[0] == 0" (subscript_expression "local_48[0]" identifier [ number_literal ]) == number_literal) )) (goto_statement "goto LAB_0006f914;" goto statement_identifier ;)) (expression_statement "FUN_00248220(local_48[0]);" (call_expression "FUN_00248220(local_48[0])" identifier (argument_list "(local_48[0])" ( (subscript_expression "local_48[0]" identifier [ number_literal ]) ))) ;) (expression_statement "puVar16 = *(undefined4 **)(iVar5 + 0x50);" (assignment_expression "puVar16 = *(undefined4 **)(iVar5 + 0x50)" identifier = (pointer_expression "*(undefined4 **)(iVar5 + 0x50)" * (cast_expression "(undefined4 **)(iVar5 + 0x50)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar5 + 0x50)" ( (binary_expression "iVar5 + 0x50" identifier + number_literal) ))))) ;) (if_statement "if (puVar16 != *(undefined4 **)(iVar5 + 0x54)) goto LAB_0006f926;" if (parenthesized_expression "(puVar16 != *(undefined4 **)(iVar5 + 0x54))" ( (binary_expression "puVar16 != *(undefined4 **)(iVar5 + 0x54)" identifier != (pointer_expression "*(undefined4 **)(iVar5 + 0x54)" * (cast_expression "(undefined4 **)(iVar5 + 0x54)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar5 + 0x54)" ( (binary_expression "iVar5 + 0x54" identifier + number_literal) ))))) )) (goto_statement "goto LAB_0006f926;" goto statement_identifier ;)) (labeled_statement "LAB_0006fbb0:\n        __src = *(undefined4 **)(iVar5 + 0x4c);" statement_identifier : (expression_statement "__src = *(undefined4 **)(iVar5 + 0x4c);" (assignment_expression "__src = *(undefined4 **)(iVar5 + 0x4c)" identifier = (pointer_expression "*(undefined4 **)(iVar5 + 0x4c)" * (cast_expression "(undefined4 **)(iVar5 + 0x4c)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar5 + 0x4c)" ( (binary_expression "iVar5 + 0x4c" identifier + number_literal) ))))) ;)) (expression_statement "__n = (int)puVar16 - (int)__src;" (assignment_expression "__n = (int)puVar16 - (int)__src" identifier = (binary_expression "(int)puVar16 - (int)__src" (cast_expression "(int)puVar16" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)__src" ( (type_descriptor "int" primitive_type) ) identifier))) ;) (expression_statement "uVar13 = (int)__n >> 2;" (assignment_expression "uVar13 = (int)__n >> 2" identifier = (binary_expression "(int)__n >> 2" (cast_expression "(int)__n" ( (type_descriptor "int" primitive_type) ) identifier) >> number_literal)) ;) (if_statement "if (uVar13 == 0) {\n          local_8c = 4;\nLAB_0006fbe3:\n                    /* try { // try from 0006fbef to 0006fc9a has its CatchHandler @ 0006fd94 */\n          __dest = (void *)FUN_00246670(local_8c);\n          local_8c = local_8c + (int)__dest;\n        }\n        else {\n          local_8c = -4;\n          uVar6 = uVar13 * 2;\n          if ((uVar6 < uVar13) || (0x3fffffff < uVar6)) goto LAB_0006fbe3;\n          if (uVar6 != 0) {\n            local_8c = uVar13 << 3;\n            goto LAB_0006fbe3;\n          }\n          local_8c = 0;\n          __dest = (void *)0x0;\n        }" if (parenthesized_expression "(uVar13 == 0)" ( (binary_expression "uVar13 == 0" identifier == number_literal) )) (compound_statement "{\n          local_8c = 4;\nLAB_0006fbe3:\n                    /* try { // try from 0006fbef to 0006fc9a has its CatchHandler @ 0006fd94 */\n          __dest = (void *)FUN_00246670(local_8c);\n          local_8c = local_8c + (int)__dest;\n        }" { (expression_statement "local_8c = 4;" (assignment_expression "local_8c = 4" identifier = number_literal) ;) (labeled_statement "LAB_0006fbe3:\n                    /* try { // try from 0006fbef to 0006fc9a has its CatchHandler @ 0006fd94 */\n          __dest = (void *)FUN_00246670(local_8c);" statement_identifier : comment (expression_statement "__dest = (void *)FUN_00246670(local_8c);" (assignment_expression "__dest = (void *)FUN_00246670(local_8c)" identifier = (cast_expression "(void *)FUN_00246670(local_8c)" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_00246670(local_8c)" identifier (argument_list "(local_8c)" ( identifier ))))) ;)) (expression_statement "local_8c = local_8c + (int)__dest;" (assignment_expression "local_8c = local_8c + (int)__dest" identifier = (binary_expression "local_8c + (int)__dest" identifier + (cast_expression "(int)__dest" ( (type_descriptor "int" primitive_type) ) identifier))) ;) }) (else_clause "else {\n          local_8c = -4;\n          uVar6 = uVar13 * 2;\n          if ((uVar6 < uVar13) || (0x3fffffff < uVar6)) goto LAB_0006fbe3;\n          if (uVar6 != 0) {\n            local_8c = uVar13 << 3;\n            goto LAB_0006fbe3;\n          }\n          local_8c = 0;\n          __dest = (void *)0x0;\n        }" else (compound_statement "{\n          local_8c = -4;\n          uVar6 = uVar13 * 2;\n          if ((uVar6 < uVar13) || (0x3fffffff < uVar6)) goto LAB_0006fbe3;\n          if (uVar6 != 0) {\n            local_8c = uVar13 << 3;\n            goto LAB_0006fbe3;\n          }\n          local_8c = 0;\n          __dest = (void *)0x0;\n        }" { (expression_statement "local_8c = -4;" (assignment_expression "local_8c = -4" identifier = number_literal) ;) (expression_statement "uVar6 = uVar13 * 2;" (assignment_expression "uVar6 = uVar13 * 2" identifier = (binary_expression "uVar13 * 2" identifier * number_literal)) ;) (if_statement "if ((uVar6 < uVar13) || (0x3fffffff < uVar6)) goto LAB_0006fbe3;" if (parenthesized_expression "((uVar6 < uVar13) || (0x3fffffff < uVar6))" ( (binary_expression "(uVar6 < uVar13) || (0x3fffffff < uVar6)" (parenthesized_expression "(uVar6 < uVar13)" ( (binary_expression "uVar6 < uVar13" identifier < identifier) )) || (parenthesized_expression "(0x3fffffff < uVar6)" ( (binary_expression "0x3fffffff < uVar6" number_literal < identifier) ))) )) (goto_statement "goto LAB_0006fbe3;" goto statement_identifier ;)) (if_statement "if (uVar6 != 0) {\n            local_8c = uVar13 << 3;\n            goto LAB_0006fbe3;\n          }" if (parenthesized_expression "(uVar6 != 0)" ( (binary_expression "uVar6 != 0" identifier != number_literal) )) (compound_statement "{\n            local_8c = uVar13 << 3;\n            goto LAB_0006fbe3;\n          }" { (expression_statement "local_8c = uVar13 << 3;" (assignment_expression "local_8c = uVar13 << 3" identifier = (binary_expression "uVar13 << 3" identifier << number_literal)) ;) (goto_statement "goto LAB_0006fbe3;" goto statement_identifier ;) })) (expression_statement "local_8c = 0;" (assignment_expression "local_8c = 0" identifier = number_literal) ;) (expression_statement "__dest = (void *)0x0;" (assignment_expression "__dest = (void *)0x0" identifier = (cast_expression "(void *)0x0" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }))) (expression_statement "*(int **)((int)__dest + __n) = piVar8;" (assignment_expression "*(int **)((int)__dest + __n) = piVar8" (pointer_expression "*(int **)((int)__dest + __n)" * (cast_expression "(int **)((int)__dest + __n)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)__dest + __n)" ( (binary_expression "(int)__dest + __n" (cast_expression "(int)__dest" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) )))) = identifier) ;) (if_statement "if (puVar16 == __src) {\n          if (__src != (undefined4 *)0x0) goto LAB_0006fc33;\n        }\n        else {\n          memmove(__dest,__src,__n);\nLAB_0006fc33:\n          FUN_00248220(__src);\n        }" if (parenthesized_expression "(puVar16 == __src)" ( (binary_expression "puVar16 == __src" identifier == identifier) )) (compound_statement "{\n          if (__src != (undefined4 *)0x0) goto LAB_0006fc33;\n        }" { (if_statement "if (__src != (undefined4 *)0x0) goto LAB_0006fc33;" if (parenthesized_expression "(__src != (undefined4 *)0x0)" ( (binary_expression "__src != (undefined4 *)0x0" identifier != (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_0006fc33;" goto statement_identifier ;)) }) (else_clause "else {\n          memmove(__dest,__src,__n);\nLAB_0006fc33:\n          FUN_00248220(__src);\n        }" else (compound_statement "{\n          memmove(__dest,__src,__n);\nLAB_0006fc33:\n          FUN_00248220(__src);\n        }" { (expression_statement "memmove(__dest,__src,__n);" (call_expression "memmove(__dest,__src,__n)" identifier (argument_list "(__dest,__src,__n)" ( identifier , identifier , identifier ))) ;) (labeled_statement "LAB_0006fc33:\n          FUN_00248220(__src);" statement_identifier : (expression_statement "FUN_00248220(__src);" (call_expression "FUN_00248220(__src)" identifier (argument_list "(__src)" ( identifier ))) ;)) }))) (expression_statement "*(void **)(iVar5 + 0x4c) = __dest;" (assignment_expression "*(void **)(iVar5 + 0x4c) = __dest" (pointer_expression "*(void **)(iVar5 + 0x4c)" * (cast_expression "(void **)(iVar5 + 0x4c)" ( (type_descriptor "void **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar5 + 0x4c)" ( (binary_expression "iVar5 + 0x4c" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(size_t *)(iVar5 + 0x50) = (int)__dest + __n + 4;" (assignment_expression "*(size_t *)(iVar5 + 0x50) = (int)__dest + __n + 4" (pointer_expression "*(size_t *)(iVar5 + 0x50)" * (cast_expression "(size_t *)(iVar5 + 0x50)" ( (type_descriptor "size_t *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 0x50)" ( (binary_expression "iVar5 + 0x50" identifier + number_literal) )))) = (binary_expression "(int)__dest + __n + 4" (binary_expression "(int)__dest + __n" (cast_expression "(int)__dest" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + number_literal)) ;) (expression_statement "*(int *)(iVar5 + 0x54) = local_8c;" (assignment_expression "*(int *)(iVar5 + 0x54) = local_8c" (pointer_expression "*(int *)(iVar5 + 0x54)" * (cast_expression "(int *)(iVar5 + 0x54)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 0x54)" ( (binary_expression "iVar5 + 0x54" identifier + number_literal) )))) = identifier) ;) }))) (expression_statement "FUN_00248200(*local_7c,8);" (call_expression "FUN_00248200(*local_7c,8)" identifier (argument_list "(*local_7c,8)" ( (pointer_expression "*local_7c" * identifier) , number_literal ))) ;) (expression_statement "local_7c = local_7c + 1;" (assignment_expression "local_7c = local_7c + 1" identifier = (binary_expression "local_7c + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(local_5c != local_7c)" ( (binary_expression "local_5c != local_7c" identifier != identifier) )) ;) })) (if_statement "if (local_54 != (int *)0x0) {\n    FUN_00248220(local_54);\n  }" if (parenthesized_expression "(local_54 != (int *)0x0)" ( (binary_expression "local_54 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    FUN_00248220(local_54);\n  }" { (expression_statement "FUN_00248220(local_54);" (call_expression "FUN_00248220(local_54)" identifier (argument_list "(local_54)" ( identifier ))) ;) })) (if_statement "if (local_60 != (int *)0x0) {\n    FUN_00248220(local_60);\n  }" if (parenthesized_expression "(local_60 != (int *)0x0)" ( (binary_expression "local_60 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    FUN_00248220(local_60);\n  }" { (expression_statement "FUN_00248220(local_60);" (call_expression "FUN_00248220(local_60)" identifier (argument_list "(local_60)" ( identifier ))) ;) })) (return_statement "return;" return ;) })))
(translation_unit "/* WARNING: Enum "DT": Some values do not have unique names */\n/* DWARF original prototype: void group_sections(Target_powerpc<64,_false> * this, Layout * layout,\n   Task * param_7, bool no_size_errors) */\n\nvoid __thiscall\nanon_unknown.dwarf_2af53c::Target_powerpc<64,_false>::group_sections\n          (Target_powerpc<64,_false> *this,Layout *layout,Task *param_2,bool no_size_errors)\n\n{\n  uint uVar1;\n  Input_file **ppIVar2;\n  _Base_ptr p_Var3;\n  _Rb_tree_color _Var4;\n  anon_union_4_4_139239c7_for_u2_ *__src;\n  bool bVar5;\n  Compressed_section_map *pCVar6;\n  uint uVar7;\n  anon_union_4_4_139239c7_for_u2_ this_00;\n  Relobj *pRVar8;\n  uint uVar9;\n  int iVar10;\n  size_t __n;\n  void *__dest;\n  Input_section *pIVar11;\n  Stub_control *this_01;\n  pointer pcVar12;\n  Output_section *pOVar13;\n  uint extraout_EDX;\n  Input_section *this_02;\n  int unaff_EDI;\n  anon_union_4_4_139239c7_for_u2_ *paVar14;\n  undefined8 uVar15;\n  off_t oVar16;\n  Output_section *pOVar17;\n  iterator __position;\n  vector<gold::Output_relaxed_input_section*,_std::allocator<gold::Output_relaxed_input_section*>_>\n  *in_stack_ffffff5c;\n  vector<(anonymous_namespace)::Stub_table_owner*,_std::allocator<(anonymous_namespace)::Stub_table_owner*>_>\n  *in_stack_ffffff60;\n  iterator in_stack_ffffff64;\n  Stub_table_owner **in_stack_ffffff68;\n  _func_int_varargs **pp_Var18;\n  _Base_ptr local_8c;\n  pointer local_7c;\n  void *local_74;\n  undefined4 local_70;\n  Stub_table_owner *table_owner;\n  anon_union_4_4_139239c7_for_u2_ local_64;\n  vector<(anonymous_namespace)::Stub_table_owner*,_std::allocator<(anonymous_namespace)::Stub_table_owner*>_>\n  tables;\n  Section_list section_list;\n  vector<gold::Output_relaxed_input_section*,_std::allocator<gold::Output_relaxed_input_section*>_>\n  new_relaxed;\n  Stub_control stub_control;\n  \n  uVar15 = __x86_get_pc_thunk_di();\n  pCVar6 = (Compressed_section_map *)uVar15;\n  if (*(int *)(*(int *)(BYTE_ARRAY_003a4e59 + unaff_EDI + 0x86) + 8) == 0) {\n                    /* WARNING: Subroutine does not return */\n    gold::do_gold_unreachable\n              ((char *)(std::wios::rdbuf + unaff_EDI + 4),0x5c,(char *)(unaff_EDI + 0x286d9f));\n  }\n  stub_control.owner_ = (Input_section *)0x0;\n  stub_control.output_section_ = (Output_section *)0x0;\n  table_owner = (Stub_table_owner *)0x0;\n  tables.\n  super__Vector_base<(anonymous_namespace)::Stub_table_owner*,_std::allocator<(anonymous_namespace)::Stub_table_owner*>_>\n  ._M_impl._M_start = (pointer)0x0;\n  tables.\n  super__Vector_base<(anonymous_namespace)::Stub_table_owner*,_std::allocator<(anonymous_namespace)::Stub_table_owner*>_>\n  ._M_impl._M_finish = (pointer)0x0;\n  tables.\n  super__Vector_base<(anonymous_namespace)::Stub_table_owner*,_std::allocator<(anonymous_namespace)::Stub_table_owner*>_>\n  ._M_impl._M_end_of_storage = (pointer)0x0;\n  section_list.super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>.\n  _M_impl._M_start = (pointer)0x0;\n  section_list.super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>.\n  _M_impl._M_finish = (pointer)0x0;\n  section_list.super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>.\n  _M_impl._M_end_of_storage = (pointer)0x0;\n                    /* try { // try from 0006f6c7 to 0006f6cb has its CatchHandler @ 0006fd94 */\n  gold::Layout::get_executable_sections((Layout *)((ulonglong)uVar15 >> 0x20),&section_list);\n  pIVar11 = (Input_section *)\n            ((int)section_list.\n                  super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>.\n                  _M_impl._M_finish -\n             (int)section_list.\n                  super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>.\n                  _M_impl._M_start >> 2);\n  std::get_temporary_buffer<gold::Output_section*>((ptrdiff_t)&local_74);\n  if (local_74 == (void *)0x0) {\n                    /* try { // try from 0006fd2a to 0006fd2e has its CatchHandler @ 0006fd86 */\n    in_stack_ffffff5c =\n         (vector<gold::Output_relaxed_input_section*,_std::allocator<gold::Output_relaxed_input_section*>_>\n          *)0x6fd2f;\n    std::\n    __inplace_stable_sort<__gnu_cxx::__normal_iterator<gold::Output_section**,_std::vector<gold::Output_section*>_>,___gnu_cxx::__ops::_Iter_comp_iter<(anonymous_namespace)::Target_powerpc<64,_false>::Sort_sections>_>\n              ();\n  }\n  else {\n                    /* try { // try from 0006f702 to 0006f706 has its CatchHandler @ 0006fd86 */\n    std::\n    __stable_sort_adaptive<__gnu_cxx::__normal_iterator<gold::Output_section**,_std::vector<gold::Output_section*>_>,_gold::Output_section**,_int,___gnu_cxx::__ops::_Iter_comp_iter<(anonymous_namespace)::Target_powerpc<64,_false>::Sort_sections>_>\n              (local_70,0);\n  }\n  pOVar17 = *(Output_section **)(BYTE_ARRAY_003a4975 + unaff_EDI + 0x2e);\n  operator_delete(local_74,(nothrow_t *)pOVar17);\n  local_7c = section_list.\n             super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>.\n             _M_impl._M_start;\n  if (section_list.super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n      ._M_impl._M_start !=\n      section_list.super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n      ._M_impl._M_finish) {\n    do {\n      pOVar13 = *local_7c;\n      this_02 = (pOVar13->input_sections_).\n                super__Vector_base<gold::Output_section::Input_section,_std::allocator<gold::Output_section::Input_section>_>\n                ._M_impl._M_start;\n      if (this_02 !=\n          (pOVar13->input_sections_).\n          super__Vector_base<gold::Output_section::Input_section,_std::allocator<gold::Output_section::Input_section>_>\n          ._M_impl._M_finish) {\n        do {\n          if (2 < this_02->shndx_ + 3) {\n            pRVar8 = gold::Output_section::Input_section::relobj(this_02);\n            uVar9 = gold::Output_section::Input_section::shndx(this_02);\n            this_01 = (Stub_control *)0x0;\n            if (uVar9 < (pRVar8[3].dyn_reloc_count_ - (int)pRVar8[3].reloc_bases_) +\n                        (pRVar8[3].first_dyn_reloc_ - (int)pRVar8[3].reloc_counts_) * 8) {\n              this_01 = (Stub_control *)\n                        (uint)((pRVar8[3].reloc_counts_[uVar9 >> 5] & 1 << ((byte)uVar9 & 0x1f)) !=\n                              0);\n            }\n            bVar5 = Stub_control::can_add_to_stub_group\n                              (this_01,pOVar17,pIVar11,SUB41(in_stack_ffffff5c,0));\n            if (bVar5) {\n              if (table_owner == (Stub_table_owner *)0x0) goto LAB_0006f76a;\n            }\n            else {\n              table_owner->output_section = stub_control.output_section_;\n              table_owner->owner = stub_control.owner_;\n              stub_control.output_section_ = *local_7c;\n              table_owner = (Stub_table_owner *)0x0;\n              stub_control.owner_ = this_02;\nLAB_0006f76a:\n                    /* try { // try from 0006f772 to 0006f98f has its CatchHandler @ 0006fd94 */\n              table_owner = (Stub_table_owner *)operator_new(8);\n              table_owner->output_section = (Output_section *)0x0;\n              table_owner->owner = (Input_section *)0x0;\n              if (tables.\n                  super__Vector_base<(anonymous_namespace)::Stub_table_owner*,_std::allocator<(anonymous_namespace)::Stub_table_owner*>_>\n                  ._M_impl._M_finish ==\n                  tables.\n                  super__Vector_base<(anonymous_namespace)::Stub_table_owner*,_std::allocator<(anonymous_namespace)::Stub_table_owner*>_>\n                  ._M_impl._M_end_of_storage) {\n                in_stack_ffffff5c =\n                     (vector<gold::Output_relaxed_input_section*,_std::allocator<gold::Output_relaxed_input_section*>_>\n                      *)0x6fc9b;\n                std::\n                vector<(anonymous_namespace)::Stub_table_owner*,_std::allocator<(anonymous_namespace)::Stub_table_owner*>_>\n                ::_M_realloc_insert<(anonymous_namespace)::Stub_table_owner*_const&>\n                          (in_stack_ffffff60,in_stack_ffffff64,in_stack_ffffff68);\n              }\n              else {\n                *tables.\n                 super__Vector_base<(anonymous_namespace)::Stub_table_owner*,_std::allocator<(anonymous_namespace)::Stub_table_owner*>_>\n                 ._M_impl._M_finish = table_owner;\n                tables.\n                super__Vector_base<(anonymous_namespace)::Stub_table_owner*,_std::allocator<(anonymous_namespace)::Stub_table_owner*>_>\n                ._M_impl._M_finish =\n                     tables.\n                     super__Vector_base<(anonymous_namespace)::Stub_table_owner*,_std::allocator<(anonymous_namespace)::Stub_table_owner*>_>\n                     ._M_impl._M_finish + 1;\n              }\n            }\n            iVar10 = (int)tables.\n                          super__Vector_base<(anonymous_namespace)::Stub_table_owner*,_std::allocator<(anonymous_namespace)::Stub_table_owner*>_>\n                          ._M_impl._M_finish -\n                     (int)tables.\n                          super__Vector_base<(anonymous_namespace)::Stub_table_owner*,_std::allocator<(anonymous_namespace)::Stub_table_owner*>_>\n                          ._M_impl._M_start;\n            uVar9 = gold::Output_section::Input_section::shndx(this_02);\n            pcVar12 = pRVar8[4].super_Object.name_._M_dataplus._M_p;\n            __position._M_current = (uint *)pRVar8[4].super_Object.name_._M_string_length;\n            uVar7 = (int)__position._M_current - (int)pcVar12 >> 2;\n            if (uVar7 <= uVar9) {\n              uVar1 = uVar9 + 1;\n              new_relaxed.\n              super__Vector_base<gold::Output_relaxed_input_section*,_std::allocator<gold::Output_relaxed_input_section*>_>\n              ._M_impl._M_start = (pointer)0xffffffff;\n              if (uVar7 < uVar1) {\n                pIVar11 = (Input_section *)(uVar1 - uVar7);\n                in_stack_ffffff5c = &new_relaxed;\n                std::vector<unsigned_int,_std::allocator<unsigned_int>_>::_M_fill_insert\n                          ((vector<unsigned_int,_std::allocator<unsigned_int>_> *)\n                           &pRVar8[4].super_Object.name_,__position,(size_type)pIVar11,\n                           (value_type_conflict1 *)in_stack_ffffff5c);\n                pcVar12 = pRVar8[4].super_Object.name_._M_dataplus._M_p;\n                pOVar17 = (Output_section *)__position._M_current;\n              }\n              else if ((uVar1 < uVar7) && (__position._M_current != (uint *)(pcVar12 + uVar1 * 4)))\n              {\n                pRVar8[4].super_Object.name_._M_string_length = (size_type)(pcVar12 + uVar1 * 4);\n              }\n            }\n            *(int *)(pcVar12 + uVar9 * 4) = (iVar10 >> 2) + -1;\n            pOVar13 = *local_7c;\n          }\n          this_02 = this_02 + 1;\n        } while ((pOVar13->input_sections_).\n                 super__Vector_base<gold::Output_section::Input_section,_std::allocator<gold::Output_section::Input_section>_>\n                 ._M_impl._M_finish != this_02);\n      }\n      local_7c = local_7c + 1;\n    } while (section_list.\n             super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>.\n             _M_impl._M_finish != local_7c);\n  }\n  if (table_owner != (Stub_table_owner *)0x0) {\n    table_owner->output_section = stub_control.output_section_;\n    table_owner->owner = stub_control.owner_;\n  }\n  pp_Var18 = (_func_int_varargs **)(unaff_EDI + 0x39d467);\n  local_7c = (pointer)tables.\n                      super__Vector_base<(anonymous_namespace)::Stub_table_owner*,_std::allocator<(anonymous_namespace)::Stub_table_owner*>_>\n                      ._M_impl._M_start;\n  if (tables.\n      super__Vector_base<(anonymous_namespace)::Stub_table_owner*,_std::allocator<(anonymous_namespace)::Stub_table_owner*>_>\n      ._M_impl._M_start !=\n      tables.\n      super__Vector_base<(anonymous_namespace)::Stub_table_owner*,_std::allocator<(anonymous_namespace)::Stub_table_owner*>_>\n      ._M_impl._M_finish) {\n    do {\n      pIVar11 = ((Stub_table_owner *)*local_7c)->owner;\n      if (pIVar11->shndx_ + 4 < 4) {\n        if (pIVar11->shndx_ != 0xfffffffc) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0006fd4d to 0006fd51 has its CatchHandler @ 0006fd94 */\n          gold::do_gold_unreachable\n                    ((char *)(unaff_EDI + 0x28787b),0xcc1,(char *)(unaff_EDI + 0x2866cf));\n        }\n        this_00 = pIVar11->u2_;\nLAB_0006f914:\n        paVar14 = (anon_union_4_4_139239c7_for_u2_ *)\n                  pCVar6[3]._M_t._M_impl.super__Rb_tree_header._M_header._M_parent;\n        if (paVar14 ==\n            (anon_union_4_4_139239c7_for_u2_ *)\n            pCVar6[3]._M_t._M_impl.super__Rb_tree_header._M_header._M_left) goto LAB_0006fbb0;\nLAB_0006f926:\n        paVar14->object = (Relobj *)this_00;\n        pCVar6[3]._M_t._M_impl.super__Rb_tree_header._M_header._M_parent = (_Base_ptr)(paVar14 + 1);\n      }\n      else {\n        pOVar17 = ((Stub_table_owner *)*local_7c)->output_section;\n        p_Var3 = pCVar6[3]._M_t._M_impl.super__Rb_tree_header._M_header._M_parent;\n        _Var4 = pCVar6[3]._M_t._M_impl.super__Rb_tree_header._M_header._M_color;\n        this_00.object = (Relobj *)operator_new(0xb0);\n                    /* try { // try from 0006f998 to 0006f9e1 has its CatchHandler @ 0006fd8d */\n        pRVar8 = gold::Output_section::Input_section::relobj(pIVar11);\n        uVar9 = gold::Output_section::Input_section::shndx(pIVar11);\n        iVar10 = (*(pRVar8->super_Object)._vptr_Object[0x17])(pRVar8,uVar9);\n        uVar9 = gold::Output_section::Input_section::shndx(pIVar11);\n        pRVar8 = gold::Output_section::Input_section::relobj(pIVar11);\n        (this_00.poris)->relobj_ = pRVar8;\n        ppIVar2 = &((this_00.object)->super_Object).input_file_;\n        *(byte *)ppIVar2 = *(byte *)ppIVar2 & 0xe0;\n        *(int *)((int)&((this_00.object)->super_Object).offset_ + 4) = iVar10;\n        (this_00.poris)->shndx_ = uVar9;\n        ((this_00.object)->super_Object).name_._M_dataplus._M_p = (pointer)0x0;\n        ((this_00.object)->super_Object).name_._M_string_length = 0;\n        ((this_00.object)->super_Object).name_.field_2._M_allocated_capacity = 0;\n        *(undefined4 *)((int)&((this_00.object)->super_Object).name_.field_2 + 4) = 0;\n        *(undefined4 *)((int)&((this_00.object)->super_Object).name_.field_2 + 8) = 0xffffffff;\n        *(undefined4 *)((int)&((this_00.object)->super_Object).name_.field_2 + 0xc) = 0xffffffff;\n        *(undefined4 *)&((this_00.object)->super_Object).offset_ = 0;\n        ((this_00.object)->super_Object).shnum_ = extraout_EDX;\n        ((this_00.object)->super_Object).compressed_sections_ = pCVar6;\n        ((this_00.object)->super_Object)._vptr_Object = pp_Var18;\n        uVar9 = 0;\n        do {\n          *(undefined4 *)\n           ((int)&((this_00.object)->output_sections_).\n                  super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>.\n                  _M_impl._M_start + uVar9) = 0;\n          uVar9 = uVar9 + 4;\n        } while (uVar9 < 0x1c);\n        (this_00.pomb)->first_shndx_ = 1;\n        ((this_00.object)->output_sections_).\n        super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>._M_impl.\n        _M_end_of_storage = (pointer)0x0;\n        (this_00.object)->map_to_relocatable_relocs_ =\n             (vector<gold::Relocatable_relocs*,_std::allocator<gold::Relocatable_relocs*>_> *)0x0;\n        (this_00.object)->object_merge_map_ = (Object_merge_map *)0x3f800000;\n        ((this_00.pomb)->input_sections_)._M_h._M_element_count = 0;\n        (this_00.object)->rd_ = (Read_relocs_data *)0x0;\n        ((this_00.object)->output_sections_).\n        super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>._M_impl.\n        _M_start = (pointer)&(this_00.object)->rd_;\n        uVar9 = 0;\n        do {\n          *(undefined4 *)((int)&(this_00.object)->sd_ + uVar9) = 0;\n          uVar9 = uVar9 + 4;\n        } while (uVar9 < 0x1c);\n        (this_00.object)->reloc_counts_ = (uint *)0x1;\n        (this_00.object)->sd_ = (Symbols_data *)&this_00.object[1].super_Object.name_;\n        (this_00.object)->reloc_bases_ = (uint *)0x0;\n        (this_00.object)->first_dyn_reloc_ = 0;\n        (this_00.object)->dyn_reloc_count_ = 0x3f800000;\n        this_00.object[1].super_Object._vptr_Object = (_func_int_varargs **)0x0;\n        this_00.object[1].super_Object.name_._M_dataplus._M_p = (pointer)0x0;\n                    /* try { // try from 0006fadc to 0006fb48 has its CatchHandler @ 0006fd7f */\n        oVar16 = gold::Output_section::Input_section::current_data_size(pIVar11);\n        this_00.object[1].super_Object.name_._M_string_length = (size_type)oVar16;\n        this_00.object[1].super_Object.name_.field_2._M_allocated_capacity = 0;\n        *(undefined4 *)((int)&this_00.object[1].super_Object.name_.field_2 + 4) = 0;\n        *(undefined4 *)((int)&this_00.object[1].super_Object.name_.field_2 + 8) = 0;\n        *(undefined4 *)((int)&this_00.object[1].super_Object.name_.field_2 + 0xc) = 0;\n        this_00.object[1].super_Object.input_file_ = (Input_file *)0x0;\n        *(undefined4 *)&this_00.object[1].super_Object.offset_ = 0;\n        *(undefined1 *)((int)&this_00.object[1].super_Object.offset_ + 4) = 0;\n        this_00.object[1].super_Object.shnum_ = (int)((int)p_Var3 - _Var4) >> 2;\n        *(undefined4 *)&this_00.object[1].super_Object.field_0x2c = 0xffffffff;\n        this_00.object[1].super_Object.xindex_ = (Xindex *)0x0;\n        gold::Output_section_data::set_output_section(this_00.posd,pOVar17);\n        new_relaxed.\n        super__Vector_base<gold::Output_relaxed_input_section*,_std::allocator<gold::Output_relaxed_input_section*>_>\n        ._M_impl._M_start = (pointer)0x0;\n        new_relaxed.\n        super__Vector_base<gold::Output_relaxed_input_section*,_std::allocator<gold::Output_relaxed_input_section*>_>\n        ._M_impl._M_finish = (pointer)0x0;\n        new_relaxed.\n        super__Vector_base<gold::Output_relaxed_input_section*,_std::allocator<gold::Output_relaxed_input_section*>_>\n        ._M_impl._M_end_of_storage = (pointer)0x0;\n        local_64.object = this_00.object;\n                    /* try { // try from 0006fb6b to 0006fb7c has its CatchHandler @ 0006fd78 */\n        std::\n        vector<gold::Output_relaxed_input_section*,_std::allocator<gold::Output_relaxed_input_section*>_>\n        ::emplace_back<gold::Output_relaxed_input_section*>(&new_relaxed,&local_64.poris);\n        gold::Output_section::convert_input_sections_to_relaxed_sections(pOVar17,&new_relaxed);\n        if (new_relaxed.\n            super__Vector_base<gold::Output_relaxed_input_section*,_std::allocator<gold::Output_relaxed_input_section*>_>\n            ._M_impl._M_start == (pointer)0x0) goto LAB_0006f914;\n        operator_delete(new_relaxed.\n                        super__Vector_base<gold::Output_relaxed_input_section*,_std::allocator<gold::Output_relaxed_input_section*>_>\n                        ._M_impl._M_start);\n        paVar14 = (anon_union_4_4_139239c7_for_u2_ *)\n                  pCVar6[3]._M_t._M_impl.super__Rb_tree_header._M_header._M_parent;\n        if (paVar14 !=\n            (anon_union_4_4_139239c7_for_u2_ *)\n            pCVar6[3]._M_t._M_impl.super__Rb_tree_header._M_header._M_left) goto LAB_0006f926;\nLAB_0006fbb0:\n        __src = (anon_union_4_4_139239c7_for_u2_ *)\n                pCVar6[3]._M_t._M_impl.super__Rb_tree_header._M_header._M_color;\n        __n = (int)paVar14 - (int)__src;\n        uVar9 = (int)__n >> 2;\n        if (uVar9 == 0) {\n          local_8c = (_Base_ptr)0x4;\nLAB_0006fbe3:\n                    /* try { // try from 0006fbef to 0006fc9a has its CatchHandler @ 0006fd94 */\n          __dest = operator_new((uint)local_8c);\n          local_8c = (_Base_ptr)((int)local_8c + (int)__dest);\n        }\n        else {\n          local_8c = (_Base_ptr)0xfffffffc;\n          uVar7 = uVar9 * 2;\n          if ((uVar7 < uVar9) || (0x3fffffff < uVar7)) goto LAB_0006fbe3;\n          if (uVar7 != 0) {\n            local_8c = (_Base_ptr)(uVar9 << 3);\n            goto LAB_0006fbe3;\n          }\n          local_8c = (_Base_ptr)0x0;\n          __dest = (void *)0x0;\n        }\n        ((anon_union_4_4_139239c7_for_u2_ *)((int)__dest + __n))->object = (Relobj *)this_00;\n        if (paVar14 == __src) {\n          if (__src != (anon_union_4_4_139239c7_for_u2_ *)0x0) goto LAB_0006fc33;\n        }\n        else {\n          memmove(__dest,__src,__n);\nLAB_0006fc33:\n          operator_delete(__src);\n        }\n        pCVar6[3]._M_t._M_impl.super__Rb_tree_header._M_header._M_color = (_Rb_tree_color)__dest;\n        pCVar6[3]._M_t._M_impl.super__Rb_tree_header._M_header._M_parent =\n             (_Base_ptr)((int)__dest + __n + 4);\n        pCVar6[3]._M_t._M_impl.super__Rb_tree_header._M_header._M_left = local_8c;\n      }\n      operator_delete((Stub_table_owner *)*local_7c,8);\n      local_7c = local_7c + 1;\n    } while ((pointer)tables.\n                      super__Vector_base<(anonymous_namespace)::Stub_table_owner*,_std::allocator<(anonymous_namespace)::Stub_table_owner*>_>\n                      ._M_impl._M_finish != local_7c);\n  }\n  if (section_list.super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n      ._M_impl._M_start != (pointer)0x0) {\n    operator_delete(section_list.\n                    super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                    ._M_impl._M_start);\n  }\n  if (tables.\n      super__Vector_base<(anonymous_namespace)::Stub_table_owner*,_std::allocator<(anonymous_namespace)::Stub_table_owner*>_>\n      ._M_impl._M_start != (pointer)0x0) {\n    operator_delete(tables.\n                    super__Vector_base<(anonymous_namespace)::Stub_table_owner*,_std::allocator<(anonymous_namespace)::Stub_table_owner*>_>\n                    ._M_impl._M_start);\n  }\n  return;\n}\n\n" comment comment (declaration "void __thiscall\nanon_unknown.dwarf_2af53c::Target_powerpc<64,_false>::group_sections\n          (Target_powerpc<64,_false> *this,Layout *layout,Task *param_2,bool no_size_errors)\n\n{\n  uint uVar1;" primitive_type (ms_call_modifier "__thiscall" __thiscall) (ERROR "anon_unknown.dwarf_2af53c::" identifier . identifier : :) identifier (ERROR "<64" < number_literal) , (ERROR "_false>::group_sections\n          (Target_powerpc<64,_false> *this,Layout *layout,Task *param_2,bool no_size_errors)\n\n{\n  uint" identifier > : : (function_declarator "group_sections\n          (Target_powerpc<64,_false> *this,Layout *layout,Task *param_2,bool no_size_errors)" identifier (parameter_list "(Target_powerpc<64,_false> *this,Layout *layout,Task *param_2,bool no_size_errors)" ( (parameter_declaration "Target_powerpc" type_identifier) (ERROR "<64" < number_literal) , (parameter_declaration "_false> *this" type_identifier (ERROR ">" >) (pointer_declarator "*this" * identifier)) , (parameter_declaration "Layout *layout" type_identifier (pointer_declarator "*layout" * identifier)) , (parameter_declaration "Task *param_2" type_identifier (pointer_declarator "*param_2" * identifier)) , (parameter_declaration "bool no_size_errors" primitive_type identifier) ))) { identifier) identifier ;) (declaration "Input_file **ppIVar2;" type_identifier (pointer_declarator "**ppIVar2" * (pointer_declarator "*ppIVar2" * identifier)) ;) (declaration "_Base_ptr p_Var3;" type_identifier identifier ;) (declaration "_Rb_tree_color _Var4;" type_identifier identifier ;) (declaration "anon_union_4_4_139239c7_for_u2_ *__src;" type_identifier (pointer_declarator "*__src" * identifier) ;) (declaration "bool bVar5;" primitive_type identifier ;) (declaration "Compressed_section_map *pCVar6;" type_identifier (pointer_declarator "*pCVar6" * identifier) ;) (declaration "uint uVar7;" type_identifier identifier ;) (declaration "anon_union_4_4_139239c7_for_u2_ this_00;" type_identifier identifier ;) (declaration "Relobj *pRVar8;" type_identifier (pointer_declarator "*pRVar8" * identifier) ;) (declaration "uint uVar9;" type_identifier identifier ;) (declaration "int iVar10;" primitive_type identifier ;) (declaration "size_t __n;" primitive_type identifier ;) (declaration "void *__dest;" primitive_type (pointer_declarator "*__dest" * identifier) ;) (declaration "Input_section *pIVar11;" type_identifier (pointer_declarator "*pIVar11" * identifier) ;) (declaration "Stub_control *this_01;" type_identifier (pointer_declarator "*this_01" * identifier) ;) (declaration "pointer pcVar12;" type_identifier identifier ;) (declaration "Output_section *pOVar13;" type_identifier (pointer_declarator "*pOVar13" * identifier) ;) (declaration "uint extraout_EDX;" type_identifier identifier ;) (declaration "Input_section *this_02;" type_identifier (pointer_declarator "*this_02" * identifier) ;) (declaration "int unaff_EDI;" primitive_type identifier ;) (declaration "anon_union_4_4_139239c7_for_u2_ *paVar14;" type_identifier (pointer_declarator "*paVar14" * identifier) ;) (declaration "undefined8 uVar15;" type_identifier identifier ;) (declaration "off_t oVar16;" type_identifier identifier ;) (declaration "Output_section *pOVar17;" type_identifier (pointer_declarator "*pOVar17" * identifier) ;) (declaration "iterator __position;" type_identifier identifier ;) (ERROR "vector<gold::Output_relaxed_input_section*,_std::allocator<gold::Output_relaxed_input_section*>_>\n  *in_stack_ffffff5c" (binary_expression "vector<gold" identifier < identifier) : : (binary_expression "Output_relaxed_input_section*,_std" identifier * (ERROR "," ,) identifier) : : (binary_expression "allocator<gold" identifier < identifier) : : (binary_expression "Output_relaxed_input_section*>_>\n  *in_stack_ffffff5c" (binary_expression "Output_relaxed_input_section*>_" identifier * (ERROR ">" >) identifier) > (pointer_expression "*in_stack_ffffff5c" * identifier))) (expression_statement ";" ;) (expression_statement "vector<(anonymous_namespace)::Stub_table_owner*,_std::allocator<(anonymous_namespace)::Stub_table_owner*>_>\n  *in_stack_ffffff60;" (update_expression "vector<(anonymous_namespace)::Stub_table_owner*,_std::allocator<(anonymous_namespace)::Stub_table_owner*>_>\n  *in_stack_ffffff60" (binary_expression "vector<(anonymous_namespace)::Stub_table_owner*,_std::allocator<(anonymous_namespace)::Stub_table_owner*>_>\n  *in_stack_ffffff60" (binary_expression "vector<(anonymous_namespace)::Stub_table_owner*,_std::allocator<(anonymous_namespace)::Stub_table_owner*>_" (binary_expression "vector<(anonymous_namespace)::Stub_table_owner*,_std::allocator<(anonymous_namespace)" (binary_expression "vector<(anonymous_namespace)::Stub_table_owner*,_std" (binary_expression "vector<(anonymous_namespace)" identifier < (parenthesized_expression "(anonymous_namespace)" ( identifier ))) (ERROR "::Stub_table_owner" : : identifier) * (ERROR "," ,) identifier) (ERROR "::allocator" : : identifier) < (parenthesized_expression "(anonymous_namespace)" ( identifier ))) (ERROR "::Stub_table_owner" : : identifier) * (ERROR ">" >) identifier) > (pointer_expression "*in_stack_ffffff60" * identifier)) --) ;) (declaration "iterator in_stack_ffffff64;" type_identifier identifier ;) (declaration "Stub_table_owner **in_stack_ffffff68;" type_identifier (pointer_declarator "**in_stack_ffffff68" * (pointer_declarator "*in_stack_ffffff68" * identifier)) ;) (declaration "_func_int_varargs **pp_Var18;" type_identifier (pointer_declarator "**pp_Var18" * (pointer_declarator "*pp_Var18" * identifier)) ;) (declaration "_Base_ptr local_8c;" type_identifier identifier ;) (declaration "pointer local_7c;" type_identifier identifier ;) (declaration "void *local_74;" primitive_type (pointer_declarator "*local_74" * identifier) ;) (declaration "undefined4 local_70;" type_identifier identifier ;) (declaration "Stub_table_owner *table_owner;" type_identifier (pointer_declarator "*table_owner" * identifier) ;) (declaration "anon_union_4_4_139239c7_for_u2_ local_64;" type_identifier identifier ;) (expression_statement "vector<(anonymous_namespace)::Stub_table_owner*,_std::allocator<(anonymous_namespace)::Stub_table_owner*>_>\n  tables;" (update_expression "vector<(anonymous_namespace)::Stub_table_owner*,_std::allocator<(anonymous_namespace)::Stub_table_owner*>_>\n  tables" (binary_expression "vector<(anonymous_namespace)::Stub_table_owner*,_std::allocator<(anonymous_namespace)::Stub_table_owner*>_>\n  tables" (binary_expression "vector<(anonymous_namespace)::Stub_table_owner*,_std::allocator<(anonymous_namespace)::Stub_table_owner*>_" (binary_expression "vector<(anonymous_namespace)::Stub_table_owner*,_std::allocator<(anonymous_namespace)" (binary_expression "vector<(anonymous_namespace)::Stub_table_owner*,_std" (binary_expression "vector<(anonymous_namespace)" identifier < (parenthesized_expression "(anonymous_namespace)" ( identifier ))) (ERROR "::Stub_table_owner" : : identifier) * (ERROR "," ,) identifier) (ERROR "::allocator" : : identifier) < (parenthesized_expression "(anonymous_namespace)" ( identifier ))) (ERROR "::Stub_table_owner" : : identifier) * (ERROR ">" >) identifier) > identifier) --) ;) (declaration "Section_list section_list;" type_identifier identifier ;) (ERROR "vector<gold::Output_relaxed_input_section*,_std::allocator<gold::Output_relaxed_input_section*>_>\n  new_relaxed" (binary_expression "vector<gold" identifier < identifier) : : (binary_expression "Output_relaxed_input_section*,_std" identifier * (ERROR "," ,) identifier) : : (binary_expression "allocator<gold" identifier < identifier) : : (binary_expression "Output_relaxed_input_section*>_>\n  new_relaxed" (binary_expression "Output_relaxed_input_section*>_" identifier * (ERROR ">" >) identifier) > identifier)) (expression_statement ";" ;) (declaration "Stub_control stub_control;" type_identifier identifier ;) (expression_statement "uVar15 = __x86_get_pc_thunk_di();" (assignment_expression "uVar15 = __x86_get_pc_thunk_di()" identifier = (call_expression "__x86_get_pc_thunk_di()" identifier (argument_list "()" ( )))) ;) (expression_statement "pCVar6 = (Compressed_section_map *)uVar15;" (assignment_expression "pCVar6 = (Compressed_section_map *)uVar15" identifier = (cast_expression "(Compressed_section_map *)uVar15" ( (type_descriptor "Compressed_section_map *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (if_statement "if (*(int *)(*(int *)(BYTE_ARRAY_003a4e59 + unaff_EDI + 0x86) + 8) == 0) {\n                    /* WARNING: Subroutine does not return */\n    gold::do_gold_unreachable\n              ((char *)(std::wios::rdbuf + unaff_EDI + 4),0x5c,(char *)(unaff_EDI + 0x286d9f));\n  }" if (parenthesized_expression "(*(int *)(*(int *)(BYTE_ARRAY_003a4e59 + unaff_EDI + 0x86) + 8) == 0)" ( (binary_expression "*(int *)(*(int *)(BYTE_ARRAY_003a4e59 + unaff_EDI + 0x86) + 8) == 0" (pointer_expression "*(int *)(*(int *)(BYTE_ARRAY_003a4e59 + unaff_EDI + 0x86) + 8)" * (cast_expression "(int *)(*(int *)(BYTE_ARRAY_003a4e59 + unaff_EDI + 0x86) + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(BYTE_ARRAY_003a4e59 + unaff_EDI + 0x86) + 8)" ( (binary_expression "*(int *)(BYTE_ARRAY_003a4e59 + unaff_EDI + 0x86) + 8" (pointer_expression "*(int *)(BYTE_ARRAY_003a4e59 + unaff_EDI + 0x86)" * (cast_expression "(int *)(BYTE_ARRAY_003a4e59 + unaff_EDI + 0x86)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(BYTE_ARRAY_003a4e59 + unaff_EDI + 0x86)" ( (binary_expression "BYTE_ARRAY_003a4e59 + unaff_EDI + 0x86" (binary_expression "BYTE_ARRAY_003a4e59 + unaff_EDI" identifier + identifier) + number_literal) )))) + number_literal) )))) == number_literal) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n    gold::do_gold_unreachable\n              ((char *)(std::wios::rdbuf + unaff_EDI + 4),0x5c,(char *)(unaff_EDI + 0x286d9f));\n  }" { comment (labeled_statement "gold::do_gold_unreachable\n              ((char *)(std::wios::rdbuf + unaff_EDI + 4),0x5c,(char *)(unaff_EDI + 0x286d9f));" statement_identifier : (ERROR ":" :) (expression_statement "do_gold_unreachable\n              ((char *)(std::wios::rdbuf + unaff_EDI + 4),0x5c,(char *)(unaff_EDI + 0x286d9f));" (call_expression "do_gold_unreachable\n              ((char *)(std::wios::rdbuf + unaff_EDI + 4),0x5c,(char *)(unaff_EDI + 0x286d9f))" identifier (argument_list "((char *)(std::wios::rdbuf + unaff_EDI + 4),0x5c,(char *)(unaff_EDI + 0x286d9f))" ( (cast_expression "(char *)(std::wios::rdbuf + unaff_EDI + 4)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(std::wios::rdbuf + unaff_EDI + 4)" ( (ERROR "std::wios::" identifier : : identifier : :) (binary_expression "rdbuf + unaff_EDI + 4" (binary_expression "rdbuf + unaff_EDI" identifier + identifier) + number_literal) ))) , number_literal , (cast_expression "(char *)(unaff_EDI + 0x286d9f)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EDI + 0x286d9f)" ( (binary_expression "unaff_EDI + 0x286d9f" identifier + number_literal) ))) ))) ;)) })) (expression_statement "stub_control.owner_ = (Input_section *)0x0;" (assignment_expression "stub_control.owner_ = (Input_section *)0x0" (field_expression "stub_control.owner_" identifier . field_identifier) = (cast_expression "(Input_section *)0x0" ( (type_descriptor "Input_section *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "stub_control.output_section_ = (Output_section *)0x0;" (assignment_expression "stub_control.output_section_ = (Output_section *)0x0" (field_expression "stub_control.output_section_" identifier . field_identifier) = (cast_expression "(Output_section *)0x0" ( (type_descriptor "Output_section *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "table_owner = (Stub_table_owner *)0x0;" (assignment_expression "table_owner = (Stub_table_owner *)0x0" identifier = (cast_expression "(Stub_table_owner *)0x0" ( (type_descriptor "Stub_table_owner *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "tables.\n  super__Vector_base<(anonymous_namespace)::Stub_table_owner*,_std::allocator<(anonymous_namespace)::Stub_table_owner*>_>\n  ._M_impl._M_start = (pointer)0x0;" (assignment_expression "tables.\n  super__Vector_base<(anonymous_namespace)::Stub_table_owner*,_std::allocator<(anonymous_namespace)::Stub_table_owner*>_>\n  ._M_impl._M_start = (pointer)0x0" (field_expression "tables.\n  super__Vector_base<(anonymous_namespace)::Stub_table_owner*,_std::allocator<(anonymous_namespace)::Stub_table_owner*>_>\n  ._M_impl._M_start" (field_expression "tables.\n  super__Vector_base<(anonymous_namespace)::Stub_table_owner*,_std::allocator<(anonymous_namespace)::Stub_table_owner*>_>\n  ._M_impl" (binary_expression "tables.\n  super__Vector_base<(anonymous_namespace)::Stub_table_owner*,_std::allocator<(anonymous_namespace)::Stub_table_owner*>_" (binary_expression "tables.\n  super__Vector_base<(anonymous_namespace)::Stub_table_owner*,_std::allocator<(anonymous_namespace)" (binary_expression "tables.\n  super__Vector_base<(anonymous_namespace)::Stub_table_owner*,_std" (binary_expression "tables.\n  super__Vector_base<(anonymous_namespace)" (field_expression "tables.\n  super__Vector_base" identifier . field_identifier) < (parenthesized_expression "(anonymous_namespace)" ( identifier ))) (ERROR "::Stub_table_owner" : : identifier) * (ERROR "," ,) identifier) (ERROR "::allocator" : : identifier) < (parenthesized_expression "(anonymous_namespace)" ( identifier ))) (ERROR "::Stub_table_owner" : : identifier) * (ERROR ">" >) identifier) (ERROR ">" >) . field_identifier) . field_identifier) = (cast_expression "(pointer)0x0" ( (type_descriptor "pointer" type_identifier) ) number_literal)) ;) (expression_statement "tables.\n  super__Vector_base<(anonymous_namespace)::Stub_table_owner*,_std::allocator<(anonymous_namespace)::Stub_table_owner*>_>\n  ._M_impl._M_finish = (pointer)0x0;" (assignment_expression "tables.\n  super__Vector_base<(anonymous_namespace)::Stub_table_owner*,_std::allocator<(anonymous_namespace)::Stub_table_owner*>_>\n  ._M_impl._M_finish = (pointer)0x0" (field_expression "tables.\n  super__Vector_base<(anonymous_namespace)::Stub_table_owner*,_std::allocator<(anonymous_namespace)::Stub_table_owner*>_>\n  ._M_impl._M_finish" (field_expression "tables.\n  super__Vector_base<(anonymous_namespace)::Stub_table_owner*,_std::allocator<(anonymous_namespace)::Stub_table_owner*>_>\n  ._M_impl" (binary_expression "tables.\n  super__Vector_base<(anonymous_namespace)::Stub_table_owner*,_std::allocator<(anonymous_namespace)::Stub_table_owner*>_" (binary_expression "tables.\n  super__Vector_base<(anonymous_namespace)::Stub_table_owner*,_std::allocator<(anonymous_namespace)" (binary_expression "tables.\n  super__Vector_base<(anonymous_namespace)::Stub_table_owner*,_std" (binary_expression "tables.\n  super__Vector_base<(anonymous_namespace)" (field_expression "tables.\n  super__Vector_base" identifier . field_identifier) < (parenthesized_expression "(anonymous_namespace)" ( identifier ))) (ERROR "::Stub_table_owner" : : identifier) * (ERROR "," ,) identifier) (ERROR "::allocator" : : identifier) < (parenthesized_expression "(anonymous_namespace)" ( identifier ))) (ERROR "::Stub_table_owner" : : identifier) * (ERROR ">" >) identifier) (ERROR ">" >) . field_identifier) . field_identifier) = (cast_expression "(pointer)0x0" ( (type_descriptor "pointer" type_identifier) ) number_literal)) ;) (expression_statement "tables.\n  super__Vector_base<(anonymous_namespace)::Stub_table_owner*,_std::allocator<(anonymous_namespace)::Stub_table_owner*>_>\n  ._M_impl._M_end_of_storage = (pointer)0x0;" (assignment_expression "tables.\n  super__Vector_base<(anonymous_namespace)::Stub_table_owner*,_std::allocator<(anonymous_namespace)::Stub_table_owner*>_>\n  ._M_impl._M_end_of_storage = (pointer)0x0" (field_expression "tables.\n  super__Vector_base<(anonymous_namespace)::Stub_table_owner*,_std::allocator<(anonymous_namespace)::Stub_table_owner*>_>\n  ._M_impl._M_end_of_storage" (field_expression "tables.\n  super__Vector_base<(anonymous_namespace)::Stub_table_owner*,_std::allocator<(anonymous_namespace)::Stub_table_owner*>_>\n  ._M_impl" (binary_expression "tables.\n  super__Vector_base<(anonymous_namespace)::Stub_table_owner*,_std::allocator<(anonymous_namespace)::Stub_table_owner*>_" (binary_expression "tables.\n  super__Vector_base<(anonymous_namespace)::Stub_table_owner*,_std::allocator<(anonymous_namespace)" (binary_expression "tables.\n  super__Vector_base<(anonymous_namespace)::Stub_table_owner*,_std" (binary_expression "tables.\n  super__Vector_base<(anonymous_namespace)" (field_expression "tables.\n  super__Vector_base" identifier . field_identifier) < (parenthesized_expression "(anonymous_namespace)" ( identifier ))) (ERROR "::Stub_table_owner" : : identifier) * (ERROR "," ,) identifier) (ERROR "::allocator" : : identifier) < (parenthesized_expression "(anonymous_namespace)" ( identifier ))) (ERROR "::Stub_table_owner" : : identifier) * (ERROR ">" >) identifier) (ERROR ">" >) . field_identifier) . field_identifier) = (cast_expression "(pointer)0x0" ( (type_descriptor "pointer" type_identifier) ) number_literal)) ;) (expression_statement "section_list.super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>.\n  _M_impl._M_start = (pointer)0x0;" (assignment_expression "section_list.super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>.\n  _M_impl._M_start = (pointer)0x0" (field_expression "section_list.super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>.\n  _M_impl._M_start" (field_expression "section_list.super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>.\n  _M_impl" (binary_expression "section_list.super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_" (binary_expression "section_list.super__Vector_base<gold::Output_section*,_std::allocator<gold" (binary_expression "section_list.super__Vector_base<gold::Output_section*,_std" (binary_expression "section_list.super__Vector_base<gold" (field_expression "section_list.super__Vector_base" identifier . field_identifier) < identifier) (ERROR "::Output_section" : : identifier) * (ERROR "," ,) identifier) (ERROR "::allocator" : : identifier) < identifier) (ERROR "::Output_section" : : identifier) * (ERROR ">" >) identifier) (ERROR ">" >) . field_identifier) . field_identifier) = (cast_expression "(pointer)0x0" ( (type_descriptor "pointer" type_identifier) ) number_literal)) ;) (expression_statement "section_list.super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>.\n  _M_impl._M_finish = (pointer)0x0;" (assignment_expression "section_list.super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>.\n  _M_impl._M_finish = (pointer)0x0" (field_expression "section_list.super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>.\n  _M_impl._M_finish" (field_expression "section_list.super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>.\n  _M_impl" (binary_expression "section_list.super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_" (binary_expression "section_list.super__Vector_base<gold::Output_section*,_std::allocator<gold" (binary_expression "section_list.super__Vector_base<gold::Output_section*,_std" (binary_expression "section_list.super__Vector_base<gold" (field_expression "section_list.super__Vector_base" identifier . field_identifier) < identifier) (ERROR "::Output_section" : : identifier) * (ERROR "," ,) identifier) (ERROR "::allocator" : : identifier) < identifier) (ERROR "::Output_section" : : identifier) * (ERROR ">" >) identifier) (ERROR ">" >) . field_identifier) . field_identifier) = (cast_expression "(pointer)0x0" ( (type_descriptor "pointer" type_identifier) ) number_literal)) ;) (expression_statement "section_list.super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>.\n  _M_impl._M_end_of_storage = (pointer)0x0;" (assignment_expression "section_list.super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>.\n  _M_impl._M_end_of_storage = (pointer)0x0" (field_expression "section_list.super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>.\n  _M_impl._M_end_of_storage" (field_expression "section_list.super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>.\n  _M_impl" (binary_expression "section_list.super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_" (binary_expression "section_list.super__Vector_base<gold::Output_section*,_std::allocator<gold" (binary_expression "section_list.super__Vector_base<gold::Output_section*,_std" (binary_expression "section_list.super__Vector_base<gold" (field_expression "section_list.super__Vector_base" identifier . field_identifier) < identifier) (ERROR "::Output_section" : : identifier) * (ERROR "," ,) identifier) (ERROR "::allocator" : : identifier) < identifier) (ERROR "::Output_section" : : identifier) * (ERROR ">" >) identifier) (ERROR ">" >) . field_identifier) . field_identifier) = (cast_expression "(pointer)0x0" ( (type_descriptor "pointer" type_identifier) ) number_literal)) ;) comment (labeled_statement "gold::Layout::get_executable_sections((Layout *)((ulonglong)uVar15 >> 0x20),&section_list);" statement_identifier : (ERROR ":" :) (labeled_statement "Layout::get_executable_sections((Layout *)((ulonglong)uVar15 >> 0x20),&section_list);" statement_identifier : (ERROR ":" :) (expression_statement "get_executable_sections((Layout *)((ulonglong)uVar15 >> 0x20),&section_list);" (call_expression "get_executable_sections((Layout *)((ulonglong)uVar15 >> 0x20),&section_list)" identifier (argument_list "((Layout *)((ulonglong)uVar15 >> 0x20),&section_list)" ( (cast_expression "(Layout *)((ulonglong)uVar15 >> 0x20)" ( (type_descriptor "Layout *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((ulonglong)uVar15 >> 0x20)" ( (binary_expression "(ulonglong)uVar15 >> 0x20" (cast_expression "(ulonglong)uVar15" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) ))) , (pointer_expression "&section_list" & identifier) ))) ;))) (expression_statement "pIVar11 = (Input_section *)\n            ((int)section_list.\n                  super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>.\n                  _M_impl._M_finish -\n             (int)section_list.\n                  super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>.\n                  _M_impl._M_start >> 2);" (assignment_expression "pIVar11 = (Input_section *)\n            ((int)section_list.\n                  super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>.\n                  _M_impl._M_finish -\n             (int)section_list.\n                  super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>.\n                  _M_impl._M_start >> 2)" identifier = (cast_expression "(Input_section *)\n            ((int)section_list.\n                  super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>.\n                  _M_impl._M_finish -\n             (int)section_list.\n                  super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>.\n                  _M_impl._M_start >> 2)" ( (type_descriptor "Input_section *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)section_list.\n                  super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>.\n                  _M_impl._M_finish -\n             (int)section_list.\n                  super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>.\n                  _M_impl._M_start >> 2)" ( (binary_expression "(int)section_list.\n                  super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>.\n                  _M_impl._M_finish -\n             (int)section_list.\n                  super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>.\n                  _M_impl._M_start >> 2" (field_expression "(int)section_list.\n                  super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>.\n                  _M_impl._M_finish -\n             (int)section_list.\n                  super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>.\n                  _M_impl._M_start" (field_expression "(int)section_list.\n                  super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>.\n                  _M_impl._M_finish -\n             (int)section_list.\n                  super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>.\n                  _M_impl" (binary_expression "(int)section_list.\n                  super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>.\n                  _M_impl._M_finish -\n             (int)section_list.\n                  super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_" (binary_expression "(int)section_list.\n                  super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>.\n                  _M_impl._M_finish -\n             (int)section_list.\n                  super__Vector_base<gold::Output_section*,_std::allocator<gold" (binary_expression "(int)section_list.\n                  super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>.\n                  _M_impl._M_finish -\n             (int)section_list.\n                  super__Vector_base<gold::Output_section*,_std" (binary_expression "(int)section_list.\n                  super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>.\n                  _M_impl._M_finish -\n             (int)section_list.\n                  super__Vector_base<gold" (binary_expression "(int)section_list.\n                  super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>.\n                  _M_impl._M_finish -\n             (int)section_list.\n                  super__Vector_base" (field_expression "(int)section_list.\n                  super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>.\n                  _M_impl._M_finish" (field_expression "(int)section_list.\n                  super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>.\n                  _M_impl" (binary_expression "(int)section_list.\n                  super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_" (binary_expression "(int)section_list.\n                  super__Vector_base<gold::Output_section*,_std::allocator<gold" (binary_expression "(int)section_list.\n                  super__Vector_base<gold::Output_section*,_std" (binary_expression "(int)section_list.\n                  super__Vector_base<gold" (cast_expression "(int)section_list.\n                  super__Vector_base" ( (type_descriptor "int" primitive_type) ) (field_expression "section_list.\n                  super__Vector_base" identifier . field_identifier)) < identifier) (ERROR "::Output_section" : : identifier) * (ERROR "," ,) identifier) (ERROR "::allocator" : : identifier) < identifier) (ERROR "::Output_section" : : identifier) * (ERROR ">" >) identifier) (ERROR ">" >) . field_identifier) . field_identifier) - (cast_expression "(int)section_list.\n                  super__Vector_base" ( (type_descriptor "int" primitive_type) ) (field_expression "section_list.\n                  super__Vector_base" identifier . field_identifier))) < identifier) (ERROR "::Output_section" : : identifier) * (ERROR "," ,) identifier) (ERROR "::allocator" : : identifier) < identifier) (ERROR "::Output_section" : : identifier) * (ERROR ">" >) identifier) (ERROR ">" >) . field_identifier) . field_identifier) >> number_literal) )))) ;) (expression_statement "std::get_temporary_buffer<gold::Output_section*>((ptrdiff_t)&local_74);" (update_expression "std::get_temporary_buffer<gold::Output_section*>((ptrdiff_t)&local_74)" (binary_expression "std::get_temporary_buffer<gold::Output_section*>((ptrdiff_t)&local_74)" identifier (ERROR "::get_temporary_buffer<gold::Output_section*" : : (binary_expression "get_temporary_buffer<gold" identifier < identifier) : : identifier *) > (parenthesized_expression "((ptrdiff_t)&local_74)" ( (cast_expression "(ptrdiff_t)&local_74" ( (type_descriptor "ptrdiff_t" primitive_type) ) (pointer_expression "&local_74" & identifier)) ))) --) ;) (if_statement "if (local_74 == (void *)0x0) {\n                    /* try { // try from 0006fd2a to 0006fd2e has its CatchHandler @ 0006fd86 */\n    in_stack_ffffff5c =\n         (vector<gold::Output_relaxed_input_section*,_std::allocator<gold::Output_relaxed_input_section*>_>\n          *)0x6fd2f;\n    std::\n    __inplace_stable_sort<__gnu_cxx::__normal_iterator<gold::Output_section**,_std::vector<gold::Output_section*>_>,___gnu_cxx::__ops::_Iter_comp_iter<(anonymous_namespace)::Target_powerpc<64,_false>::Sort_sections>_>\n              ();\n  }\n  else {\n                    /* try { // try from 0006f702 to 0006f706 has its CatchHandler @ 0006fd86 */\n    std::\n    __stable_sort_adaptive<__gnu_cxx::__normal_iterator<gold::Output_section**,_std::vector<gold::Output_section*>_>,_gold::Output_section**,_int,___gnu_cxx::__ops::_Iter_comp_iter<(anonymous_namespace)::Target_powerpc<64,_false>::Sort_sections>_>\n              (local_70,0);\n  }" if (parenthesized_expression "(local_74 == (void *)0x0)" ( (binary_expression "local_74 == (void *)0x0" identifier == (cast_expression "(void *)0x0" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                    /* try { // try from 0006fd2a to 0006fd2e has its CatchHandler @ 0006fd86 */\n    in_stack_ffffff5c =\n         (vector<gold::Output_relaxed_input_section*,_std::allocator<gold::Output_relaxed_input_section*>_>\n          *)0x6fd2f;\n    std::\n    __inplace_stable_sort<__gnu_cxx::__normal_iterator<gold::Output_section**,_std::vector<gold::Output_section*>_>,___gnu_cxx::__ops::_Iter_comp_iter<(anonymous_namespace)::Target_powerpc<64,_false>::Sort_sections>_>\n              ();\n  }" { comment (expression_statement "in_stack_ffffff5c =\n         (vector<gold::Output_relaxed_input_section*,_std::allocator<gold::Output_relaxed_input_section*>_>\n          *)0x6fd2f;" (assignment_expression "in_stack_ffffff5c =\n         (vector<gold::Output_relaxed_input_section*,_std::allocator<gold::Output_relaxed_input_section*>_>\n          *)0x6fd2f" identifier = (parenthesized_expression "(vector<gold::Output_relaxed_input_section*,_std::allocator<gold::Output_relaxed_input_section*>_>\n          *)0x6fd2f" ( (ERROR "vector<gold::Output_relaxed_input_section*,_std::allocator<gold::" (binary_expression "vector<gold" identifier < identifier) : : (type_descriptor "Output_relaxed_input_section*" type_identifier (abstract_pointer_declarator "*" *)) , identifier : : (binary_expression "allocator<gold" identifier < identifier) : :) (binary_expression "Output_relaxed_input_section*>_>\n          *)0x6fd2f" (binary_expression "Output_relaxed_input_section*>_" identifier * (ERROR ">" >) identifier) > (pointer_expression "*)0x6fd2f" * (ERROR ")" )) number_literal)) ))) ;) (expression_statement "std::\n    __inplace_stable_sort<__gnu_cxx::__normal_iterator<gold::Output_section**,_std::vector<gold::Output_section*>_>,___gnu_cxx::__ops::_Iter_comp_iter<(anonymous_namespace)::Target_powerpc<64,_false>::Sort_sections>_>\n              ();" (comma_expression "std::\n    __inplace_stable_sort<__gnu_cxx::__normal_iterator<gold::Output_section**,_std::vector<gold::Output_section*>_>,___gnu_cxx::__ops::_Iter_comp_iter<(anonymous_namespace)::Target_powerpc<64,_false>::Sort_sections>_>\n              ()" (binary_expression "std::\n    __inplace_stable_sort<__gnu_cxx::__normal_iterator<gold::Output_section**,_std::vector<gold::Output_section*>_>,___gnu_cxx::__ops::_Iter_comp_iter<(anonymous_namespace)::Target_powerpc<64" (binary_expression "std::\n    __inplace_stable_sort<__gnu_cxx::__normal_iterator<gold::Output_section**,_std::vector<gold::Output_section*>_>,___gnu_cxx::__ops::_Iter_comp_iter<(anonymous_namespace)" (binary_expression "std::\n    __inplace_stable_sort<__gnu_cxx::__normal_iterator<gold::Output_section**,_std::vector<gold::Output_section*>_>,___gnu_cxx" (binary_expression "std::\n    __inplace_stable_sort<__gnu_cxx::__normal_iterator<gold::Output_section**,_std::vector<gold::Output_section*>_" identifier (ERROR "::\n    __inplace_stable_sort<__gnu_cxx::__normal_iterator<gold::Output_section**,_std::vector<gold::Output_section*" : : (binary_expression "__inplace_stable_sort<__gnu_cxx" identifier < identifier) : : (binary_expression "__normal_iterator<gold" identifier < identifier) : : (binary_expression "Output_section**,_std" identifier * (pointer_expression "*,_std" * (ERROR "," ,) identifier)) : : (binary_expression "vector<gold" identifier < identifier) : : identifier *) > identifier) > (ERROR "," ,) identifier) (ERROR "::__ops::_Iter_comp_iter" : : identifier : : identifier) < (parenthesized_expression "(anonymous_namespace)" ( identifier ))) (ERROR "::Target_powerpc" : : identifier) < number_literal) , (binary_expression "_false>::Sort_sections>_>\n              ()" (binary_expression "_false>::Sort_sections>_" (binary_expression "_false>::Sort_sections" identifier > (ERROR "::" : :) identifier) > identifier) > (parenthesized_expression "()" ( identifier )))) ;) }) (else_clause "else {\n                    /* try { // try from 0006f702 to 0006f706 has its CatchHandler @ 0006fd86 */\n    std::\n    __stable_sort_adaptive<__gnu_cxx::__normal_iterator<gold::Output_section**,_std::vector<gold::Output_section*>_>,_gold::Output_section**,_int,___gnu_cxx::__ops::_Iter_comp_iter<(anonymous_namespace)::Target_powerpc<64,_false>::Sort_sections>_>\n              (local_70,0);\n  }" else (compound_statement "{\n                    /* try { // try from 0006f702 to 0006f706 has its CatchHandler @ 0006fd86 */\n    std::\n    __stable_sort_adaptive<__gnu_cxx::__normal_iterator<gold::Output_section**,_std::vector<gold::Output_section*>_>,_gold::Output_section**,_int,___gnu_cxx::__ops::_Iter_comp_iter<(anonymous_namespace)::Target_powerpc<64,_false>::Sort_sections>_>\n              (local_70,0);\n  }" { comment (ERROR "std::\n    __stable_sort_adaptive<__gnu_cxx::__normal_iterator<gold::Output_section**,_std::vector<gold::Output_section*>_>,_gold::Output_section**,_int,___gnu_cxx::__ops::_Iter_comp_iter<(anonymous_namespace)::" (comma_expression "std::\n    __stable_sort_adaptive<__gnu_cxx::__normal_iterator<gold::Output_section**,_std::vector<gold::Output_section*>_>,_gold::Output_section**,_int,___gnu_cxx" (binary_expression "std::\n    __stable_sort_adaptive<__gnu_cxx::__normal_iterator<gold::Output_section**,_std::vector<gold::Output_section*>_>,_gold::Output_section**,_int" (binary_expression "std::\n    __stable_sort_adaptive<__gnu_cxx::__normal_iterator<gold::Output_section**,_std::vector<gold::Output_section*>_>,_gold" (binary_expression "std::\n    __stable_sort_adaptive<__gnu_cxx::__normal_iterator<gold::Output_section**,_std::vector<gold::Output_section*>_" identifier (ERROR "::\n    __stable_sort_adaptive<__gnu_cxx::__normal_iterator<gold::Output_section**,_std::vector<gold::Output_section*" : : (binary_expression "__stable_sort_adaptive<__gnu_cxx" identifier < identifier) : : (binary_expression "__normal_iterator<gold" identifier < identifier) : : (binary_expression "Output_section**,_std" identifier * (pointer_expression "*,_std" * (ERROR "," ,) identifier)) : : (binary_expression "vector<gold" identifier < identifier) : : identifier *) > identifier) > (ERROR "," ,) identifier) (ERROR "::Output_section" : : identifier) * (pointer_expression "*,_int" * (ERROR "," ,) identifier)) , identifier) : : identifier : : (binary_expression "_Iter_comp_iter<(anonymous_namespace)" identifier < (parenthesized_expression "(anonymous_namespace)" ( identifier ))) : :) (expression_statement "Target_powerpc<64,_false>::Sort_sections>_>\n              (local_70,0);" (comma_expression "Target_powerpc<64,_false>::Sort_sections>_>\n              (local_70,0)" (binary_expression "Target_powerpc<64" identifier < number_literal) , (binary_expression "_false>::Sort_sections>_>\n              (local_70,0)" (binary_expression "_false>::Sort_sections>_" (binary_expression "_false>::Sort_sections" identifier > (ERROR "::" : :) identifier) > identifier) > (parenthesized_expression "(local_70,0)" ( (comma_expression "local_70,0" identifier , number_literal) )))) ;) }))) (expression_statement "pOVar17 = *(Output_section **)(BYTE_ARRAY_003a4975 + unaff_EDI + 0x2e);" (assignment_expression "pOVar17 = *(Output_section **)(BYTE_ARRAY_003a4975 + unaff_EDI + 0x2e)" identifier = (pointer_expression "*(Output_section **)(BYTE_ARRAY_003a4975 + unaff_EDI + 0x2e)" * (cast_expression "(Output_section **)(BYTE_ARRAY_003a4975 + unaff_EDI + 0x2e)" ( (type_descriptor "Output_section **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(BYTE_ARRAY_003a4975 + unaff_EDI + 0x2e)" ( (binary_expression "BYTE_ARRAY_003a4975 + unaff_EDI + 0x2e" (binary_expression "BYTE_ARRAY_003a4975 + unaff_EDI" identifier + identifier) + number_literal) ))))) ;) (expression_statement "operator_delete(local_74,(nothrow_t *)pOVar17);" (call_expression "operator_delete(local_74,(nothrow_t *)pOVar17)" identifier (argument_list "(local_74,(nothrow_t *)pOVar17)" ( identifier , (cast_expression "(nothrow_t *)pOVar17" ( (type_descriptor "nothrow_t *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) ))) ;) (expression_statement "local_7c = section_list.\n             super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>.\n             _M_impl._M_start;" (field_expression "local_7c = section_list.\n             super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>.\n             _M_impl._M_start" (field_expression "local_7c = section_list.\n             super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>.\n             _M_impl" (binary_expression "local_7c = section_list.\n             super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_" (binary_expression "local_7c = section_list.\n             super__Vector_base<gold::Output_section*,_std::allocator<gold" (binary_expression "local_7c = section_list.\n             super__Vector_base<gold::Output_section*,_std" (assignment_expression "local_7c = section_list.\n             super__Vector_base<gold" identifier = (binary_expression "section_list.\n             super__Vector_base<gold" (field_expression "section_list.\n             super__Vector_base" identifier . field_identifier) < identifier)) (ERROR "::Output_section" : : identifier) * (ERROR "," ,) identifier) (ERROR "::allocator" : : identifier) < identifier) (ERROR "::Output_section" : : identifier) * (ERROR ">" >) identifier) (ERROR ">" >) . field_identifier) . field_identifier) ;) (if_statement "if (section_list.super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n      ._M_impl._M_start !=\n      section_list.super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n      ._M_impl._M_finish) {\n    do {\n      pOVar13 = *local_7c;\n      this_02 = (pOVar13->input_sections_).\n                super__Vector_base<gold::Output_section::Input_section,_std::allocator<gold::Output_section::Input_section>_>\n                ._M_impl._M_start;\n      if (this_02 !=\n          (pOVar13->input_sections_).\n          super__Vector_base<gold::Output_section::Input_section,_std::allocator<gold::Output_section::Input_section>_>\n          ._M_impl._M_finish) {\n        do {\n          if (2 < this_02->shndx_ + 3) {\n            pRVar8 = gold::Output_section::Input_section::relobj(this_02);\n            uVar9 = gold::Output_section::Input_section::shndx(this_02);\n            this_01 = (Stub_control *)0x0;\n            if (uVar9 < (pRVar8[3].dyn_reloc_count_ - (int)pRVar8[3].reloc_bases_) +\n                        (pRVar8[3].first_dyn_reloc_ - (int)pRVar8[3].reloc_counts_) * 8) {\n              this_01 = (Stub_control *)\n                        (uint)((pRVar8[3].reloc_counts_[uVar9 >> 5] & 1 << ((byte)uVar9 & 0x1f)) !=\n                              0);\n            }\n            bVar5 = Stub_control::can_add_to_stub_group\n                              (this_01,pOVar17,pIVar11,SUB41(in_stack_ffffff5c,0));\n            if (bVar5) {\n              if (table_owner == (Stub_table_owner *)0x0) goto LAB_0006f76a;\n            }\n            else {\n              table_owner->output_section = stub_control.output_section_;\n              table_owner->owner = stub_control.owner_;\n              stub_control.output_section_ = *local_7c;\n              table_owner = (Stub_table_owner *)0x0;\n              stub_control.owner_ = this_02;\nLAB_0006f76a:\n                    /* try { // try from 0006f772 to 0006f98f has its CatchHandler @ 0006fd94 */\n              table_owner = (Stub_table_owner *)operator_new(8);\n              table_owner->output_section = (Output_section *)0x0;\n              table_owner->owner = (Input_section *)0x0;\n              if (tables.\n                  super__Vector_base<(anonymous_namespace)::Stub_table_owner*,_std::allocator<(anonymous_namespace)::Stub_table_owner*>_>\n                  ._M_impl._M_finish ==\n                  tables.\n                  super__Vector_base<(anonymous_namespace)::Stub_table_owner*,_std::allocator<(anonymous_namespace)::Stub_table_owner*>_>\n                  ._M_impl._M_end_of_storage) {\n                in_stack_ffffff5c =\n                     (vector<gold::Output_relaxed_input_section*,_std::allocator<gold::Output_relaxed_input_section*>_>\n                      *)0x6fc9b;\n                std::\n                vector<(anonymous_namespace)::Stub_table_owner*,_std::allocator<(anonymous_namespace)::Stub_table_owner*>_>\n                ::_M_realloc_insert<(anonymous_namespace)::Stub_table_owner*_const&>\n                          (in_stack_ffffff60,in_stack_ffffff64,in_stack_ffffff68);\n              }\n              else {\n                *tables.\n                 super__Vector_base<(anonymous_namespace)::Stub_table_owner*,_std::allocator<(anonymous_namespace)::Stub_table_owner*>_>\n                 ._M_impl._M_finish = table_owner;\n                tables.\n                super__Vector_base<(anonymous_namespace)::Stub_table_owner*,_std::allocator<(anonymous_namespace)::Stub_table_owner*>_>\n                ._M_impl._M_finish =\n                     tables.\n                     super__Vector_base<(anonymous_namespace)::Stub_table_owner*,_std::allocator<(anonymous_namespace)::Stub_table_owner*>_>\n                     ._M_impl._M_finish + 1;\n              }\n            }\n            iVar10 = (int)tables.\n                          super__Vector_base<(anonymous_namespace)::Stub_table_owner*,_std::allocator<(anonymous_namespace)::Stub_table_owner*>_>\n                          ._M_impl._M_finish -\n                     (int)tables.\n                          super__Vector_base<(anonymous_namespace)::Stub_table_owner*,_std::allocator<(anonymous_namespace)::Stub_table_owner*>_>\n                          ._M_impl._M_start;\n            uVar9 = gold::Output_section::Input_section::shndx(this_02);\n            pcVar12 = pRVar8[4].super_Object.name_._M_dataplus._M_p;\n            __position._M_current = (uint *)pRVar8[4].super_Object.name_._M_string_length;\n            uVar7 = (int)__position._M_current - (int)pcVar12 >> 2;\n            if (uVar7 <= uVar9) {\n              uVar1 = uVar9 + 1;\n              new_relaxed.\n              super__Vector_base<gold::Output_relaxed_input_section*,_std::allocator<gold::Output_relaxed_input_section*>_>\n              ._M_impl._M_start = (pointer)0xffffffff;\n              if (uVar7 < uVar1) {\n                pIVar11 = (Input_section *)(uVar1 - uVar7);\n                in_stack_ffffff5c = &new_relaxed;\n                std::vector<unsigned_int,_std::allocator<unsigned_int>_>::_M_fill_insert\n                          ((vector<unsigned_int,_std::allocator<unsigned_int>_> *)\n                           &pRVar8[4].super_Object.name_,__position,(size_type)pIVar11,\n                           (value_type_conflict1 *)in_stack_ffffff5c);\n                pcVar12 = pRVar8[4].super_Object.name_._M_dataplus._M_p;\n                pOVar17 = (Output_section *)__position._M_current;\n              }\n              else if ((uVar1 < uVar7) && (__position._M_current != (uint *)(pcVar12 + uVar1 * 4)))\n              {\n                pRVar8[4].super_Object.name_._M_string_length = (size_type)(pcVar12 + uVar1 * 4);\n              }\n            }\n            *(int *)(pcVar12 + uVar9 * 4) = (iVar10 >> 2) + -1;\n            pOVar13 = *local_7c;\n          }\n          this_02 = this_02 + 1;\n        } while ((pOVar13->input_sections_).\n                 super__Vector_base<gold::Output_section::Input_section,_std::allocator<gold::Output_section::Input_section>_>\n                 ._M_impl._M_finish != this_02);\n      }\n      local_7c = local_7c + 1;\n    } while (section_list.\n             super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>.\n             _M_impl._M_finish != local_7c);\n  }" if (parenthesized_expression "(section_list.super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n      ._M_impl._M_start !=\n      section_list.super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n      ._M_impl._M_finish)" ( (field_expression "section_list.super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n      ._M_impl._M_start !=\n      section_list.super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n      ._M_impl._M_finish" (field_expression "section_list.super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n      ._M_impl._M_start !=\n      section_list.super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n      ._M_impl" (binary_expression "section_list.super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n      ._M_impl._M_start !=\n      section_list.super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_" (binary_expression "section_list.super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n      ._M_impl._M_start !=\n      section_list.super__Vector_base<gold::Output_section*,_std::allocator<gold" (binary_expression "section_list.super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n      ._M_impl._M_start !=\n      section_list.super__Vector_base<gold::Output_section*,_std" (binary_expression "section_list.super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n      ._M_impl._M_start !=\n      section_list.super__Vector_base<gold" (field_expression "section_list.super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n      ._M_impl._M_start" (field_expression "section_list.super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n      ._M_impl" (binary_expression "section_list.super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_" (binary_expression "section_list.super__Vector_base<gold::Output_section*,_std::allocator<gold" (binary_expression "section_list.super__Vector_base<gold::Output_section*,_std" (binary_expression "section_list.super__Vector_base<gold" (field_expression "section_list.super__Vector_base" identifier . field_identifier) < identifier) (ERROR "::Output_section" : : identifier) * (ERROR "," ,) identifier) (ERROR "::allocator" : : identifier) < identifier) (ERROR "::Output_section" : : identifier) * (ERROR ">" >) identifier) (ERROR ">" >) . field_identifier) . field_identifier) != (binary_expression "section_list.super__Vector_base<gold" (field_expression "section_list.super__Vector_base" identifier . field_identifier) < identifier)) (ERROR "::Output_section" : : identifier) * (ERROR "," ,) identifier) (ERROR "::allocator" : : identifier) < identifier) (ERROR "::Output_section" : : identifier) * (ERROR ">" >) identifier) (ERROR ">" >) . field_identifier) . field_identifier) )) (compound_statement "{\n    do {\n      pOVar13 = *local_7c;\n      this_02 = (pOVar13->input_sections_).\n                super__Vector_base<gold::Output_section::Input_section,_std::allocator<gold::Output_section::Input_section>_>\n                ._M_impl._M_start;\n      if (this_02 !=\n          (pOVar13->input_sections_).\n          super__Vector_base<gold::Output_section::Input_section,_std::allocator<gold::Output_section::Input_section>_>\n          ._M_impl._M_finish) {\n        do {\n          if (2 < this_02->shndx_ + 3) {\n            pRVar8 = gold::Output_section::Input_section::relobj(this_02);\n            uVar9 = gold::Output_section::Input_section::shndx(this_02);\n            this_01 = (Stub_control *)0x0;\n            if (uVar9 < (pRVar8[3].dyn_reloc_count_ - (int)pRVar8[3].reloc_bases_) +\n                        (pRVar8[3].first_dyn_reloc_ - (int)pRVar8[3].reloc_counts_) * 8) {\n              this_01 = (Stub_control *)\n                        (uint)((pRVar8[3].reloc_counts_[uVar9 >> 5] & 1 << ((byte)uVar9 & 0x1f)) !=\n                              0);\n            }\n            bVar5 = Stub_control::can_add_to_stub_group\n                              (this_01,pOVar17,pIVar11,SUB41(in_stack_ffffff5c,0));\n            if (bVar5) {\n              if (table_owner == (Stub_table_owner *)0x0) goto LAB_0006f76a;\n            }\n            else {\n              table_owner->output_section = stub_control.output_section_;\n              table_owner->owner = stub_control.owner_;\n              stub_control.output_section_ = *local_7c;\n              table_owner = (Stub_table_owner *)0x0;\n              stub_control.owner_ = this_02;\nLAB_0006f76a:\n                    /* try { // try from 0006f772 to 0006f98f has its CatchHandler @ 0006fd94 */\n              table_owner = (Stub_table_owner *)operator_new(8);\n              table_owner->output_section = (Output_section *)0x0;\n              table_owner->owner = (Input_section *)0x0;\n              if (tables.\n                  super__Vector_base<(anonymous_namespace)::Stub_table_owner*,_std::allocator<(anonymous_namespace)::Stub_table_owner*>_>\n                  ._M_impl._M_finish ==\n                  tables.\n                  super__Vector_base<(anonymous_namespace)::Stub_table_owner*,_std::allocator<(anonymous_namespace)::Stub_table_owner*>_>\n                  ._M_impl._M_end_of_storage) {\n                in_stack_ffffff5c =\n                     (vector<gold::Output_relaxed_input_section*,_std::allocator<gold::Output_relaxed_input_section*>_>\n                      *)0x6fc9b;\n                std::\n                vector<(anonymous_namespace)::Stub_table_owner*,_std::allocator<(anonymous_namespace)::Stub_table_owner*>_>\n                ::_M_realloc_insert<(anonymous_namespace)::Stub_table_owner*_const&>\n                          (in_stack_ffffff60,in_stack_ffffff64,in_stack_ffffff68);\n              }\n              else {\n                *tables.\n                 super__Vector_base<(anonymous_namespace)::Stub_table_owner*,_std::allocator<(anonymous_namespace)::Stub_table_owner*>_>\n                 ._M_impl._M_finish = table_owner;\n                tables.\n                super__Vector_base<(anonymous_namespace)::Stub_table_owner*,_std::allocator<(anonymous_namespace)::Stub_table_owner*>_>\n                ._M_impl._M_finish =\n                     tables.\n                     super__Vector_base<(anonymous_namespace)::Stub_table_owner*,_std::allocator<(anonymous_namespace)::Stub_table_owner*>_>\n                     ._M_impl._M_finish + 1;\n              }\n            }\n            iVar10 = (int)tables.\n                          super__Vector_base<(anonymous_namespace)::Stub_table_owner*,_std::allocator<(anonymous_namespace)::Stub_table_owner*>_>\n                          ._M_impl._M_finish -\n                     (int)tables.\n                          super__Vector_base<(anonymous_namespace)::Stub_table_owner*,_std::allocator<(anonymous_namespace)::Stub_table_owner*>_>\n                          ._M_impl._M_start;\n            uVar9 = gold::Output_section::Input_section::shndx(this_02);\n            pcVar12 = pRVar8[4].super_Object.name_._M_dataplus._M_p;\n            __position._M_current = (uint *)pRVar8[4].super_Object.name_._M_string_length;\n            uVar7 = (int)__position._M_current - (int)pcVar12 >> 2;\n            if (uVar7 <= uVar9) {\n              uVar1 = uVar9 + 1;\n              new_relaxed.\n              super__Vector_base<gold::Output_relaxed_input_section*,_std::allocator<gold::Output_relaxed_input_section*>_>\n              ._M_impl._M_start = (pointer)0xffffffff;\n              if (uVar7 < uVar1) {\n                pIVar11 = (Input_section *)(uVar1 - uVar7);\n                in_stack_ffffff5c = &new_relaxed;\n                std::vector<unsigned_int,_std::allocator<unsigned_int>_>::_M_fill_insert\n                          ((vector<unsigned_int,_std::allocator<unsigned_int>_> *)\n                           &pRVar8[4].super_Object.name_,__position,(size_type)pIVar11,\n                           (value_type_conflict1 *)in_stack_ffffff5c);\n                pcVar12 = pRVar8[4].super_Object.name_._M_dataplus._M_p;\n                pOVar17 = (Output_section *)__position._M_current;\n              }\n              else if ((uVar1 < uVar7) && (__position._M_current != (uint *)(pcVar12 + uVar1 * 4)))\n              {\n                pRVar8[4].super_Object.name_._M_string_length = (size_type)(pcVar12 + uVar1 * 4);\n              }\n            }\n            *(int *)(pcVar12 + uVar9 * 4) = (iVar10 >> 2) + -1;\n            pOVar13 = *local_7c;\n          }\n          this_02 = this_02 + 1;\n        } while ((pOVar13->input_sections_).\n                 super__Vector_base<gold::Output_section::Input_section,_std::allocator<gold::Output_section::Input_section>_>\n                 ._M_impl._M_finish != this_02);\n      }\n      local_7c = local_7c + 1;\n    } while (section_list.\n             super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>.\n             _M_impl._M_finish != local_7c);\n  }" { (do_statement "do {\n      pOVar13 = *local_7c;\n      this_02 = (pOVar13->input_sections_).\n                super__Vector_base<gold::Output_section::Input_section,_std::allocator<gold::Output_section::Input_section>_>\n                ._M_impl._M_start;\n      if (this_02 !=\n          (pOVar13->input_sections_).\n          super__Vector_base<gold::Output_section::Input_section,_std::allocator<gold::Output_section::Input_section>_>\n          ._M_impl._M_finish) {\n        do {\n          if (2 < this_02->shndx_ + 3) {\n            pRVar8 = gold::Output_section::Input_section::relobj(this_02);\n            uVar9 = gold::Output_section::Input_section::shndx(this_02);\n            this_01 = (Stub_control *)0x0;\n            if (uVar9 < (pRVar8[3].dyn_reloc_count_ - (int)pRVar8[3].reloc_bases_) +\n                        (pRVar8[3].first_dyn_reloc_ - (int)pRVar8[3].reloc_counts_) * 8) {\n              this_01 = (Stub_control *)\n                        (uint)((pRVar8[3].reloc_counts_[uVar9 >> 5] & 1 << ((byte)uVar9 & 0x1f)) !=\n                              0);\n            }\n            bVar5 = Stub_control::can_add_to_stub_group\n                              (this_01,pOVar17,pIVar11,SUB41(in_stack_ffffff5c,0));\n            if (bVar5) {\n              if (table_owner == (Stub_table_owner *)0x0) goto LAB_0006f76a;\n            }\n            else {\n              table_owner->output_section = stub_control.output_section_;\n              table_owner->owner = stub_control.owner_;\n              stub_control.output_section_ = *local_7c;\n              table_owner = (Stub_table_owner *)0x0;\n              stub_control.owner_ = this_02;\nLAB_0006f76a:\n                    /* try { // try from 0006f772 to 0006f98f has its CatchHandler @ 0006fd94 */\n              table_owner = (Stub_table_owner *)operator_new(8);\n              table_owner->output_section = (Output_section *)0x0;\n              table_owner->owner = (Input_section *)0x0;\n              if (tables.\n                  super__Vector_base<(anonymous_namespace)::Stub_table_owner*,_std::allocator<(anonymous_namespace)::Stub_table_owner*>_>\n                  ._M_impl._M_finish ==\n                  tables.\n                  super__Vector_base<(anonymous_namespace)::Stub_table_owner*,_std::allocator<(anonymous_namespace)::Stub_table_owner*>_>\n                  ._M_impl._M_end_of_storage) {\n                in_stack_ffffff5c =\n                     (vector<gold::Output_relaxed_input_section*,_std::allocator<gold::Output_relaxed_input_section*>_>\n                      *)0x6fc9b;\n                std::\n                vector<(anonymous_namespace)::Stub_table_owner*,_std::allocator<(anonymous_namespace)::Stub_table_owner*>_>\n                ::_M_realloc_insert<(anonymous_namespace)::Stub_table_owner*_const&>\n                          (in_stack_ffffff60,in_stack_ffffff64,in_stack_ffffff68);\n              }\n              else {\n                *tables.\n                 super__Vector_base<(anonymous_namespace)::Stub_table_owner*,_std::allocator<(anonymous_namespace)::Stub_table_owner*>_>\n                 ._M_impl._M_finish = table_owner;\n                tables.\n                super__Vector_base<(anonymous_namespace)::Stub_table_owner*,_std::allocator<(anonymous_namespace)::Stub_table_owner*>_>\n                ._M_impl._M_finish =\n                     tables.\n                     super__Vector_base<(anonymous_namespace)::Stub_table_owner*,_std::allocator<(anonymous_namespace)::Stub_table_owner*>_>\n                     ._M_impl._M_finish + 1;\n              }\n            }\n            iVar10 = (int)tables.\n                          super__Vector_base<(anonymous_namespace)::Stub_table_owner*,_std::allocator<(anonymous_namespace)::Stub_table_owner*>_>\n                          ._M_impl._M_finish -\n                     (int)tables.\n                          super__Vector_base<(anonymous_namespace)::Stub_table_owner*,_std::allocator<(anonymous_namespace)::Stub_table_owner*>_>\n                          ._M_impl._M_start;\n            uVar9 = gold::Output_section::Input_section::shndx(this_02);\n            pcVar12 = pRVar8[4].super_Object.name_._M_dataplus._M_p;\n            __position._M_current = (uint *)pRVar8[4].super_Object.name_._M_string_length;\n            uVar7 = (int)__position._M_current - (int)pcVar12 >> 2;\n            if (uVar7 <= uVar9) {\n              uVar1 = uVar9 + 1;\n              new_relaxed.\n              super__Vector_base<gold::Output_relaxed_input_section*,_std::allocator<gold::Output_relaxed_input_section*>_>\n              ._M_impl._M_start = (pointer)0xffffffff;\n              if (uVar7 < uVar1) {\n                pIVar11 = (Input_section *)(uVar1 - uVar7);\n                in_stack_ffffff5c = &new_relaxed;\n                std::vector<unsigned_int,_std::allocator<unsigned_int>_>::_M_fill_insert\n                          ((vector<unsigned_int,_std::allocator<unsigned_int>_> *)\n                           &pRVar8[4].super_Object.name_,__position,(size_type)pIVar11,\n                           (value_type_conflict1 *)in_stack_ffffff5c);\n                pcVar12 = pRVar8[4].super_Object.name_._M_dataplus._M_p;\n                pOVar17 = (Output_section *)__position._M_current;\n              }\n              else if ((uVar1 < uVar7) && (__position._M_current != (uint *)(pcVar12 + uVar1 * 4)))\n              {\n                pRVar8[4].super_Object.name_._M_string_length = (size_type)(pcVar12 + uVar1 * 4);\n              }\n            }\n            *(int *)(pcVar12 + uVar9 * 4) = (iVar10 >> 2) + -1;\n            pOVar13 = *local_7c;\n          }\n          this_02 = this_02 + 1;\n        } while ((pOVar13->input_sections_).\n                 super__Vector_base<gold::Output_section::Input_section,_std::allocator<gold::Output_section::Input_section>_>\n                 ._M_impl._M_finish != this_02);\n      }\n      local_7c = local_7c + 1;\n    } while (section_list.\n             super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>.\n             _M_impl._M_finish != local_7c);" do (compound_statement "{\n      pOVar13 = *local_7c;\n      this_02 = (pOVar13->input_sections_).\n                super__Vector_base<gold::Output_section::Input_section,_std::allocator<gold::Output_section::Input_section>_>\n                ._M_impl._M_start;\n      if (this_02 !=\n          (pOVar13->input_sections_).\n          super__Vector_base<gold::Output_section::Input_section,_std::allocator<gold::Output_section::Input_section>_>\n          ._M_impl._M_finish) {\n        do {\n          if (2 < this_02->shndx_ + 3) {\n            pRVar8 = gold::Output_section::Input_section::relobj(this_02);\n            uVar9 = gold::Output_section::Input_section::shndx(this_02);\n            this_01 = (Stub_control *)0x0;\n            if (uVar9 < (pRVar8[3].dyn_reloc_count_ - (int)pRVar8[3].reloc_bases_) +\n                        (pRVar8[3].first_dyn_reloc_ - (int)pRVar8[3].reloc_counts_) * 8) {\n              this_01 = (Stub_control *)\n                        (uint)((pRVar8[3].reloc_counts_[uVar9 >> 5] & 1 << ((byte)uVar9 & 0x1f)) !=\n                              0);\n            }\n            bVar5 = Stub_control::can_add_to_stub_group\n                              (this_01,pOVar17,pIVar11,SUB41(in_stack_ffffff5c,0));\n            if (bVar5) {\n              if (table_owner == (Stub_table_owner *)0x0) goto LAB_0006f76a;\n            }\n            else {\n              table_owner->output_section = stub_control.output_section_;\n              table_owner->owner = stub_control.owner_;\n              stub_control.output_section_ = *local_7c;\n              table_owner = (Stub_table_owner *)0x0;\n              stub_control.owner_ = this_02;\nLAB_0006f76a:\n                    /* try { // try from 0006f772 to 0006f98f has its CatchHandler @ 0006fd94 */\n              table_owner = (Stub_table_owner *)operator_new(8);\n              table_owner->output_section = (Output_section *)0x0;\n              table_owner->owner = (Input_section *)0x0;\n              if (tables.\n                  super__Vector_base<(anonymous_namespace)::Stub_table_owner*,_std::allocator<(anonymous_namespace)::Stub_table_owner*>_>\n                  ._M_impl._M_finish ==\n                  tables.\n                  super__Vector_base<(anonymous_namespace)::Stub_table_owner*,_std::allocator<(anonymous_namespace)::Stub_table_owner*>_>\n                  ._M_impl._M_end_of_storage) {\n                in_stack_ffffff5c =\n                     (vector<gold::Output_relaxed_input_section*,_std::allocator<gold::Output_relaxed_input_section*>_>\n                      *)0x6fc9b;\n                std::\n                vector<(anonymous_namespace)::Stub_table_owner*,_std::allocator<(anonymous_namespace)::Stub_table_owner*>_>\n                ::_M_realloc_insert<(anonymous_namespace)::Stub_table_owner*_const&>\n                          (in_stack_ffffff60,in_stack_ffffff64,in_stack_ffffff68);\n              }\n              else {\n                *tables.\n                 super__Vector_base<(anonymous_namespace)::Stub_table_owner*,_std::allocator<(anonymous_namespace)::Stub_table_owner*>_>\n                 ._M_impl._M_finish = table_owner;\n                tables.\n                super__Vector_base<(anonymous_namespace)::Stub_table_owner*,_std::allocator<(anonymous_namespace)::Stub_table_owner*>_>\n                ._M_impl._M_finish =\n                     tables.\n                     super__Vector_base<(anonymous_namespace)::Stub_table_owner*,_std::allocator<(anonymous_namespace)::Stub_table_owner*>_>\n                     ._M_impl._M_finish + 1;\n              }\n            }\n            iVar10 = (int)tables.\n                          super__Vector_base<(anonymous_namespace)::Stub_table_owner*,_std::allocator<(anonymous_namespace)::Stub_table_owner*>_>\n                          ._M_impl._M_finish -\n                     (int)tables.\n                          super__Vector_base<(anonymous_namespace)::Stub_table_owner*,_std::allocator<(anonymous_namespace)::Stub_table_owner*>_>\n                          ._M_impl._M_start;\n            uVar9 = gold::Output_section::Input_section::shndx(this_02);\n            pcVar12 = pRVar8[4].super_Object.name_._M_dataplus._M_p;\n            __position._M_current = (uint *)pRVar8[4].super_Object.name_._M_string_length;\n            uVar7 = (int)__position._M_current - (int)pcVar12 >> 2;\n            if (uVar7 <= uVar9) {\n              uVar1 = uVar9 + 1;\n              new_relaxed.\n              super__Vector_base<gold::Output_relaxed_input_section*,_std::allocator<gold::Output_relaxed_input_section*>_>\n              ._M_impl._M_start = (pointer)0xffffffff;\n              if (uVar7 < uVar1) {\n                pIVar11 = (Input_section *)(uVar1 - uVar7);\n                in_stack_ffffff5c = &new_relaxed;\n                std::vector<unsigned_int,_std::allocator<unsigned_int>_>::_M_fill_insert\n                          ((vector<unsigned_int,_std::allocator<unsigned_int>_> *)\n                           &pRVar8[4].super_Object.name_,__position,(size_type)pIVar11,\n                           (value_type_conflict1 *)in_stack_ffffff5c);\n                pcVar12 = pRVar8[4].super_Object.name_._M_dataplus._M_p;\n                pOVar17 = (Output_section *)__position._M_current;\n              }\n              else if ((uVar1 < uVar7) && (__position._M_current != (uint *)(pcVar12 + uVar1 * 4)))\n              {\n                pRVar8[4].super_Object.name_._M_string_length = (size_type)(pcVar12 + uVar1 * 4);\n              }\n            }\n            *(int *)(pcVar12 + uVar9 * 4) = (iVar10 >> 2) + -1;\n            pOVar13 = *local_7c;\n          }\n          this_02 = this_02 + 1;\n        } while ((pOVar13->input_sections_).\n                 super__Vector_base<gold::Output_section::Input_section,_std::allocator<gold::Output_section::Input_section>_>\n                 ._M_impl._M_finish != this_02);\n      }\n      local_7c = local_7c + 1;\n    }" { (expression_statement "pOVar13 = *local_7c;" (assignment_expression "pOVar13 = *local_7c" identifier = (pointer_expression "*local_7c" * identifier)) ;) (ERROR "this_02 = (pOVar13->input_sections_).\n                super__Vector_base<gold::" (assignment_expression "this_02 = (pOVar13->input_sections_).\n                super__Vector_base<gold" identifier = (binary_expression "(pOVar13->input_sections_).\n                super__Vector_base<gold" (field_expression "(pOVar13->input_sections_).\n                super__Vector_base" (parenthesized_expression "(pOVar13->input_sections_)" ( (field_expression "pOVar13->input_sections_" identifier -> field_identifier) )) . field_identifier) < identifier)) : :) (labeled_statement "Output_section::Input_section,_std::allocator<gold::Output_section::Input_section>_>\n                ._M_impl._M_start;" statement_identifier (ERROR "::Input_section,_std::allocator<gold:" : : (comma_expression "Input_section,_std" identifier , identifier) : : (binary_expression "allocator<gold" identifier < identifier) :) : (labeled_statement "Output_section::Input_section>_>\n                ._M_impl._M_start;" statement_identifier : (ERROR ":" :) (expression_statement "Input_section>_>\n                ._M_impl._M_start;" (field_expression "Input_section>_>\n                ._M_impl._M_start" (field_expression "Input_section>_>\n                ._M_impl" (binary_expression "Input_section>_" identifier > identifier) (ERROR ">" >) . field_identifier) . field_identifier) ;))) (if_statement "if (this_02 !=\n          (pOVar13->input_sections_).\n          super__Vector_base<gold::Output_section::Input_section,_std::allocator<gold::Output_section::Input_section>_>\n          ._M_impl._M_finish) {\n        do {\n          if (2 < this_02->shndx_ + 3) {\n            pRVar8 = gold::Output_section::Input_section::relobj(this_02);\n            uVar9 = gold::Output_section::Input_section::shndx(this_02);\n            this_01 = (Stub_control *)0x0;\n            if (uVar9 < (pRVar8[3].dyn_reloc_count_ - (int)pRVar8[3].reloc_bases_) +\n                        (pRVar8[3].first_dyn_reloc_ - (int)pRVar8[3].reloc_counts_) * 8) {\n              this_01 = (Stub_control *)\n                        (uint)((pRVar8[3].reloc_counts_[uVar9 >> 5] & 1 << ((byte)uVar9 & 0x1f)) !=\n                              0);\n            }\n            bVar5 = Stub_control::can_add_to_stub_group\n                              (this_01,pOVar17,pIVar11,SUB41(in_stack_ffffff5c,0));\n            if (bVar5) {\n              if (table_owner == (Stub_table_owner *)0x0) goto LAB_0006f76a;\n            }\n            else {\n              table_owner->output_section = stub_control.output_section_;\n              table_owner->owner = stub_control.owner_;\n              stub_control.output_section_ = *local_7c;\n              table_owner = (Stub_table_owner *)0x0;\n              stub_control.owner_ = this_02;\nLAB_0006f76a:\n                    /* try { // try from 0006f772 to 0006f98f has its CatchHandler @ 0006fd94 */\n              table_owner = (Stub_table_owner *)operator_new(8);\n              table_owner->output_section = (Output_section *)0x0;\n              table_owner->owner = (Input_section *)0x0;\n              if (tables.\n                  super__Vector_base<(anonymous_namespace)::Stub_table_owner*,_std::allocator<(anonymous_namespace)::Stub_table_owner*>_>\n                  ._M_impl._M_finish ==\n                  tables.\n                  super__Vector_base<(anonymous_namespace)::Stub_table_owner*,_std::allocator<(anonymous_namespace)::Stub_table_owner*>_>\n                  ._M_impl._M_end_of_storage) {\n                in_stack_ffffff5c =\n                     (vector<gold::Output_relaxed_input_section*,_std::allocator<gold::Output_relaxed_input_section*>_>\n                      *)0x6fc9b;\n                std::\n                vector<(anonymous_namespace)::Stub_table_owner*,_std::allocator<(anonymous_namespace)::Stub_table_owner*>_>\n                ::_M_realloc_insert<(anonymous_namespace)::Stub_table_owner*_const&>\n                          (in_stack_ffffff60,in_stack_ffffff64,in_stack_ffffff68);\n              }\n              else {\n                *tables.\n                 super__Vector_base<(anonymous_namespace)::Stub_table_owner*,_std::allocator<(anonymous_namespace)::Stub_table_owner*>_>\n                 ._M_impl._M_finish = table_owner;\n                tables.\n                super__Vector_base<(anonymous_namespace)::Stub_table_owner*,_std::allocator<(anonymous_namespace)::Stub_table_owner*>_>\n                ._M_impl._M_finish =\n                     tables.\n                     super__Vector_base<(anonymous_namespace)::Stub_table_owner*,_std::allocator<(anonymous_namespace)::Stub_table_owner*>_>\n                     ._M_impl._M_finish + 1;\n              }\n            }\n            iVar10 = (int)tables.\n                          super__Vector_base<(anonymous_namespace)::Stub_table_owner*,_std::allocator<(anonymous_namespace)::Stub_table_owner*>_>\n                          ._M_impl._M_finish -\n                     (int)tables.\n                          super__Vector_base<(anonymous_namespace)::Stub_table_owner*,_std::allocator<(anonymous_namespace)::Stub_table_owner*>_>\n                          ._M_impl._M_start;\n            uVar9 = gold::Output_section::Input_section::shndx(this_02);\n            pcVar12 = pRVar8[4].super_Object.name_._M_dataplus._M_p;\n            __position._M_current = (uint *)pRVar8[4].super_Object.name_._M_string_length;\n            uVar7 = (int)__position._M_current - (int)pcVar12 >> 2;\n            if (uVar7 <= uVar9) {\n              uVar1 = uVar9 + 1;\n              new_relaxed.\n              super__Vector_base<gold::Output_relaxed_input_section*,_std::allocator<gold::Output_relaxed_input_section*>_>\n              ._M_impl._M_start = (pointer)0xffffffff;\n              if (uVar7 < uVar1) {\n                pIVar11 = (Input_section *)(uVar1 - uVar7);\n                in_stack_ffffff5c = &new_relaxed;\n                std::vector<unsigned_int,_std::allocator<unsigned_int>_>::_M_fill_insert\n                          ((vector<unsigned_int,_std::allocator<unsigned_int>_> *)\n                           &pRVar8[4].super_Object.name_,__position,(size_type)pIVar11,\n                           (value_type_conflict1 *)in_stack_ffffff5c);\n                pcVar12 = pRVar8[4].super_Object.name_._M_dataplus._M_p;\n                pOVar17 = (Output_section *)__position._M_current;\n              }\n              else if ((uVar1 < uVar7) && (__position._M_current != (uint *)(pcVar12 + uVar1 * 4)))\n              {\n                pRVar8[4].super_Object.name_._M_string_length = (size_type)(pcVar12 + uVar1 * 4);\n              }\n            }\n            *(int *)(pcVar12 + uVar9 * 4) = (iVar10 >> 2) + -1;\n            pOVar13 = *local_7c;\n          }\n          this_02 = this_02 + 1;\n        } while ((pOVar13->input_sections_).\n                 super__Vector_base<gold::Output_section::Input_section,_std::allocator<gold::Output_section::Input_section>_>\n                 ._M_impl._M_finish != this_02);\n      }" if (parenthesized_expression "(this_02 !=\n          (pOVar13->input_sections_).\n          super__Vector_base<gold::Output_section::Input_section,_std::allocator<gold::Output_section::Input_section>_>\n          ._M_impl._M_finish)" ( (ERROR "this_02 !=\n          (pOVar13->input_sections_).\n          super__Vector_base<gold::Output_section::Input_section,_std::allocator<gold::Output_section::" (comma_expression "this_02 !=\n          (pOVar13->input_sections_).\n          super__Vector_base<gold::Output_section::Input_section,_std" (binary_expression "this_02 !=\n          (pOVar13->input_sections_).\n          super__Vector_base<gold" identifier != (binary_expression "(pOVar13->input_sections_).\n          super__Vector_base<gold" (field_expression "(pOVar13->input_sections_).\n          super__Vector_base" (parenthesized_expression "(pOVar13->input_sections_)" ( (field_expression "pOVar13->input_sections_" identifier -> field_identifier) )) . field_identifier) < identifier)) (ERROR "::Output_section::Input_section" : : identifier : : identifier) , identifier) : : (binary_expression "allocator<gold" identifier < identifier) : : identifier : :) (field_expression "Input_section>_>\n          ._M_impl._M_finish" (field_expression "Input_section>_>\n          ._M_impl" (binary_expression "Input_section>_" identifier > identifier) (ERROR ">" >) . field_identifier) . field_identifier) )) (compound_statement "{\n        do {\n          if (2 < this_02->shndx_ + 3) {\n            pRVar8 = gold::Output_section::Input_section::relobj(this_02);\n            uVar9 = gold::Output_section::Input_section::shndx(this_02);\n            this_01 = (Stub_control *)0x0;\n            if (uVar9 < (pRVar8[3].dyn_reloc_count_ - (int)pRVar8[3].reloc_bases_) +\n                        (pRVar8[3].first_dyn_reloc_ - (int)pRVar8[3].reloc_counts_) * 8) {\n              this_01 = (Stub_control *)\n                        (uint)((pRVar8[3].reloc_counts_[uVar9 >> 5] & 1 << ((byte)uVar9 & 0x1f)) !=\n                              0);\n            }\n            bVar5 = Stub_control::can_add_to_stub_group\n                              (this_01,pOVar17,pIVar11,SUB41(in_stack_ffffff5c,0));\n            if (bVar5) {\n              if (table_owner == (Stub_table_owner *)0x0) goto LAB_0006f76a;\n            }\n            else {\n              table_owner->output_section = stub_control.output_section_;\n              table_owner->owner = stub_control.owner_;\n              stub_control.output_section_ = *local_7c;\n              table_owner = (Stub_table_owner *)0x0;\n              stub_control.owner_ = this_02;\nLAB_0006f76a:\n                    /* try { // try from 0006f772 to 0006f98f has its CatchHandler @ 0006fd94 */\n              table_owner = (Stub_table_owner *)operator_new(8);\n              table_owner->output_section = (Output_section *)0x0;\n              table_owner->owner = (Input_section *)0x0;\n              if (tables.\n                  super__Vector_base<(anonymous_namespace)::Stub_table_owner*,_std::allocator<(anonymous_namespace)::Stub_table_owner*>_>\n                  ._M_impl._M_finish ==\n                  tables.\n                  super__Vector_base<(anonymous_namespace)::Stub_table_owner*,_std::allocator<(anonymous_namespace)::Stub_table_owner*>_>\n                  ._M_impl._M_end_of_storage) {\n                in_stack_ffffff5c =\n                     (vector<gold::Output_relaxed_input_section*,_std::allocator<gold::Output_relaxed_input_section*>_>\n                      *)0x6fc9b;\n                std::\n                vector<(anonymous_namespace)::Stub_table_owner*,_std::allocator<(anonymous_namespace)::Stub_table_owner*>_>\n                ::_M_realloc_insert<(anonymous_namespace)::Stub_table_owner*_const&>\n                          (in_stack_ffffff60,in_stack_ffffff64,in_stack_ffffff68);\n              }\n              else {\n                *tables.\n                 super__Vector_base<(anonymous_namespace)::Stub_table_owner*,_std::allocator<(anonymous_namespace)::Stub_table_owner*>_>\n                 ._M_impl._M_finish = table_owner;\n                tables.\n                super__Vector_base<(anonymous_namespace)::Stub_table_owner*,_std::allocator<(anonymous_namespace)::Stub_table_owner*>_>\n                ._M_impl._M_finish =\n                     tables.\n                     super__Vector_base<(anonymous_namespace)::Stub_table_owner*,_std::allocator<(anonymous_namespace)::Stub_table_owner*>_>\n                     ._M_impl._M_finish + 1;\n              }\n            }\n            iVar10 = (int)tables.\n                          super__Vector_base<(anonymous_namespace)::Stub_table_owner*,_std::allocator<(anonymous_namespace)::Stub_table_owner*>_>\n                          ._M_impl._M_finish -\n                     (int)tables.\n                          super__Vector_base<(anonymous_namespace)::Stub_table_owner*,_std::allocator<(anonymous_namespace)::Stub_table_owner*>_>\n                          ._M_impl._M_start;\n            uVar9 = gold::Output_section::Input_section::shndx(this_02);\n            pcVar12 = pRVar8[4].super_Object.name_._M_dataplus._M_p;\n            __position._M_current = (uint *)pRVar8[4].super_Object.name_._M_string_length;\n            uVar7 = (int)__position._M_current - (int)pcVar12 >> 2;\n            if (uVar7 <= uVar9) {\n              uVar1 = uVar9 + 1;\n              new_relaxed.\n              super__Vector_base<gold::Output_relaxed_input_section*,_std::allocator<gold::Output_relaxed_input_section*>_>\n              ._M_impl._M_start = (pointer)0xffffffff;\n              if (uVar7 < uVar1) {\n                pIVar11 = (Input_section *)(uVar1 - uVar7);\n                in_stack_ffffff5c = &new_relaxed;\n                std::vector<unsigned_int,_std::allocator<unsigned_int>_>::_M_fill_insert\n                          ((vector<unsigned_int,_std::allocator<unsigned_int>_> *)\n                           &pRVar8[4].super_Object.name_,__position,(size_type)pIVar11,\n                           (value_type_conflict1 *)in_stack_ffffff5c);\n                pcVar12 = pRVar8[4].super_Object.name_._M_dataplus._M_p;\n                pOVar17 = (Output_section *)__position._M_current;\n              }\n              else if ((uVar1 < uVar7) && (__position._M_current != (uint *)(pcVar12 + uVar1 * 4)))\n              {\n                pRVar8[4].super_Object.name_._M_string_length = (size_type)(pcVar12 + uVar1 * 4);\n              }\n            }\n            *(int *)(pcVar12 + uVar9 * 4) = (iVar10 >> 2) + -1;\n            pOVar13 = *local_7c;\n          }\n          this_02 = this_02 + 1;\n        } while ((pOVar13->input_sections_).\n                 super__Vector_base<gold::Output_section::Input_section,_std::allocator<gold::Output_section::Input_section>_>\n                 ._M_impl._M_finish != this_02);\n      }" { (do_statement "do {\n          if (2 < this_02->shndx_ + 3) {\n            pRVar8 = gold::Output_section::Input_section::relobj(this_02);\n            uVar9 = gold::Output_section::Input_section::shndx(this_02);\n            this_01 = (Stub_control *)0x0;\n            if (uVar9 < (pRVar8[3].dyn_reloc_count_ - (int)pRVar8[3].reloc_bases_) +\n                        (pRVar8[3].first_dyn_reloc_ - (int)pRVar8[3].reloc_counts_) * 8) {\n              this_01 = (Stub_control *)\n                        (uint)((pRVar8[3].reloc_counts_[uVar9 >> 5] & 1 << ((byte)uVar9 & 0x1f)) !=\n                              0);\n            }\n            bVar5 = Stub_control::can_add_to_stub_group\n                              (this_01,pOVar17,pIVar11,SUB41(in_stack_ffffff5c,0));\n            if (bVar5) {\n              if (table_owner == (Stub_table_owner *)0x0) goto LAB_0006f76a;\n            }\n            else {\n              table_owner->output_section = stub_control.output_section_;\n              table_owner->owner = stub_control.owner_;\n              stub_control.output_section_ = *local_7c;\n              table_owner = (Stub_table_owner *)0x0;\n              stub_control.owner_ = this_02;\nLAB_0006f76a:\n                    /* try { // try from 0006f772 to 0006f98f has its CatchHandler @ 0006fd94 */\n              table_owner = (Stub_table_owner *)operator_new(8);\n              table_owner->output_section = (Output_section *)0x0;\n              table_owner->owner = (Input_section *)0x0;\n              if (tables.\n                  super__Vector_base<(anonymous_namespace)::Stub_table_owner*,_std::allocator<(anonymous_namespace)::Stub_table_owner*>_>\n                  ._M_impl._M_finish ==\n                  tables.\n                  super__Vector_base<(anonymous_namespace)::Stub_table_owner*,_std::allocator<(anonymous_namespace)::Stub_table_owner*>_>\n                  ._M_impl._M_end_of_storage) {\n                in_stack_ffffff5c =\n                     (vector<gold::Output_relaxed_input_section*,_std::allocator<gold::Output_relaxed_input_section*>_>\n                      *)0x6fc9b;\n                std::\n                vector<(anonymous_namespace)::Stub_table_owner*,_std::allocator<(anonymous_namespace)::Stub_table_owner*>_>\n                ::_M_realloc_insert<(anonymous_namespace)::Stub_table_owner*_const&>\n                          (in_stack_ffffff60,in_stack_ffffff64,in_stack_ffffff68);\n              }\n              else {\n                *tables.\n                 super__Vector_base<(anonymous_namespace)::Stub_table_owner*,_std::allocator<(anonymous_namespace)::Stub_table_owner*>_>\n                 ._M_impl._M_finish = table_owner;\n                tables.\n                super__Vector_base<(anonymous_namespace)::Stub_table_owner*,_std::allocator<(anonymous_namespace)::Stub_table_owner*>_>\n                ._M_impl._M_finish =\n                     tables.\n                     super__Vector_base<(anonymous_namespace)::Stub_table_owner*,_std::allocator<(anonymous_namespace)::Stub_table_owner*>_>\n                     ._M_impl._M_finish + 1;\n              }\n            }\n            iVar10 = (int)tables.\n                          super__Vector_base<(anonymous_namespace)::Stub_table_owner*,_std::allocator<(anonymous_namespace)::Stub_table_owner*>_>\n                          ._M_impl._M_finish -\n                     (int)tables.\n                          super__Vector_base<(anonymous_namespace)::Stub_table_owner*,_std::allocator<(anonymous_namespace)::Stub_table_owner*>_>\n                          ._M_impl._M_start;\n            uVar9 = gold::Output_section::Input_section::shndx(this_02);\n            pcVar12 = pRVar8[4].super_Object.name_._M_dataplus._M_p;\n            __position._M_current = (uint *)pRVar8[4].super_Object.name_._M_string_length;\n            uVar7 = (int)__position._M_current - (int)pcVar12 >> 2;\n            if (uVar7 <= uVar9) {\n              uVar1 = uVar9 + 1;\n              new_relaxed.\n              super__Vector_base<gold::Output_relaxed_input_section*,_std::allocator<gold::Output_relaxed_input_section*>_>\n              ._M_impl._M_start = (pointer)0xffffffff;\n              if (uVar7 < uVar1) {\n                pIVar11 = (Input_section *)(uVar1 - uVar7);\n                in_stack_ffffff5c = &new_relaxed;\n                std::vector<unsigned_int,_std::allocator<unsigned_int>_>::_M_fill_insert\n                          ((vector<unsigned_int,_std::allocator<unsigned_int>_> *)\n                           &pRVar8[4].super_Object.name_,__position,(size_type)pIVar11,\n                           (value_type_conflict1 *)in_stack_ffffff5c);\n                pcVar12 = pRVar8[4].super_Object.name_._M_dataplus._M_p;\n                pOVar17 = (Output_section *)__position._M_current;\n              }\n              else if ((uVar1 < uVar7) && (__position._M_current != (uint *)(pcVar12 + uVar1 * 4)))\n              {\n                pRVar8[4].super_Object.name_._M_string_length = (size_type)(pcVar12 + uVar1 * 4);\n              }\n            }\n            *(int *)(pcVar12 + uVar9 * 4) = (iVar10 >> 2) + -1;\n            pOVar13 = *local_7c;\n          }\n          this_02 = this_02 + 1;\n        } while ((pOVar13->input_sections_).\n                 super__Vector_base<gold::Output_section::Input_section,_std::allocator<gold::Output_section::Input_section>_>\n                 ._M_impl._M_finish != this_02);" do (compound_statement "{\n          if (2 < this_02->shndx_ + 3) {\n            pRVar8 = gold::Output_section::Input_section::relobj(this_02);\n            uVar9 = gold::Output_section::Input_section::shndx(this_02);\n            this_01 = (Stub_control *)0x0;\n            if (uVar9 < (pRVar8[3].dyn_reloc_count_ - (int)pRVar8[3].reloc_bases_) +\n                        (pRVar8[3].first_dyn_reloc_ - (int)pRVar8[3].reloc_counts_) * 8) {\n              this_01 = (Stub_control *)\n                        (uint)((pRVar8[3].reloc_counts_[uVar9 >> 5] & 1 << ((byte)uVar9 & 0x1f)) !=\n                              0);\n            }\n            bVar5 = Stub_control::can_add_to_stub_group\n                              (this_01,pOVar17,pIVar11,SUB41(in_stack_ffffff5c,0));\n            if (bVar5) {\n              if (table_owner == (Stub_table_owner *)0x0) goto LAB_0006f76a;\n            }\n            else {\n              table_owner->output_section = stub_control.output_section_;\n              table_owner->owner = stub_control.owner_;\n              stub_control.output_section_ = *local_7c;\n              table_owner = (Stub_table_owner *)0x0;\n              stub_control.owner_ = this_02;\nLAB_0006f76a:\n                    /* try { // try from 0006f772 to 0006f98f has its CatchHandler @ 0006fd94 */\n              table_owner = (Stub_table_owner *)operator_new(8);\n              table_owner->output_section = (Output_section *)0x0;\n              table_owner->owner = (Input_section *)0x0;\n              if (tables.\n                  super__Vector_base<(anonymous_namespace)::Stub_table_owner*,_std::allocator<(anonymous_namespace)::Stub_table_owner*>_>\n                  ._M_impl._M_finish ==\n                  tables.\n                  super__Vector_base<(anonymous_namespace)::Stub_table_owner*,_std::allocator<(anonymous_namespace)::Stub_table_owner*>_>\n                  ._M_impl._M_end_of_storage) {\n                in_stack_ffffff5c =\n                     (vector<gold::Output_relaxed_input_section*,_std::allocator<gold::Output_relaxed_input_section*>_>\n                      *)0x6fc9b;\n                std::\n                vector<(anonymous_namespace)::Stub_table_owner*,_std::allocator<(anonymous_namespace)::Stub_table_owner*>_>\n                ::_M_realloc_insert<(anonymous_namespace)::Stub_table_owner*_const&>\n                          (in_stack_ffffff60,in_stack_ffffff64,in_stack_ffffff68);\n              }\n              else {\n                *tables.\n                 super__Vector_base<(anonymous_namespace)::Stub_table_owner*,_std::allocator<(anonymous_namespace)::Stub_table_owner*>_>\n                 ._M_impl._M_finish = table_owner;\n                tables.\n                super__Vector_base<(anonymous_namespace)::Stub_table_owner*,_std::allocator<(anonymous_namespace)::Stub_table_owner*>_>\n                ._M_impl._M_finish =\n                     tables.\n                     super__Vector_base<(anonymous_namespace)::Stub_table_owner*,_std::allocator<(anonymous_namespace)::Stub_table_owner*>_>\n                     ._M_impl._M_finish + 1;\n              }\n            }\n            iVar10 = (int)tables.\n                          super__Vector_base<(anonymous_namespace)::Stub_table_owner*,_std::allocator<(anonymous_namespace)::Stub_table_owner*>_>\n                          ._M_impl._M_finish -\n                     (int)tables.\n                          super__Vector_base<(anonymous_namespace)::Stub_table_owner*,_std::allocator<(anonymous_namespace)::Stub_table_owner*>_>\n                          ._M_impl._M_start;\n            uVar9 = gold::Output_section::Input_section::shndx(this_02);\n            pcVar12 = pRVar8[4].super_Object.name_._M_dataplus._M_p;\n            __position._M_current = (uint *)pRVar8[4].super_Object.name_._M_string_length;\n            uVar7 = (int)__position._M_current - (int)pcVar12 >> 2;\n            if (uVar7 <= uVar9) {\n              uVar1 = uVar9 + 1;\n              new_relaxed.\n              super__Vector_base<gold::Output_relaxed_input_section*,_std::allocator<gold::Output_relaxed_input_section*>_>\n              ._M_impl._M_start = (pointer)0xffffffff;\n              if (uVar7 < uVar1) {\n                pIVar11 = (Input_section *)(uVar1 - uVar7);\n                in_stack_ffffff5c = &new_relaxed;\n                std::vector<unsigned_int,_std::allocator<unsigned_int>_>::_M_fill_insert\n                          ((vector<unsigned_int,_std::allocator<unsigned_int>_> *)\n                           &pRVar8[4].super_Object.name_,__position,(size_type)pIVar11,\n                           (value_type_conflict1 *)in_stack_ffffff5c);\n                pcVar12 = pRVar8[4].super_Object.name_._M_dataplus._M_p;\n                pOVar17 = (Output_section *)__position._M_current;\n              }\n              else if ((uVar1 < uVar7) && (__position._M_current != (uint *)(pcVar12 + uVar1 * 4)))\n              {\n                pRVar8[4].super_Object.name_._M_string_length = (size_type)(pcVar12 + uVar1 * 4);\n              }\n            }\n            *(int *)(pcVar12 + uVar9 * 4) = (iVar10 >> 2) + -1;\n            pOVar13 = *local_7c;\n          }\n          this_02 = this_02 + 1;\n        }" { (if_statement "if (2 < this_02->shndx_ + 3) {\n            pRVar8 = gold::Output_section::Input_section::relobj(this_02);\n            uVar9 = gold::Output_section::Input_section::shndx(this_02);\n            this_01 = (Stub_control *)0x0;\n            if (uVar9 < (pRVar8[3].dyn_reloc_count_ - (int)pRVar8[3].reloc_bases_) +\n                        (pRVar8[3].first_dyn_reloc_ - (int)pRVar8[3].reloc_counts_) * 8) {\n              this_01 = (Stub_control *)\n                        (uint)((pRVar8[3].reloc_counts_[uVar9 >> 5] & 1 << ((byte)uVar9 & 0x1f)) !=\n                              0);\n            }\n            bVar5 = Stub_control::can_add_to_stub_group\n                              (this_01,pOVar17,pIVar11,SUB41(in_stack_ffffff5c,0));\n            if (bVar5) {\n              if (table_owner == (Stub_table_owner *)0x0) goto LAB_0006f76a;\n            }\n            else {\n              table_owner->output_section = stub_control.output_section_;\n              table_owner->owner = stub_control.owner_;\n              stub_control.output_section_ = *local_7c;\n              table_owner = (Stub_table_owner *)0x0;\n              stub_control.owner_ = this_02;\nLAB_0006f76a:\n                    /* try { // try from 0006f772 to 0006f98f has its CatchHandler @ 0006fd94 */\n              table_owner = (Stub_table_owner *)operator_new(8);\n              table_owner->output_section = (Output_section *)0x0;\n              table_owner->owner = (Input_section *)0x0;\n              if (tables.\n                  super__Vector_base<(anonymous_namespace)::Stub_table_owner*,_std::allocator<(anonymous_namespace)::Stub_table_owner*>_>\n                  ._M_impl._M_finish ==\n                  tables.\n                  super__Vector_base<(anonymous_namespace)::Stub_table_owner*,_std::allocator<(anonymous_namespace)::Stub_table_owner*>_>\n                  ._M_impl._M_end_of_storage) {\n                in_stack_ffffff5c =\n                     (vector<gold::Output_relaxed_input_section*,_std::allocator<gold::Output_relaxed_input_section*>_>\n                      *)0x6fc9b;\n                std::\n                vector<(anonymous_namespace)::Stub_table_owner*,_std::allocator<(anonymous_namespace)::Stub_table_owner*>_>\n                ::_M_realloc_insert<(anonymous_namespace)::Stub_table_owner*_const&>\n                          (in_stack_ffffff60,in_stack_ffffff64,in_stack_ffffff68);\n              }\n              else {\n                *tables.\n                 super__Vector_base<(anonymous_namespace)::Stub_table_owner*,_std::allocator<(anonymous_namespace)::Stub_table_owner*>_>\n                 ._M_impl._M_finish = table_owner;\n                tables.\n                super__Vector_base<(anonymous_namespace)::Stub_table_owner*,_std::allocator<(anonymous_namespace)::Stub_table_owner*>_>\n                ._M_impl._M_finish =\n                     tables.\n                     super__Vector_base<(anonymous_namespace)::Stub_table_owner*,_std::allocator<(anonymous_namespace)::Stub_table_owner*>_>\n                     ._M_impl._M_finish + 1;\n              }\n            }\n            iVar10 = (int)tables.\n                          super__Vector_base<(anonymous_namespace)::Stub_table_owner*,_std::allocator<(anonymous_namespace)::Stub_table_owner*>_>\n                          ._M_impl._M_finish -\n                     (int)tables.\n                          super__Vector_base<(anonymous_namespace)::Stub_table_owner*,_std::allocator<(anonymous_namespace)::Stub_table_owner*>_>\n                          ._M_impl._M_start;\n            uVar9 = gold::Output_section::Input_section::shndx(this_02);\n            pcVar12 = pRVar8[4].super_Object.name_._M_dataplus._M_p;\n            __position._M_current = (uint *)pRVar8[4].super_Object.name_._M_string_length;\n            uVar7 = (int)__position._M_current - (int)pcVar12 >> 2;\n            if (uVar7 <= uVar9) {\n              uVar1 = uVar9 + 1;\n              new_relaxed.\n              super__Vector_base<gold::Output_relaxed_input_section*,_std::allocator<gold::Output_relaxed_input_section*>_>\n              ._M_impl._M_start = (pointer)0xffffffff;\n              if (uVar7 < uVar1) {\n                pIVar11 = (Input_section *)(uVar1 - uVar7);\n                in_stack_ffffff5c = &new_relaxed;\n                std::vector<unsigned_int,_std::allocator<unsigned_int>_>::_M_fill_insert\n                          ((vector<unsigned_int,_std::allocator<unsigned_int>_> *)\n                           &pRVar8[4].super_Object.name_,__position,(size_type)pIVar11,\n                           (value_type_conflict1 *)in_stack_ffffff5c);\n                pcVar12 = pRVar8[4].super_Object.name_._M_dataplus._M_p;\n                pOVar17 = (Output_section *)__position._M_current;\n              }\n              else if ((uVar1 < uVar7) && (__position._M_current != (uint *)(pcVar12 + uVar1 * 4)))\n              {\n                pRVar8[4].super_Object.name_._M_string_length = (size_type)(pcVar12 + uVar1 * 4);\n              }\n            }\n            *(int *)(pcVar12 + uVar9 * 4) = (iVar10 >> 2) + -1;\n            pOVar13 = *local_7c;\n          }" if (parenthesized_expression "(2 < this_02->shndx_ + 3)" ( (binary_expression "2 < this_02->shndx_ + 3" number_literal < (binary_expression "this_02->shndx_ + 3" (field_expression "this_02->shndx_" identifier -> field_identifier) + number_literal)) )) (compound_statement "{\n            pRVar8 = gold::Output_section::Input_section::relobj(this_02);\n            uVar9 = gold::Output_section::Input_section::shndx(this_02);\n            this_01 = (Stub_control *)0x0;\n            if (uVar9 < (pRVar8[3].dyn_reloc_count_ - (int)pRVar8[3].reloc_bases_) +\n                        (pRVar8[3].first_dyn_reloc_ - (int)pRVar8[3].reloc_counts_) * 8) {\n              this_01 = (Stub_control *)\n                        (uint)((pRVar8[3].reloc_counts_[uVar9 >> 5] & 1 << ((byte)uVar9 & 0x1f)) !=\n                              0);\n            }\n            bVar5 = Stub_control::can_add_to_stub_group\n                              (this_01,pOVar17,pIVar11,SUB41(in_stack_ffffff5c,0));\n            if (bVar5) {\n              if (table_owner == (Stub_table_owner *)0x0) goto LAB_0006f76a;\n            }\n            else {\n              table_owner->output_section = stub_control.output_section_;\n              table_owner->owner = stub_control.owner_;\n              stub_control.output_section_ = *local_7c;\n              table_owner = (Stub_table_owner *)0x0;\n              stub_control.owner_ = this_02;\nLAB_0006f76a:\n                    /* try { // try from 0006f772 to 0006f98f has its CatchHandler @ 0006fd94 */\n              table_owner = (Stub_table_owner *)operator_new(8);\n              table_owner->output_section = (Output_section *)0x0;\n              table_owner->owner = (Input_section *)0x0;\n              if (tables.\n                  super__Vector_base<(anonymous_namespace)::Stub_table_owner*,_std::allocator<(anonymous_namespace)::Stub_table_owner*>_>\n                  ._M_impl._M_finish ==\n                  tables.\n                  super__Vector_base<(anonymous_namespace)::Stub_table_owner*,_std::allocator<(anonymous_namespace)::Stub_table_owner*>_>\n                  ._M_impl._M_end_of_storage) {\n                in_stack_ffffff5c =\n                     (vector<gold::Output_relaxed_input_section*,_std::allocator<gold::Output_relaxed_input_section*>_>\n                      *)0x6fc9b;\n                std::\n                vector<(anonymous_namespace)::Stub_table_owner*,_std::allocator<(anonymous_namespace)::Stub_table_owner*>_>\n                ::_M_realloc_insert<(anonymous_namespace)::Stub_table_owner*_const&>\n                          (in_stack_ffffff60,in_stack_ffffff64,in_stack_ffffff68);\n              }\n              else {\n                *tables.\n                 super__Vector_base<(anonymous_namespace)::Stub_table_owner*,_std::allocator<(anonymous_namespace)::Stub_table_owner*>_>\n                 ._M_impl._M_finish = table_owner;\n                tables.\n                super__Vector_base<(anonymous_namespace)::Stub_table_owner*,_std::allocator<(anonymous_namespace)::Stub_table_owner*>_>\n                ._M_impl._M_finish =\n                     tables.\n                     super__Vector_base<(anonymous_namespace)::Stub_table_owner*,_std::allocator<(anonymous_namespace)::Stub_table_owner*>_>\n                     ._M_impl._M_finish + 1;\n              }\n            }\n            iVar10 = (int)tables.\n                          super__Vector_base<(anonymous_namespace)::Stub_table_owner*,_std::allocator<(anonymous_namespace)::Stub_table_owner*>_>\n                          ._M_impl._M_finish -\n                     (int)tables.\n                          super__Vector_base<(anonymous_namespace)::Stub_table_owner*,_std::allocator<(anonymous_namespace)::Stub_table_owner*>_>\n                          ._M_impl._M_start;\n            uVar9 = gold::Output_section::Input_section::shndx(this_02);\n            pcVar12 = pRVar8[4].super_Object.name_._M_dataplus._M_p;\n            __position._M_current = (uint *)pRVar8[4].super_Object.name_._M_string_length;\n            uVar7 = (int)__position._M_current - (int)pcVar12 >> 2;\n            if (uVar7 <= uVar9) {\n              uVar1 = uVar9 + 1;\n              new_relaxed.\n              super__Vector_base<gold::Output_relaxed_input_section*,_std::allocator<gold::Output_relaxed_input_section*>_>\n              ._M_impl._M_start = (pointer)0xffffffff;\n              if (uVar7 < uVar1) {\n                pIVar11 = (Input_section *)(uVar1 - uVar7);\n                in_stack_ffffff5c = &new_relaxed;\n                std::vector<unsigned_int,_std::allocator<unsigned_int>_>::_M_fill_insert\n                          ((vector<unsigned_int,_std::allocator<unsigned_int>_> *)\n                           &pRVar8[4].super_Object.name_,__position,(size_type)pIVar11,\n                           (value_type_conflict1 *)in_stack_ffffff5c);\n                pcVar12 = pRVar8[4].super_Object.name_._M_dataplus._M_p;\n                pOVar17 = (Output_section *)__position._M_current;\n              }\n              else if ((uVar1 < uVar7) && (__position._M_current != (uint *)(pcVar12 + uVar1 * 4)))\n              {\n                pRVar8[4].super_Object.name_._M_string_length = (size_type)(pcVar12 + uVar1 * 4);\n              }\n            }\n            *(int *)(pcVar12 + uVar9 * 4) = (iVar10 >> 2) + -1;\n            pOVar13 = *local_7c;\n          }" { (ERROR "pRVar8 = gold::" (assignment_expression "pRVar8 = gold" identifier = identifier) : :) (labeled_statement "Output_section::Input_section::relobj(this_02);" statement_identifier : (ERROR ":" :) (labeled_statement "Input_section::relobj(this_02);" statement_identifier : (ERROR ":" :) (expression_statement "relobj(this_02);" (call_expression "relobj(this_02)" identifier (argument_list "(this_02)" ( identifier ))) ;))) (ERROR "uVar9 = gold::" (assignment_expression "uVar9 = gold" identifier = identifier) : :) (labeled_statement "Output_section::Input_section::shndx(this_02);" statement_identifier : (ERROR ":" :) (labeled_statement "Input_section::shndx(this_02);" statement_identifier : (ERROR ":" :) (expression_statement "shndx(this_02);" (call_expression "shndx(this_02)" identifier (argument_list "(this_02)" ( identifier ))) ;))) (expression_statement "this_01 = (Stub_control *)0x0;" (assignment_expression "this_01 = (Stub_control *)0x0" identifier = (cast_expression "(Stub_control *)0x0" ( (type_descriptor "Stub_control *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (if_statement "if (uVar9 < (pRVar8[3].dyn_reloc_count_ - (int)pRVar8[3].reloc_bases_) +\n                        (pRVar8[3].first_dyn_reloc_ - (int)pRVar8[3].reloc_counts_) * 8) {\n              this_01 = (Stub_control *)\n                        (uint)((pRVar8[3].reloc_counts_[uVar9 >> 5] & 1 << ((byte)uVar9 & 0x1f)) !=\n                              0);\n            }" if (parenthesized_expression "(uVar9 < (pRVar8[3].dyn_reloc_count_ - (int)pRVar8[3].reloc_bases_) +\n                        (pRVar8[3].first_dyn_reloc_ - (int)pRVar8[3].reloc_counts_) * 8)" ( (binary_expression "uVar9 < (pRVar8[3].dyn_reloc_count_ - (int)pRVar8[3].reloc_bases_) +\n                        (pRVar8[3].first_dyn_reloc_ - (int)pRVar8[3].reloc_counts_) * 8" identifier < (binary_expression "(pRVar8[3].dyn_reloc_count_ - (int)pRVar8[3].reloc_bases_) +\n                        (pRVar8[3].first_dyn_reloc_ - (int)pRVar8[3].reloc_counts_) * 8" (parenthesized_expression "(pRVar8[3].dyn_reloc_count_ - (int)pRVar8[3].reloc_bases_)" ( (binary_expression "pRVar8[3].dyn_reloc_count_ - (int)pRVar8[3].reloc_bases_" (field_expression "pRVar8[3].dyn_reloc_count_" (subscript_expression "pRVar8[3]" identifier [ number_literal ]) . field_identifier) - (cast_expression "(int)pRVar8[3].reloc_bases_" ( (type_descriptor "int" primitive_type) ) (field_expression "pRVar8[3].reloc_bases_" (subscript_expression "pRVar8[3]" identifier [ number_literal ]) . field_identifier))) )) + (binary_expression "(pRVar8[3].first_dyn_reloc_ - (int)pRVar8[3].reloc_counts_) * 8" (parenthesized_expression "(pRVar8[3].first_dyn_reloc_ - (int)pRVar8[3].reloc_counts_)" ( (binary_expression "pRVar8[3].first_dyn_reloc_ - (int)pRVar8[3].reloc_counts_" (field_expression "pRVar8[3].first_dyn_reloc_" (subscript_expression "pRVar8[3]" identifier [ number_literal ]) . field_identifier) - (cast_expression "(int)pRVar8[3].reloc_counts_" ( (type_descriptor "int" primitive_type) ) (field_expression "pRVar8[3].reloc_counts_" (subscript_expression "pRVar8[3]" identifier [ number_literal ]) . field_identifier))) )) * number_literal))) )) (compound_statement "{\n              this_01 = (Stub_control *)\n                        (uint)((pRVar8[3].reloc_counts_[uVar9 >> 5] & 1 << ((byte)uVar9 & 0x1f)) !=\n                              0);\n            }" { (expression_statement "this_01 = (Stub_control *)\n                        (uint)((pRVar8[3].reloc_counts_[uVar9 >> 5] & 1 << ((byte)uVar9 & 0x1f)) !=\n                              0);" (assignment_expression "this_01 = (Stub_control *)\n                        (uint)((pRVar8[3].reloc_counts_[uVar9 >> 5] & 1 << ((byte)uVar9 & 0x1f)) !=\n                              0)" identifier = (cast_expression "(Stub_control *)\n                        (uint)((pRVar8[3].reloc_counts_[uVar9 >> 5] & 1 << ((byte)uVar9 & 0x1f)) !=\n                              0)" ( (type_descriptor "Stub_control *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(uint)((pRVar8[3].reloc_counts_[uVar9 >> 5] & 1 << ((byte)uVar9 & 0x1f)) !=\n                              0)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((pRVar8[3].reloc_counts_[uVar9 >> 5] & 1 << ((byte)uVar9 & 0x1f)) !=\n                              0)" ( (binary_expression "(pRVar8[3].reloc_counts_[uVar9 >> 5] & 1 << ((byte)uVar9 & 0x1f)) !=\n                              0" (parenthesized_expression "(pRVar8[3].reloc_counts_[uVar9 >> 5] & 1 << ((byte)uVar9 & 0x1f))" ( (binary_expression "pRVar8[3].reloc_counts_[uVar9 >> 5] & 1 << ((byte)uVar9 & 0x1f)" (subscript_expression "pRVar8[3].reloc_counts_[uVar9 >> 5]" (field_expression "pRVar8[3].reloc_counts_" (subscript_expression "pRVar8[3]" identifier [ number_literal ]) . field_identifier) [ (binary_expression "uVar9 >> 5" identifier >> number_literal) ]) & (binary_expression "1 << ((byte)uVar9 & 0x1f)" number_literal << (parenthesized_expression "((byte)uVar9 & 0x1f)" ( (binary_expression "(byte)uVar9 & 0x1f" (cast_expression "(byte)uVar9" ( (type_descriptor "byte" type_identifier) ) identifier) & number_literal) )))) )) != number_literal) ))))) ;) })) (ERROR "bVar5 = Stub_control::" (assignment_expression "bVar5 = Stub_control" identifier = identifier) : :) (expression_statement "can_add_to_stub_group\n                              (this_01,pOVar17,pIVar11,SUB41(in_stack_ffffff5c,0));" (call_expression "can_add_to_stub_group\n                              (this_01,pOVar17,pIVar11,SUB41(in_stack_ffffff5c,0))" identifier (argument_list "(this_01,pOVar17,pIVar11,SUB41(in_stack_ffffff5c,0))" ( identifier , identifier , identifier , (call_expression "SUB41(in_stack_ffffff5c,0)" identifier (argument_list "(in_stack_ffffff5c,0)" ( identifier , number_literal ))) ))) ;) (if_statement "if (bVar5) {\n              if (table_owner == (Stub_table_owner *)0x0) goto LAB_0006f76a;\n            }\n            else {\n              table_owner->output_section = stub_control.output_section_;\n              table_owner->owner = stub_control.owner_;\n              stub_control.output_section_ = *local_7c;\n              table_owner = (Stub_table_owner *)0x0;\n              stub_control.owner_ = this_02;\nLAB_0006f76a:\n                    /* try { // try from 0006f772 to 0006f98f has its CatchHandler @ 0006fd94 */\n              table_owner = (Stub_table_owner *)operator_new(8);\n              table_owner->output_section = (Output_section *)0x0;\n              table_owner->owner = (Input_section *)0x0;\n              if (tables.\n                  super__Vector_base<(anonymous_namespace)::Stub_table_owner*,_std::allocator<(anonymous_namespace)::Stub_table_owner*>_>\n                  ._M_impl._M_finish ==\n                  tables.\n                  super__Vector_base<(anonymous_namespace)::Stub_table_owner*,_std::allocator<(anonymous_namespace)::Stub_table_owner*>_>\n                  ._M_impl._M_end_of_storage) {\n                in_stack_ffffff5c =\n                     (vector<gold::Output_relaxed_input_section*,_std::allocator<gold::Output_relaxed_input_section*>_>\n                      *)0x6fc9b;\n                std::\n                vector<(anonymous_namespace)::Stub_table_owner*,_std::allocator<(anonymous_namespace)::Stub_table_owner*>_>\n                ::_M_realloc_insert<(anonymous_namespace)::Stub_table_owner*_const&>\n                          (in_stack_ffffff60,in_stack_ffffff64,in_stack_ffffff68);\n              }\n              else {\n                *tables.\n                 super__Vector_base<(anonymous_namespace)::Stub_table_owner*,_std::allocator<(anonymous_namespace)::Stub_table_owner*>_>\n                 ._M_impl._M_finish = table_owner;\n                tables.\n                super__Vector_base<(anonymous_namespace)::Stub_table_owner*,_std::allocator<(anonymous_namespace)::Stub_table_owner*>_>\n                ._M_impl._M_finish =\n                     tables.\n                     super__Vector_base<(anonymous_namespace)::Stub_table_owner*,_std::allocator<(anonymous_namespace)::Stub_table_owner*>_>\n                     ._M_impl._M_finish + 1;\n              }\n            }" if (parenthesized_expression "(bVar5)" ( identifier )) (compound_statement "{\n              if (table_owner == (Stub_table_owner *)0x0) goto LAB_0006f76a;\n            }" { (if_statement "if (table_owner == (Stub_table_owner *)0x0) goto LAB_0006f76a;" if (parenthesized_expression "(table_owner == (Stub_table_owner *)0x0)" ( (binary_expression "table_owner == (Stub_table_owner *)0x0" identifier == (cast_expression "(Stub_table_owner *)0x0" ( (type_descriptor "Stub_table_owner *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_0006f76a;" goto statement_identifier ;)) }) (else_clause "else {\n              table_owner->output_section = stub_control.output_section_;\n              table_owner->owner = stub_control.owner_;\n              stub_control.output_section_ = *local_7c;\n              table_owner = (Stub_table_owner *)0x0;\n              stub_control.owner_ = this_02;\nLAB_0006f76a:\n                    /* try { // try from 0006f772 to 0006f98f has its CatchHandler @ 0006fd94 */\n              table_owner = (Stub_table_owner *)operator_new(8);\n              table_owner->output_section = (Output_section *)0x0;\n              table_owner->owner = (Input_section *)0x0;\n              if (tables.\n                  super__Vector_base<(anonymous_namespace)::Stub_table_owner*,_std::allocator<(anonymous_namespace)::Stub_table_owner*>_>\n                  ._M_impl._M_finish ==\n                  tables.\n                  super__Vector_base<(anonymous_namespace)::Stub_table_owner*,_std::allocator<(anonymous_namespace)::Stub_table_owner*>_>\n                  ._M_impl._M_end_of_storage) {\n                in_stack_ffffff5c =\n                     (vector<gold::Output_relaxed_input_section*,_std::allocator<gold::Output_relaxed_input_section*>_>\n                      *)0x6fc9b;\n                std::\n                vector<(anonymous_namespace)::Stub_table_owner*,_std::allocator<(anonymous_namespace)::Stub_table_owner*>_>\n                ::_M_realloc_insert<(anonymous_namespace)::Stub_table_owner*_const&>\n                          (in_stack_ffffff60,in_stack_ffffff64,in_stack_ffffff68);\n              }\n              else {\n                *tables.\n                 super__Vector_base<(anonymous_namespace)::Stub_table_owner*,_std::allocator<(anonymous_namespace)::Stub_table_owner*>_>\n                 ._M_impl._M_finish = table_owner;\n                tables.\n                super__Vector_base<(anonymous_namespace)::Stub_table_owner*,_std::allocator<(anonymous_namespace)::Stub_table_owner*>_>\n                ._M_impl._M_finish =\n                     tables.\n                     super__Vector_base<(anonymous_namespace)::Stub_table_owner*,_std::allocator<(anonymous_namespace)::Stub_table_owner*>_>\n                     ._M_impl._M_finish + 1;\n              }\n            }" else (compound_statement "{\n              table_owner->output_section = stub_control.output_section_;\n              table_owner->owner = stub_control.owner_;\n              stub_control.output_section_ = *local_7c;\n              table_owner = (Stub_table_owner *)0x0;\n              stub_control.owner_ = this_02;\nLAB_0006f76a:\n                    /* try { // try from 0006f772 to 0006f98f has its CatchHandler @ 0006fd94 */\n              table_owner = (Stub_table_owner *)operator_new(8);\n              table_owner->output_section = (Output_section *)0x0;\n              table_owner->owner = (Input_section *)0x0;\n              if (tables.\n                  super__Vector_base<(anonymous_namespace)::Stub_table_owner*,_std::allocator<(anonymous_namespace)::Stub_table_owner*>_>\n                  ._M_impl._M_finish ==\n                  tables.\n                  super__Vector_base<(anonymous_namespace)::Stub_table_owner*,_std::allocator<(anonymous_namespace)::Stub_table_owner*>_>\n                  ._M_impl._M_end_of_storage) {\n                in_stack_ffffff5c =\n                     (vector<gold::Output_relaxed_input_section*,_std::allocator<gold::Output_relaxed_input_section*>_>\n                      *)0x6fc9b;\n                std::\n                vector<(anonymous_namespace)::Stub_table_owner*,_std::allocator<(anonymous_namespace)::Stub_table_owner*>_>\n                ::_M_realloc_insert<(anonymous_namespace)::Stub_table_owner*_const&>\n                          (in_stack_ffffff60,in_stack_ffffff64,in_stack_ffffff68);\n              }\n              else {\n                *tables.\n                 super__Vector_base<(anonymous_namespace)::Stub_table_owner*,_std::allocator<(anonymous_namespace)::Stub_table_owner*>_>\n                 ._M_impl._M_finish = table_owner;\n                tables.\n                super__Vector_base<(anonymous_namespace)::Stub_table_owner*,_std::allocator<(anonymous_namespace)::Stub_table_owner*>_>\n                ._M_impl._M_finish =\n                     tables.\n                     super__Vector_base<(anonymous_namespace)::Stub_table_owner*,_std::allocator<(anonymous_namespace)::Stub_table_owner*>_>\n                     ._M_impl._M_finish + 1;\n              }\n            }" { (expression_statement "table_owner->output_section = stub_control.output_section_;" (assignment_expression "table_owner->output_section = stub_control.output_section_" (field_expression "table_owner->output_section" identifier -> field_identifier) = (field_expression "stub_control.output_section_" identifier . field_identifier)) ;) (expression_statement "table_owner->owner = stub_control.owner_;" (assignment_expression "table_owner->owner = stub_control.owner_" (field_expression "table_owner->owner" identifier -> field_identifier) = (field_expression "stub_control.owner_" identifier . field_identifier)) ;) (expression_statement "stub_control.output_section_ = *local_7c;" (assignment_expression "stub_control.output_section_ = *local_7c" (field_expression "stub_control.output_section_" identifier . field_identifier) = (pointer_expression "*local_7c" * identifier)) ;) (expression_statement "table_owner = (Stub_table_owner *)0x0;" (assignment_expression "table_owner = (Stub_table_owner *)0x0" identifier = (cast_expression "(Stub_table_owner *)0x0" ( (type_descriptor "Stub_table_owner *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "stub_control.owner_ = this_02;" (assignment_expression "stub_control.owner_ = this_02" (field_expression "stub_control.owner_" identifier . field_identifier) = identifier) ;) (labeled_statement "LAB_0006f76a:\n                    /* try { // try from 0006f772 to 0006f98f has its CatchHandler @ 0006fd94 */\n              table_owner = (Stub_table_owner *)operator_new(8);" statement_identifier : comment (expression_statement "table_owner = (Stub_table_owner *)operator_new(8);" (assignment_expression "table_owner = (Stub_table_owner *)operator_new(8)" identifier = (cast_expression "(Stub_table_owner *)operator_new(8)" ( (type_descriptor "Stub_table_owner *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "operator_new(8)" identifier (argument_list "(8)" ( number_literal ))))) ;)) (expression_statement "table_owner->output_section = (Output_section *)0x0;" (assignment_expression "table_owner->output_section = (Output_section *)0x0" (field_expression "table_owner->output_section" identifier -> field_identifier) = (cast_expression "(Output_section *)0x0" ( (type_descriptor "Output_section *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "table_owner->owner = (Input_section *)0x0;" (assignment_expression "table_owner->owner = (Input_section *)0x0" (field_expression "table_owner->owner" identifier -> field_identifier) = (cast_expression "(Input_section *)0x0" ( (type_descriptor "Input_section *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (if_statement "if (tables.\n                  super__Vector_base<(anonymous_namespace)::Stub_table_owner*,_std::allocator<(anonymous_namespace)::Stub_table_owner*>_>\n                  ._M_impl._M_finish ==\n                  tables.\n                  super__Vector_base<(anonymous_namespace)::Stub_table_owner*,_std::allocator<(anonymous_namespace)::Stub_table_owner*>_>\n                  ._M_impl._M_end_of_storage) {\n                in_stack_ffffff5c =\n                     (vector<gold::Output_relaxed_input_section*,_std::allocator<gold::Output_relaxed_input_section*>_>\n                      *)0x6fc9b;\n                std::\n                vector<(anonymous_namespace)::Stub_table_owner*,_std::allocator<(anonymous_namespace)::Stub_table_owner*>_>\n                ::_M_realloc_insert<(anonymous_namespace)::Stub_table_owner*_const&>\n                          (in_stack_ffffff60,in_stack_ffffff64,in_stack_ffffff68);\n              }\n              else {\n                *tables.\n                 super__Vector_base<(anonymous_namespace)::Stub_table_owner*,_std::allocator<(anonymous_namespace)::Stub_table_owner*>_>\n                 ._M_impl._M_finish = table_owner;\n                tables.\n                super__Vector_base<(anonymous_namespace)::Stub_table_owner*,_std::allocator<(anonymous_namespace)::Stub_table_owner*>_>\n                ._M_impl._M_finish =\n                     tables.\n                     super__Vector_base<(anonymous_namespace)::Stub_table_owner*,_std::allocator<(anonymous_namespace)::Stub_table_owner*>_>\n                     ._M_impl._M_finish + 1;\n              }" if (parenthesized_expression "(tables.\n                  super__Vector_base<(anonymous_namespace)::Stub_table_owner*,_std::allocator<(anonymous_namespace)::Stub_table_owner*>_>\n                  ._M_impl._M_finish ==\n                  tables.\n                  super__Vector_base<(anonymous_namespace)::Stub_table_owner*,_std::allocator<(anonymous_namespace)::Stub_table_owner*>_>\n                  ._M_impl._M_end_of_storage)" ( (field_expression "tables.\n                  super__Vector_base<(anonymous_namespace)::Stub_table_owner*,_std::allocator<(anonymous_namespace)::Stub_table_owner*>_>\n                  ._M_impl._M_finish ==\n                  tables.\n                  super__Vector_base<(anonymous_namespace)::Stub_table_owner*,_std::allocator<(anonymous_namespace)::Stub_table_owner*>_>\n                  ._M_impl._M_end_of_storage" (field_expression "tables.\n                  super__Vector_base<(anonymous_namespace)::Stub_table_owner*,_std::allocator<(anonymous_namespace)::Stub_table_owner*>_>\n                  ._M_impl._M_finish ==\n                  tables.\n                  super__Vector_base<(anonymous_namespace)::Stub_table_owner*,_std::allocator<(anonymous_namespace)::Stub_table_owner*>_>\n                  ._M_impl" (binary_expression "tables.\n                  super__Vector_base<(anonymous_namespace)::Stub_table_owner*,_std::allocator<(anonymous_namespace)::Stub_table_owner*>_>\n                  ._M_impl._M_finish ==\n                  tables.\n                  super__Vector_base<(anonymous_namespace)::Stub_table_owner*,_std::allocator<(anonymous_namespace)::Stub_table_owner*>_" (binary_expression "tables.\n                  super__Vector_base<(anonymous_namespace)::Stub_table_owner*,_std::allocator<(anonymous_namespace)::Stub_table_owner*>_>\n                  ._M_impl._M_finish ==\n                  tables.\n                  super__Vector_base<(anonymous_namespace)::Stub_table_owner*,_std::allocator<(anonymous_namespace)" (binary_expression "tables.\n                  super__Vector_base<(anonymous_namespace)::Stub_table_owner*,_std::allocator<(anonymous_namespace)::Stub_table_owner*>_>\n                  ._M_impl._M_finish ==\n                  tables.\n                  super__Vector_base<(anonymous_namespace)::Stub_table_owner*,_std" (binary_expression "tables.\n                  super__Vector_base<(anonymous_namespace)::Stub_table_owner*,_std::allocator<(anonymous_namespace)::Stub_table_owner*>_>\n                  ._M_impl._M_finish ==\n                  tables.\n                  super__Vector_base<(anonymous_namespace)" (field_expression "tables.\n                  super__Vector_base<(anonymous_namespace)::Stub_table_owner*,_std::allocator<(anonymous_namespace)::Stub_table_owner*>_>\n                  ._M_impl._M_finish" (field_expression "tables.\n                  super__Vector_base<(anonymous_namespace)::Stub_table_owner*,_std::allocator<(anonymous_namespace)::Stub_table_owner*>_>\n                  ._M_impl" (binary_expression "tables.\n                  super__Vector_base<(anonymous_namespace)::Stub_table_owner*,_std::allocator<(anonymous_namespace)::Stub_table_owner*>_" (binary_expression "tables.\n                  super__Vector_base<(anonymous_namespace)::Stub_table_owner*,_std::allocator<(anonymous_namespace)" (binary_expression "tables.\n                  super__Vector_base<(anonymous_namespace)::Stub_table_owner*,_std" (binary_expression "tables.\n                  super__Vector_base<(anonymous_namespace)" (field_expression "tables.\n                  super__Vector_base" identifier . field_identifier) < (parenthesized_expression "(anonymous_namespace)" ( identifier ))) (ERROR "::Stub_table_owner" : : identifier) * (ERROR "," ,) identifier) (ERROR "::allocator" : : identifier) < (parenthesized_expression "(anonymous_namespace)" ( identifier ))) (ERROR "::Stub_table_owner" : : identifier) * (ERROR ">" >) identifier) (ERROR ">" >) . field_identifier) . field_identifier) == (binary_expression "tables.\n                  super__Vector_base<(anonymous_namespace)" (field_expression "tables.\n                  super__Vector_base" identifier . field_identifier) < (parenthesized_expression "(anonymous_namespace)" ( identifier )))) (ERROR "::Stub_table_owner" : : identifier) * (ERROR "," ,) identifier) (ERROR "::allocator" : : identifier) < (parenthesized_expression "(anonymous_namespace)" ( identifier ))) (ERROR "::Stub_table_owner" : : identifier) * (ERROR ">" >) identifier) (ERROR ">" >) . field_identifier) . field_identifier) )) (compound_statement "{\n                in_stack_ffffff5c =\n                     (vector<gold::Output_relaxed_input_section*,_std::allocator<gold::Output_relaxed_input_section*>_>\n                      *)0x6fc9b;\n                std::\n                vector<(anonymous_namespace)::Stub_table_owner*,_std::allocator<(anonymous_namespace)::Stub_table_owner*>_>\n                ::_M_realloc_insert<(anonymous_namespace)::Stub_table_owner*_const&>\n                          (in_stack_ffffff60,in_stack_ffffff64,in_stack_ffffff68);\n              }" { (expression_statement "in_stack_ffffff5c =\n                     (vector<gold::Output_relaxed_input_section*,_std::allocator<gold::Output_relaxed_input_section*>_>\n                      *)0x6fc9b;" (assignment_expression "in_stack_ffffff5c =\n                     (vector<gold::Output_relaxed_input_section*,_std::allocator<gold::Output_relaxed_input_section*>_>\n                      *)0x6fc9b" identifier = (parenthesized_expression "(vector<gold::Output_relaxed_input_section*,_std::allocator<gold::Output_relaxed_input_section*>_>\n                      *)0x6fc9b" ( (ERROR "vector<gold::Output_relaxed_input_section*,_std::allocator<gold::" (binary_expression "vector<gold" identifier < identifier) : : (type_descriptor "Output_relaxed_input_section*" type_identifier (abstract_pointer_declarator "*" *)) , identifier : : (binary_expression "allocator<gold" identifier < identifier) : :) (binary_expression "Output_relaxed_input_section*>_>\n                      *)0x6fc9b" (binary_expression "Output_relaxed_input_section*>_" identifier * (ERROR ">" >) identifier) > (pointer_expression "*)0x6fc9b" * (ERROR ")" )) number_literal)) ))) ;) (ERROR "std::\n                vector<(anonymous_namespace)::Stub_table_owner*,_std::allocator<(anonymous_namespace)::Stub_table_owner*>_>\n                ::_M_realloc_insert<(anonymous_namespace)::" (comma_expression "std::\n                vector<(anonymous_namespace)::Stub_table_owner*,_std" identifier (ERROR "::\n                vector<(anonymous_namespace)::Stub_table_owner*" : : (binary_expression "vector<(anonymous_namespace)" identifier < (parenthesized_expression "(anonymous_namespace)" ( identifier ))) : : identifier *) , identifier) : : (binary_expression "allocator<(anonymous_namespace)" identifier < (parenthesized_expression "(anonymous_namespace)" ( identifier ))) : : (binary_expression "Stub_table_owner*>_>\n                ::_M_realloc_insert<(anonymous_namespace)" (binary_expression "Stub_table_owner*>_>\n                ::_M_realloc_insert" (binary_expression "Stub_table_owner*>_" identifier * (ERROR ">" >) identifier) > (ERROR "::" : :) identifier) < (parenthesized_expression "(anonymous_namespace)" ( identifier ))) : :) (expression_statement "Stub_table_owner*_const&>\n                          (in_stack_ffffff60,in_stack_ffffff64,in_stack_ffffff68);" (binary_expression "Stub_table_owner*_const&>\n                          (in_stack_ffffff60,in_stack_ffffff64,in_stack_ffffff68)" (binary_expression "Stub_table_owner*_const" identifier * identifier) (ERROR "&" &) > (parenthesized_expression "(in_stack_ffffff60,in_stack_ffffff64,in_stack_ffffff68)" ( (comma_expression "in_stack_ffffff60,in_stack_ffffff64,in_stack_ffffff68" identifier , (comma_expression "in_stack_ffffff64,in_stack_ffffff68" identifier , identifier)) ))) ;) }) (else_clause "else {\n                *tables.\n                 super__Vector_base<(anonymous_namespace)::Stub_table_owner*,_std::allocator<(anonymous_namespace)::Stub_table_owner*>_>\n                 ._M_impl._M_finish = table_owner;\n                tables.\n                super__Vector_base<(anonymous_namespace)::Stub_table_owner*,_std::allocator<(anonymous_namespace)::Stub_table_owner*>_>\n                ._M_impl._M_finish =\n                     tables.\n                     super__Vector_base<(anonymous_namespace)::Stub_table_owner*,_std::allocator<(anonymous_namespace)::Stub_table_owner*>_>\n                     ._M_impl._M_finish + 1;\n              }" else (compound_statement "{\n                *tables.\n                 super__Vector_base<(anonymous_namespace)::Stub_table_owner*,_std::allocator<(anonymous_namespace)::Stub_table_owner*>_>\n                 ._M_impl._M_finish = table_owner;\n                tables.\n                super__Vector_base<(anonymous_namespace)::Stub_table_owner*,_std::allocator<(anonymous_namespace)::Stub_table_owner*>_>\n                ._M_impl._M_finish =\n                     tables.\n                     super__Vector_base<(anonymous_namespace)::Stub_table_owner*,_std::allocator<(anonymous_namespace)::Stub_table_owner*>_>\n                     ._M_impl._M_finish + 1;\n              }" { (expression_statement "*tables.\n                 super__Vector_base<(anonymous_namespace)::Stub_table_owner*,_std::allocator<(anonymous_namespace)::Stub_table_owner*>_>\n                 ._M_impl._M_finish = table_owner;" (assignment_expression "*tables.\n                 super__Vector_base<(anonymous_namespace)::Stub_table_owner*,_std::allocator<(anonymous_namespace)::Stub_table_owner*>_>\n                 ._M_impl._M_finish = table_owner" (field_expression "*tables.\n                 super__Vector_base<(anonymous_namespace)::Stub_table_owner*,_std::allocator<(anonymous_namespace)::Stub_table_owner*>_>\n                 ._M_impl._M_finish" (field_expression "*tables.\n                 super__Vector_base<(anonymous_namespace)::Stub_table_owner*,_std::allocator<(anonymous_namespace)::Stub_table_owner*>_>\n                 ._M_impl" (binary_expression "*tables.\n                 super__Vector_base<(anonymous_namespace)::Stub_table_owner*,_std::allocator<(anonymous_namespace)::Stub_table_owner*>_" (binary_expression "*tables.\n                 super__Vector_base<(anonymous_namespace)::Stub_table_owner*,_std::allocator<(anonymous_namespace)" (binary_expression "*tables.\n                 super__Vector_base<(anonymous_namespace)::Stub_table_owner*,_std" (binary_expression "*tables.\n                 super__Vector_base<(anonymous_namespace)" (pointer_expression "*tables.\n                 super__Vector_base" * (field_expression "tables.\n                 super__Vector_base" identifier . field_identifier)) < (parenthesized_expression "(anonymous_namespace)" ( identifier ))) (ERROR "::Stub_table_owner" : : identifier) * (ERROR "," ,) identifier) (ERROR "::allocator" : : identifier) < (parenthesized_expression "(anonymous_namespace)" ( identifier ))) (ERROR "::Stub_table_owner" : : identifier) * (ERROR ">" >) identifier) (ERROR ">" >) . field_identifier) . field_identifier) = identifier) ;) (expression_statement "tables.\n                super__Vector_base<(anonymous_namespace)::Stub_table_owner*,_std::allocator<(anonymous_namespace)::Stub_table_owner*>_>\n                ._M_impl._M_finish =\n                     tables.\n                     super__Vector_base<(anonymous_namespace)::Stub_table_owner*,_std::allocator<(anonymous_namespace)::Stub_table_owner*>_>\n                     ._M_impl._M_finish + 1;" (binary_expression "tables.\n                super__Vector_base<(anonymous_namespace)::Stub_table_owner*,_std::allocator<(anonymous_namespace)::Stub_table_owner*>_>\n                ._M_impl._M_finish =\n                     tables.\n                     super__Vector_base<(anonymous_namespace)::Stub_table_owner*,_std::allocator<(anonymous_namespace)::Stub_table_owner*>_>\n                     ._M_impl._M_finish + 1" (field_expression "tables.\n                super__Vector_base<(anonymous_namespace)::Stub_table_owner*,_std::allocator<(anonymous_namespace)::Stub_table_owner*>_>\n                ._M_impl._M_finish =\n                     tables.\n                     super__Vector_base<(anonymous_namespace)::Stub_table_owner*,_std::allocator<(anonymous_namespace)::Stub_table_owner*>_>\n                     ._M_impl._M_finish" (field_expression "tables.\n                super__Vector_base<(anonymous_namespace)::Stub_table_owner*,_std::allocator<(anonymous_namespace)::Stub_table_owner*>_>\n                ._M_impl._M_finish =\n                     tables.\n                     super__Vector_base<(anonymous_namespace)::Stub_table_owner*,_std::allocator<(anonymous_namespace)::Stub_table_owner*>_>\n                     ._M_impl" (binary_expression "tables.\n                super__Vector_base<(anonymous_namespace)::Stub_table_owner*,_std::allocator<(anonymous_namespace)::Stub_table_owner*>_>\n                ._M_impl._M_finish =\n                     tables.\n                     super__Vector_base<(anonymous_namespace)::Stub_table_owner*,_std::allocator<(anonymous_namespace)::Stub_table_owner*>_" (binary_expression "tables.\n                super__Vector_base<(anonymous_namespace)::Stub_table_owner*,_std::allocator<(anonymous_namespace)::Stub_table_owner*>_>\n                ._M_impl._M_finish =\n                     tables.\n                     super__Vector_base<(anonymous_namespace)::Stub_table_owner*,_std::allocator<(anonymous_namespace)" (binary_expression "tables.\n                super__Vector_base<(anonymous_namespace)::Stub_table_owner*,_std::allocator<(anonymous_namespace)::Stub_table_owner*>_>\n                ._M_impl._M_finish =\n                     tables.\n                     super__Vector_base<(anonymous_namespace)::Stub_table_owner*,_std" (assignment_expression "tables.\n                super__Vector_base<(anonymous_namespace)::Stub_table_owner*,_std::allocator<(anonymous_namespace)::Stub_table_owner*>_>\n                ._M_impl._M_finish =\n                     tables.\n                     super__Vector_base<(anonymous_namespace)" (field_expression "tables.\n                super__Vector_base<(anonymous_namespace)::Stub_table_owner*,_std::allocator<(anonymous_namespace)::Stub_table_owner*>_>\n                ._M_impl._M_finish" (field_expression "tables.\n                super__Vector_base<(anonymous_namespace)::Stub_table_owner*,_std::allocator<(anonymous_namespace)::Stub_table_owner*>_>\n                ._M_impl" (binary_expression "tables.\n                super__Vector_base<(anonymous_namespace)::Stub_table_owner*,_std::allocator<(anonymous_namespace)::Stub_table_owner*>_" (binary_expression "tables.\n                super__Vector_base<(anonymous_namespace)::Stub_table_owner*,_std::allocator<(anonymous_namespace)" (binary_expression "tables.\n                super__Vector_base<(anonymous_namespace)::Stub_table_owner*,_std" (binary_expression "tables.\n                super__Vector_base<(anonymous_namespace)" (field_expression "tables.\n                super__Vector_base" identifier . field_identifier) < (parenthesized_expression "(anonymous_namespace)" ( identifier ))) (ERROR "::Stub_table_owner" : : identifier) * (ERROR "," ,) identifier) (ERROR "::allocator" : : identifier) < (parenthesized_expression "(anonymous_namespace)" ( identifier ))) (ERROR "::Stub_table_owner" : : identifier) * (ERROR ">" >) identifier) (ERROR ">" >) . field_identifier) . field_identifier) = (binary_expression "tables.\n                     super__Vector_base<(anonymous_namespace)" (field_expression "tables.\n                     super__Vector_base" identifier . field_identifier) < (parenthesized_expression "(anonymous_namespace)" ( identifier )))) (ERROR "::Stub_table_owner" : : identifier) * (ERROR "," ,) identifier) (ERROR "::allocator" : : identifier) < (parenthesized_expression "(anonymous_namespace)" ( identifier ))) (ERROR "::Stub_table_owner" : : identifier) * (ERROR ">" >) identifier) (ERROR ">" >) . field_identifier) . field_identifier) + number_literal) ;) }))) }))) (expression_statement "iVar10 = (int)tables.\n                          super__Vector_base<(anonymous_namespace)::Stub_table_owner*,_std::allocator<(anonymous_namespace)::Stub_table_owner*>_>\n                          ._M_impl._M_finish -\n                     (int)tables.\n                          super__Vector_base<(anonymous_namespace)::Stub_table_owner*,_std::allocator<(anonymous_namespace)::Stub_table_owner*>_>\n                          ._M_impl._M_start;" (field_expression "iVar10 = (int)tables.\n                          super__Vector_base<(anonymous_namespace)::Stub_table_owner*,_std::allocator<(anonymous_namespace)::Stub_table_owner*>_>\n                          ._M_impl._M_finish -\n                     (int)tables.\n                          super__Vector_base<(anonymous_namespace)::Stub_table_owner*,_std::allocator<(anonymous_namespace)::Stub_table_owner*>_>\n                          ._M_impl._M_start" (field_expression "iVar10 = (int)tables.\n                          super__Vector_base<(anonymous_namespace)::Stub_table_owner*,_std::allocator<(anonymous_namespace)::Stub_table_owner*>_>\n                          ._M_impl._M_finish -\n                     (int)tables.\n                          super__Vector_base<(anonymous_namespace)::Stub_table_owner*,_std::allocator<(anonymous_namespace)::Stub_table_owner*>_>\n                          ._M_impl" (binary_expression "iVar10 = (int)tables.\n                          super__Vector_base<(anonymous_namespace)::Stub_table_owner*,_std::allocator<(anonymous_namespace)::Stub_table_owner*>_>\n                          ._M_impl._M_finish -\n                     (int)tables.\n                          super__Vector_base<(anonymous_namespace)::Stub_table_owner*,_std::allocator<(anonymous_namespace)::Stub_table_owner*>_" (binary_expression "iVar10 = (int)tables.\n                          super__Vector_base<(anonymous_namespace)::Stub_table_owner*,_std::allocator<(anonymous_namespace)::Stub_table_owner*>_>\n                          ._M_impl._M_finish -\n                     (int)tables.\n                          super__Vector_base<(anonymous_namespace)::Stub_table_owner*,_std::allocator<(anonymous_namespace)" (binary_expression "iVar10 = (int)tables.\n                          super__Vector_base<(anonymous_namespace)::Stub_table_owner*,_std::allocator<(anonymous_namespace)::Stub_table_owner*>_>\n                          ._M_impl._M_finish -\n                     (int)tables.\n                          super__Vector_base<(anonymous_namespace)::Stub_table_owner*,_std" (binary_expression "iVar10 = (int)tables.\n                          super__Vector_base<(anonymous_namespace)::Stub_table_owner*,_std::allocator<(anonymous_namespace)::Stub_table_owner*>_>\n                          ._M_impl._M_finish -\n                     (int)tables.\n                          super__Vector_base<(anonymous_namespace)" (binary_expression "iVar10 = (int)tables.\n                          super__Vector_base<(anonymous_namespace)::Stub_table_owner*,_std::allocator<(anonymous_namespace)::Stub_table_owner*>_>\n                          ._M_impl._M_finish -\n                     (int)tables.\n                          super__Vector_base" (field_expression "iVar10 = (int)tables.\n                          super__Vector_base<(anonymous_namespace)::Stub_table_owner*,_std::allocator<(anonymous_namespace)::Stub_table_owner*>_>\n                          ._M_impl._M_finish" (field_expression "iVar10 = (int)tables.\n                          super__Vector_base<(anonymous_namespace)::Stub_table_owner*,_std::allocator<(anonymous_namespace)::Stub_table_owner*>_>\n                          ._M_impl" (binary_expression "iVar10 = (int)tables.\n                          super__Vector_base<(anonymous_namespace)::Stub_table_owner*,_std::allocator<(anonymous_namespace)::Stub_table_owner*>_" (binary_expression "iVar10 = (int)tables.\n                          super__Vector_base<(anonymous_namespace)::Stub_table_owner*,_std::allocator<(anonymous_namespace)" (binary_expression "iVar10 = (int)tables.\n                          super__Vector_base<(anonymous_namespace)::Stub_table_owner*,_std" (assignment_expression "iVar10 = (int)tables.\n                          super__Vector_base<(anonymous_namespace)" identifier = (binary_expression "(int)tables.\n                          super__Vector_base<(anonymous_namespace)" (cast_expression "(int)tables.\n                          super__Vector_base" ( (type_descriptor "int" primitive_type) ) (field_expression "tables.\n                          super__Vector_base" identifier . field_identifier)) < (parenthesized_expression "(anonymous_namespace)" ( identifier )))) (ERROR "::Stub_table_owner" : : identifier) * (ERROR "," ,) identifier) (ERROR "::allocator" : : identifier) < (parenthesized_expression "(anonymous_namespace)" ( identifier ))) (ERROR "::Stub_table_owner" : : identifier) * (ERROR ">" >) identifier) (ERROR ">" >) . field_identifier) . field_identifier) - (cast_expression "(int)tables.\n                          super__Vector_base" ( (type_descriptor "int" primitive_type) ) (field_expression "tables.\n                          super__Vector_base" identifier . field_identifier))) < (parenthesized_expression "(anonymous_namespace)" ( identifier ))) (ERROR "::Stub_table_owner" : : identifier) * (ERROR "," ,) identifier) (ERROR "::allocator" : : identifier) < (parenthesized_expression "(anonymous_namespace)" ( identifier ))) (ERROR "::Stub_table_owner" : : identifier) * (ERROR ">" >) identifier) (ERROR ">" >) . field_identifier) . field_identifier) ;) (ERROR "uVar9 = gold::" (assignment_expression "uVar9 = gold" identifier = identifier) : :) (labeled_statement "Output_section::Input_section::shndx(this_02);" statement_identifier : (ERROR ":" :) (labeled_statement "Input_section::shndx(this_02);" statement_identifier : (ERROR ":" :) (expression_statement "shndx(this_02);" (call_expression "shndx(this_02)" identifier (argument_list "(this_02)" ( identifier ))) ;))) (expression_statement "pcVar12 = pRVar8[4].super_Object.name_._M_dataplus._M_p;" (assignment_expression "pcVar12 = pRVar8[4].super_Object.name_._M_dataplus._M_p" identifier = (field_expression "pRVar8[4].super_Object.name_._M_dataplus._M_p" (field_expression "pRVar8[4].super_Object.name_._M_dataplus" (field_expression "pRVar8[4].super_Object.name_" (field_expression "pRVar8[4].super_Object" (subscript_expression "pRVar8[4]" identifier [ number_literal ]) . field_identifier) . field_identifier) . field_identifier) . field_identifier)) ;) (expression_statement "__position._M_current = (uint *)pRVar8[4].super_Object.name_._M_string_length;" (assignment_expression "__position._M_current = (uint *)pRVar8[4].super_Object.name_._M_string_length" (field_expression "__position._M_current" identifier . field_identifier) = (cast_expression "(uint *)pRVar8[4].super_Object.name_._M_string_length" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "pRVar8[4].super_Object.name_._M_string_length" (field_expression "pRVar8[4].super_Object.name_" (field_expression "pRVar8[4].super_Object" (subscript_expression "pRVar8[4]" identifier [ number_literal ]) . field_identifier) . field_identifier) . field_identifier))) ;) (expression_statement "uVar7 = (int)__position._M_current - (int)pcVar12 >> 2;" (assignment_expression "uVar7 = (int)__position._M_current - (int)pcVar12 >> 2" identifier = (binary_expression "(int)__position._M_current - (int)pcVar12 >> 2" (binary_expression "(int)__position._M_current - (int)pcVar12" (cast_expression "(int)__position._M_current" ( (type_descriptor "int" primitive_type) ) (field_expression "__position._M_current" identifier . field_identifier)) - (cast_expression "(int)pcVar12" ( (type_descriptor "int" primitive_type) ) identifier)) >> number_literal)) ;) (if_statement "if (uVar7 <= uVar9) {\n              uVar1 = uVar9 + 1;\n              new_relaxed.\n              super__Vector_base<gold::Output_relaxed_input_section*,_std::allocator<gold::Output_relaxed_input_section*>_>\n              ._M_impl._M_start = (pointer)0xffffffff;\n              if (uVar7 < uVar1) {\n                pIVar11 = (Input_section *)(uVar1 - uVar7);\n                in_stack_ffffff5c = &new_relaxed;\n                std::vector<unsigned_int,_std::allocator<unsigned_int>_>::_M_fill_insert\n                          ((vector<unsigned_int,_std::allocator<unsigned_int>_> *)\n                           &pRVar8[4].super_Object.name_,__position,(size_type)pIVar11,\n                           (value_type_conflict1 *)in_stack_ffffff5c);\n                pcVar12 = pRVar8[4].super_Object.name_._M_dataplus._M_p;\n                pOVar17 = (Output_section *)__position._M_current;\n              }\n              else if ((uVar1 < uVar7) && (__position._M_current != (uint *)(pcVar12 + uVar1 * 4)))\n              {\n                pRVar8[4].super_Object.name_._M_string_length = (size_type)(pcVar12 + uVar1 * 4);\n              }\n            }" if (parenthesized_expression "(uVar7 <= uVar9)" ( (binary_expression "uVar7 <= uVar9" identifier <= identifier) )) (compound_statement "{\n              uVar1 = uVar9 + 1;\n              new_relaxed.\n              super__Vector_base<gold::Output_relaxed_input_section*,_std::allocator<gold::Output_relaxed_input_section*>_>\n              ._M_impl._M_start = (pointer)0xffffffff;\n              if (uVar7 < uVar1) {\n                pIVar11 = (Input_section *)(uVar1 - uVar7);\n                in_stack_ffffff5c = &new_relaxed;\n                std::vector<unsigned_int,_std::allocator<unsigned_int>_>::_M_fill_insert\n                          ((vector<unsigned_int,_std::allocator<unsigned_int>_> *)\n                           &pRVar8[4].super_Object.name_,__position,(size_type)pIVar11,\n                           (value_type_conflict1 *)in_stack_ffffff5c);\n                pcVar12 = pRVar8[4].super_Object.name_._M_dataplus._M_p;\n                pOVar17 = (Output_section *)__position._M_current;\n              }\n              else if ((uVar1 < uVar7) && (__position._M_current != (uint *)(pcVar12 + uVar1 * 4)))\n              {\n                pRVar8[4].super_Object.name_._M_string_length = (size_type)(pcVar12 + uVar1 * 4);\n              }\n            }" { (expression_statement "uVar1 = uVar9 + 1;" (assignment_expression "uVar1 = uVar9 + 1" identifier = (binary_expression "uVar9 + 1" identifier + number_literal)) ;) (expression_statement "new_relaxed.\n              super__Vector_base<gold::Output_relaxed_input_section*,_std::allocator<gold::Output_relaxed_input_section*>_>\n              ._M_impl._M_start = (pointer)0xffffffff;" (assignment_expression "new_relaxed.\n              super__Vector_base<gold::Output_relaxed_input_section*,_std::allocator<gold::Output_relaxed_input_section*>_>\n              ._M_impl._M_start = (pointer)0xffffffff" (field_expression "new_relaxed.\n              super__Vector_base<gold::Output_relaxed_input_section*,_std::allocator<gold::Output_relaxed_input_section*>_>\n              ._M_impl._M_start" (field_expression "new_relaxed.\n              super__Vector_base<gold::Output_relaxed_input_section*,_std::allocator<gold::Output_relaxed_input_section*>_>\n              ._M_impl" (binary_expression "new_relaxed.\n              super__Vector_base<gold::Output_relaxed_input_section*,_std::allocator<gold::Output_relaxed_input_section*>_" (binary_expression "new_relaxed.\n              super__Vector_base<gold::Output_relaxed_input_section*,_std::allocator<gold" (binary_expression "new_relaxed.\n              super__Vector_base<gold::Output_relaxed_input_section*,_std" (binary_expression "new_relaxed.\n              super__Vector_base<gold" (field_expression "new_relaxed.\n              super__Vector_base" identifier . field_identifier) < identifier) (ERROR "::Output_relaxed_input_section" : : identifier) * (ERROR "," ,) identifier) (ERROR "::allocator" : : identifier) < identifier) (ERROR "::Output_relaxed_input_section" : : identifier) * (ERROR ">" >) identifier) (ERROR ">" >) . field_identifier) . field_identifier) = (cast_expression "(pointer)0xffffffff" ( (type_descriptor "pointer" type_identifier) ) number_literal)) ;) (if_statement "if (uVar7 < uVar1) {\n                pIVar11 = (Input_section *)(uVar1 - uVar7);\n                in_stack_ffffff5c = &new_relaxed;\n                std::vector<unsigned_int,_std::allocator<unsigned_int>_>::_M_fill_insert\n                          ((vector<unsigned_int,_std::allocator<unsigned_int>_> *)\n                           &pRVar8[4].super_Object.name_,__position,(size_type)pIVar11,\n                           (value_type_conflict1 *)in_stack_ffffff5c);\n                pcVar12 = pRVar8[4].super_Object.name_._M_dataplus._M_p;\n                pOVar17 = (Output_section *)__position._M_current;\n              }\n              else if ((uVar1 < uVar7) && (__position._M_current != (uint *)(pcVar12 + uVar1 * 4)))\n              {\n                pRVar8[4].super_Object.name_._M_string_length = (size_type)(pcVar12 + uVar1 * 4);\n              }" if (parenthesized_expression "(uVar7 < uVar1)" ( (binary_expression "uVar7 < uVar1" identifier < identifier) )) (compound_statement "{\n                pIVar11 = (Input_section *)(uVar1 - uVar7);\n                in_stack_ffffff5c = &new_relaxed;\n                std::vector<unsigned_int,_std::allocator<unsigned_int>_>::_M_fill_insert\n                          ((vector<unsigned_int,_std::allocator<unsigned_int>_> *)\n                           &pRVar8[4].super_Object.name_,__position,(size_type)pIVar11,\n                           (value_type_conflict1 *)in_stack_ffffff5c);\n                pcVar12 = pRVar8[4].super_Object.name_._M_dataplus._M_p;\n                pOVar17 = (Output_section *)__position._M_current;\n              }" { (expression_statement "pIVar11 = (Input_section *)(uVar1 - uVar7);" (assignment_expression "pIVar11 = (Input_section *)(uVar1 - uVar7)" identifier = (cast_expression "(Input_section *)(uVar1 - uVar7)" ( (type_descriptor "Input_section *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uVar1 - uVar7)" ( (binary_expression "uVar1 - uVar7" identifier - identifier) )))) ;) (expression_statement "in_stack_ffffff5c = &new_relaxed;" (assignment_expression "in_stack_ffffff5c = &new_relaxed" identifier = (pointer_expression "&new_relaxed" & identifier)) ;) (labeled_statement "std::vector<unsigned_int,_std::allocator<unsigned_int>_>::_M_fill_insert\n                          ((vector<unsigned_int,_std::allocator<unsigned_int>_> *)\n                           &pRVar8[4].super_Object.name_,__position,(size_type)pIVar11,\n                           (value_type_conflict1 *)in_stack_ffffff5c);" statement_identifier (ERROR "::vector<unsigned_int,_std::allocator<unsigned_int>_>::_M_fill_insert\n                          ((vector<unsigned_int,_std:" : : (comma_expression "vector<unsigned_int,_std" (binary_expression "vector<unsigned_int" identifier < identifier) , identifier) : : (binary_expression "allocator<unsigned_int>_" (binary_expression "allocator<unsigned_int" identifier < identifier) > identifier) > : : identifier ( ( (comma_expression "vector<unsigned_int,_std" (binary_expression "vector<unsigned_int" identifier < identifier) , identifier) :) : (expression_statement "allocator<unsigned_int>_> *)\n                           &pRVar8[4].super_Object.name_,__position,(size_type)pIVar11,\n                           (value_type_conflict1 *)in_stack_ffffff5c);" (comma_expression "allocator<unsigned_int>_> *)\n                           &pRVar8[4].super_Object.name_,__position,(size_type)pIVar11,\n                           (value_type_conflict1 *)in_stack_ffffff5c" (binary_expression "allocator<unsigned_int>_> *)\n                           &pRVar8[4].super_Object.name_" (binary_expression "allocator<unsigned_int>_" (binary_expression "allocator<unsigned_int" identifier < identifier) > identifier) > (pointer_expression "*)\n                           &pRVar8[4].super_Object.name_" * (ERROR ")" )) (pointer_expression "&pRVar8[4].super_Object.name_" & (field_expression "pRVar8[4].super_Object.name_" (field_expression "pRVar8[4].super_Object" (subscript_expression "pRVar8[4]" identifier [ number_literal ]) . field_identifier) . field_identifier)))) , (comma_expression "__position,(size_type)pIVar11,\n                           (value_type_conflict1 *)in_stack_ffffff5c" identifier , (comma_expression "(size_type)pIVar11,\n                           (value_type_conflict1 *)in_stack_ffffff5c" (cast_expression "(size_type)pIVar11" ( (type_descriptor "size_type" type_identifier) ) identifier) , (cast_expression "(value_type_conflict1 *)in_stack_ffffff5c" ( (type_descriptor "value_type_conflict1 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)))) (ERROR ")" )) ;)) (expression_statement "pcVar12 = pRVar8[4].super_Object.name_._M_dataplus._M_p;" (assignment_expression "pcVar12 = pRVar8[4].super_Object.name_._M_dataplus._M_p" identifier = (field_expression "pRVar8[4].super_Object.name_._M_dataplus._M_p" (field_expression "pRVar8[4].super_Object.name_._M_dataplus" (field_expression "pRVar8[4].super_Object.name_" (field_expression "pRVar8[4].super_Object" (subscript_expression "pRVar8[4]" identifier [ number_literal ]) . field_identifier) . field_identifier) . field_identifier) . field_identifier)) ;) (expression_statement "pOVar17 = (Output_section *)__position._M_current;" (assignment_expression "pOVar17 = (Output_section *)__position._M_current" identifier = (cast_expression "(Output_section *)__position._M_current" ( (type_descriptor "Output_section *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "__position._M_current" identifier . field_identifier))) ;) }) (else_clause "else if ((uVar1 < uVar7) && (__position._M_current != (uint *)(pcVar12 + uVar1 * 4)))\n              {\n                pRVar8[4].super_Object.name_._M_string_length = (size_type)(pcVar12 + uVar1 * 4);\n              }" else (if_statement "if ((uVar1 < uVar7) && (__position._M_current != (uint *)(pcVar12 + uVar1 * 4)))\n              {\n                pRVar8[4].super_Object.name_._M_string_length = (size_type)(pcVar12 + uVar1 * 4);\n              }" if (parenthesized_expression "((uVar1 < uVar7) && (__position._M_current != (uint *)(pcVar12 + uVar1 * 4)))" ( (binary_expression "(uVar1 < uVar7) && (__position._M_current != (uint *)(pcVar12 + uVar1 * 4))" (parenthesized_expression "(uVar1 < uVar7)" ( (binary_expression "uVar1 < uVar7" identifier < identifier) )) && (parenthesized_expression "(__position._M_current != (uint *)(pcVar12 + uVar1 * 4))" ( (binary_expression "__position._M_current != (uint *)(pcVar12 + uVar1 * 4)" (field_expression "__position._M_current" identifier . field_identifier) != (cast_expression "(uint *)(pcVar12 + uVar1 * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar12 + uVar1 * 4)" ( (binary_expression "pcVar12 + uVar1 * 4" identifier + (binary_expression "uVar1 * 4" identifier * number_literal)) )))) ))) )) (compound_statement "{\n                pRVar8[4].super_Object.name_._M_string_length = (size_type)(pcVar12 + uVar1 * 4);\n              }" { (expression_statement "pRVar8[4].super_Object.name_._M_string_length = (size_type)(pcVar12 + uVar1 * 4);" (assignment_expression "pRVar8[4].super_Object.name_._M_string_length = (size_type)(pcVar12 + uVar1 * 4)" (field_expression "pRVar8[4].super_Object.name_._M_string_length" (field_expression "pRVar8[4].super_Object.name_" (field_expression "pRVar8[4].super_Object" (subscript_expression "pRVar8[4]" identifier [ number_literal ]) . field_identifier) . field_identifier) . field_identifier) = (call_expression "(size_type)(pcVar12 + uVar1 * 4)" (parenthesized_expression "(size_type)" ( identifier )) (argument_list "(pcVar12 + uVar1 * 4)" ( (binary_expression "pcVar12 + uVar1 * 4" identifier + (binary_expression "uVar1 * 4" identifier * number_literal)) )))) ;) })))) })) (expression_statement "*(int *)(pcVar12 + uVar9 * 4) = (iVar10 >> 2) + -1;" (assignment_expression "*(int *)(pcVar12 + uVar9 * 4) = (iVar10 >> 2) + -1" (pointer_expression "*(int *)(pcVar12 + uVar9 * 4)" * (cast_expression "(int *)(pcVar12 + uVar9 * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar12 + uVar9 * 4)" ( (binary_expression "pcVar12 + uVar9 * 4" identifier + (binary_expression "uVar9 * 4" identifier * number_literal)) )))) = (binary_expression "(iVar10 >> 2) + -1" (parenthesized_expression "(iVar10 >> 2)" ( (binary_expression "iVar10 >> 2" identifier >> number_literal) )) + number_literal)) ;) (expression_statement "pOVar13 = *local_7c;" (assignment_expression "pOVar13 = *local_7c" identifier = (pointer_expression "*local_7c" * identifier)) ;) })) (expression_statement "this_02 = this_02 + 1;" (assignment_expression "this_02 = this_02 + 1" identifier = (binary_expression "this_02 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "((pOVar13->input_sections_).\n                 super__Vector_base<gold::Output_section::Input_section,_std::allocator<gold::Output_section::Input_section>_>\n                 ._M_impl._M_finish != this_02)" ( (ERROR "(pOVar13->input_sections_).\n                 super__Vector_base<gold::Output_section::Input_section,_std::allocator<gold::Output_section::" (comma_expression "(pOVar13->input_sections_).\n                 super__Vector_base<gold::Output_section::Input_section,_std" (binary_expression "(pOVar13->input_sections_).\n                 super__Vector_base<gold" (field_expression "(pOVar13->input_sections_).\n                 super__Vector_base" (parenthesized_expression "(pOVar13->input_sections_)" ( (field_expression "pOVar13->input_sections_" identifier -> field_identifier) )) . field_identifier) < identifier) (ERROR "::Output_section::Input_section" : : identifier : : identifier) , identifier) : : (binary_expression "allocator<gold" identifier < identifier) : : identifier : :) (binary_expression "Input_section>_>\n                 ._M_impl._M_finish != this_02" (field_expression "Input_section>_>\n                 ._M_impl._M_finish" (field_expression "Input_section>_>\n                 ._M_impl" (binary_expression "Input_section>_" identifier > identifier) (ERROR ">" >) . field_identifier) . field_identifier) != identifier) )) ;) })) (expression_statement "local_7c = local_7c + 1;" (assignment_expression "local_7c = local_7c + 1" identifier = (binary_expression "local_7c + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(section_list.\n             super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>.\n             _M_impl._M_finish != local_7c)" ( (binary_expression "section_list.\n             super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>.\n             _M_impl._M_finish != local_7c" (field_expression "section_list.\n             super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>.\n             _M_impl._M_finish" (field_expression "section_list.\n             super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>.\n             _M_impl" (binary_expression "section_list.\n             super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_" (binary_expression "section_list.\n             super__Vector_base<gold::Output_section*,_std::allocator<gold" (binary_expression "section_list.\n             super__Vector_base<gold::Output_section*,_std" (binary_expression "section_list.\n             super__Vector_base<gold" (field_expression "section_list.\n             super__Vector_base" identifier . field_identifier) < identifier) (ERROR "::Output_section" : : identifier) * (ERROR "," ,) identifier) (ERROR "::allocator" : : identifier) < identifier) (ERROR "::Output_section" : : identifier) * (ERROR ">" >) identifier) (ERROR ">" >) . field_identifier) . field_identifier) != identifier) )) ;) })) (if_statement "if (table_owner != (Stub_table_owner *)0x0) {\n    table_owner->output_section = stub_control.output_section_;\n    table_owner->owner = stub_control.owner_;\n  }" if (parenthesized_expression "(table_owner != (Stub_table_owner *)0x0)" ( (binary_expression "table_owner != (Stub_table_owner *)0x0" identifier != (cast_expression "(Stub_table_owner *)0x0" ( (type_descriptor "Stub_table_owner *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    table_owner->output_section = stub_control.output_section_;\n    table_owner->owner = stub_control.owner_;\n  }" { (expression_statement "table_owner->output_section = stub_control.output_section_;" (assignment_expression "table_owner->output_section = stub_control.output_section_" (field_expression "table_owner->output_section" identifier -> field_identifier) = (field_expression "stub_control.output_section_" identifier . field_identifier)) ;) (expression_statement "table_owner->owner = stub_control.owner_;" (assignment_expression "table_owner->owner = stub_control.owner_" (field_expression "table_owner->owner" identifier -> field_identifier) = (field_expression "stub_control.owner_" identifier . field_identifier)) ;) })) (expression_statement "pp_Var18 = (_func_int_varargs **)(unaff_EDI + 0x39d467);" (assignment_expression "pp_Var18 = (_func_int_varargs **)(unaff_EDI + 0x39d467)" identifier = (cast_expression "(_func_int_varargs **)(unaff_EDI + 0x39d467)" ( (type_descriptor "_func_int_varargs **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(unaff_EDI + 0x39d467)" ( (binary_expression "unaff_EDI + 0x39d467" identifier + number_literal) )))) ;) (expression_statement "local_7c = (pointer)tables.\n                      super__Vector_base<(anonymous_namespace)::Stub_table_owner*,_std::allocator<(anonymous_namespace)::Stub_table_owner*>_>\n                      ._M_impl._M_start;" (field_expression "local_7c = (pointer)tables.\n                      super__Vector_base<(anonymous_namespace)::Stub_table_owner*,_std::allocator<(anonymous_namespace)::Stub_table_owner*>_>\n                      ._M_impl._M_start" (field_expression "local_7c = (pointer)tables.\n                      super__Vector_base<(anonymous_namespace)::Stub_table_owner*,_std::allocator<(anonymous_namespace)::Stub_table_owner*>_>\n                      ._M_impl" (binary_expression "local_7c = (pointer)tables.\n                      super__Vector_base<(anonymous_namespace)::Stub_table_owner*,_std::allocator<(anonymous_namespace)::Stub_table_owner*>_" (binary_expression "local_7c = (pointer)tables.\n                      super__Vector_base<(anonymous_namespace)::Stub_table_owner*,_std::allocator<(anonymous_namespace)" (binary_expression "local_7c = (pointer)tables.\n                      super__Vector_base<(anonymous_namespace)::Stub_table_owner*,_std" (assignment_expression "local_7c = (pointer)tables.\n                      super__Vector_base<(anonymous_namespace)" identifier = (binary_expression "(pointer)tables.\n                      super__Vector_base<(anonymous_namespace)" (cast_expression "(pointer)tables.\n                      super__Vector_base" ( (type_descriptor "pointer" type_identifier) ) (field_expression "tables.\n                      super__Vector_base" identifier . field_identifier)) < (parenthesized_expression "(anonymous_namespace)" ( identifier )))) (ERROR "::Stub_table_owner" : : identifier) * (ERROR "," ,) identifier) (ERROR "::allocator" : : identifier) < (parenthesized_expression "(anonymous_namespace)" ( identifier ))) (ERROR "::Stub_table_owner" : : identifier) * (ERROR ">" >) identifier) (ERROR ">" >) . field_identifier) . field_identifier) ;) (if_statement "if (tables.\n      super__Vector_base<(anonymous_namespace)::Stub_table_owner*,_std::allocator<(anonymous_namespace)::Stub_table_owner*>_>\n      ._M_impl._M_start !=\n      tables.\n      super__Vector_base<(anonymous_namespace)::Stub_table_owner*,_std::allocator<(anonymous_namespace)::Stub_table_owner*>_>\n      ._M_impl._M_finish) {\n    do {\n      pIVar11 = ((Stub_table_owner *)*local_7c)->owner;\n      if (pIVar11->shndx_ + 4 < 4) {\n        if (pIVar11->shndx_ != 0xfffffffc) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0006fd4d to 0006fd51 has its CatchHandler @ 0006fd94 */\n          gold::do_gold_unreachable\n                    ((char *)(unaff_EDI + 0x28787b),0xcc1,(char *)(unaff_EDI + 0x2866cf));\n        }\n        this_00 = pIVar11->u2_;\nLAB_0006f914:\n        paVar14 = (anon_union_4_4_139239c7_for_u2_ *)\n                  pCVar6[3]._M_t._M_impl.super__Rb_tree_header._M_header._M_parent;\n        if (paVar14 ==\n            (anon_union_4_4_139239c7_for_u2_ *)\n            pCVar6[3]._M_t._M_impl.super__Rb_tree_header._M_header._M_left) goto LAB_0006fbb0;\nLAB_0006f926:\n        paVar14->object = (Relobj *)this_00;\n        pCVar6[3]._M_t._M_impl.super__Rb_tree_header._M_header._M_parent = (_Base_ptr)(paVar14 + 1);\n      }\n      else {\n        pOVar17 = ((Stub_table_owner *)*local_7c)->output_section;\n        p_Var3 = pCVar6[3]._M_t._M_impl.super__Rb_tree_header._M_header._M_parent;\n        _Var4 = pCVar6[3]._M_t._M_impl.super__Rb_tree_header._M_header._M_color;\n        this_00.object = (Relobj *)operator_new(0xb0);\n                    /* try { // try from 0006f998 to 0006f9e1 has its CatchHandler @ 0006fd8d */\n        pRVar8 = gold::Output_section::Input_section::relobj(pIVar11);\n        uVar9 = gold::Output_section::Input_section::shndx(pIVar11);\n        iVar10 = (*(pRVar8->super_Object)._vptr_Object[0x17])(pRVar8,uVar9);\n        uVar9 = gold::Output_section::Input_section::shndx(pIVar11);\n        pRVar8 = gold::Output_section::Input_section::relobj(pIVar11);\n        (this_00.poris)->relobj_ = pRVar8;\n        ppIVar2 = &((this_00.object)->super_Object).input_file_;\n        *(byte *)ppIVar2 = *(byte *)ppIVar2 & 0xe0;\n        *(int *)((int)&((this_00.object)->super_Object).offset_ + 4) = iVar10;\n        (this_00.poris)->shndx_ = uVar9;\n        ((this_00.object)->super_Object).name_._M_dataplus._M_p = (pointer)0x0;\n        ((this_00.object)->super_Object).name_._M_string_length = 0;\n        ((this_00.object)->super_Object).name_.field_2._M_allocated_capacity = 0;\n        *(undefined4 *)((int)&((this_00.object)->super_Object).name_.field_2 + 4) = 0;\n        *(undefined4 *)((int)&((this_00.object)->super_Object).name_.field_2 + 8) = 0xffffffff;\n        *(undefined4 *)((int)&((this_00.object)->super_Object).name_.field_2 + 0xc) = 0xffffffff;\n        *(undefined4 *)&((this_00.object)->super_Object).offset_ = 0;\n        ((this_00.object)->super_Object).shnum_ = extraout_EDX;\n        ((this_00.object)->super_Object).compressed_sections_ = pCVar6;\n        ((this_00.object)->super_Object)._vptr_Object = pp_Var18;\n        uVar9 = 0;\n        do {\n          *(undefined4 *)\n           ((int)&((this_00.object)->output_sections_).\n                  super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>.\n                  _M_impl._M_start + uVar9) = 0;\n          uVar9 = uVar9 + 4;\n        } while (uVar9 < 0x1c);\n        (this_00.pomb)->first_shndx_ = 1;\n        ((this_00.object)->output_sections_).\n        super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>._M_impl.\n        _M_end_of_storage = (pointer)0x0;\n        (this_00.object)->map_to_relocatable_relocs_ =\n             (vector<gold::Relocatable_relocs*,_std::allocator<gold::Relocatable_relocs*>_> *)0x0;\n        (this_00.object)->object_merge_map_ = (Object_merge_map *)0x3f800000;\n        ((this_00.pomb)->input_sections_)._M_h._M_element_count = 0;\n        (this_00.object)->rd_ = (Read_relocs_data *)0x0;\n        ((this_00.object)->output_sections_).\n        super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>._M_impl.\n        _M_start = (pointer)&(this_00.object)->rd_;\n        uVar9 = 0;\n        do {\n          *(undefined4 *)((int)&(this_00.object)->sd_ + uVar9) = 0;\n          uVar9 = uVar9 + 4;\n        } while (uVar9 < 0x1c);\n        (this_00.object)->reloc_counts_ = (uint *)0x1;\n        (this_00.object)->sd_ = (Symbols_data *)&this_00.object[1].super_Object.name_;\n        (this_00.object)->reloc_bases_ = (uint *)0x0;\n        (this_00.object)->first_dyn_reloc_ = 0;\n        (this_00.object)->dyn_reloc_count_ = 0x3f800000;\n        this_00.object[1].super_Object._vptr_Object = (_func_int_varargs **)0x0;\n        this_00.object[1].super_Object.name_._M_dataplus._M_p = (pointer)0x0;\n                    /* try { // try from 0006fadc to 0006fb48 has its CatchHandler @ 0006fd7f */\n        oVar16 = gold::Output_section::Input_section::current_data_size(pIVar11);\n        this_00.object[1].super_Object.name_._M_string_length = (size_type)oVar16;\n        this_00.object[1].super_Object.name_.field_2._M_allocated_capacity = 0;\n        *(undefined4 *)((int)&this_00.object[1].super_Object.name_.field_2 + 4) = 0;\n        *(undefined4 *)((int)&this_00.object[1].super_Object.name_.field_2 + 8) = 0;\n        *(undefined4 *)((int)&this_00.object[1].super_Object.name_.field_2 + 0xc) = 0;\n        this_00.object[1].super_Object.input_file_ = (Input_file *)0x0;\n        *(undefined4 *)&this_00.object[1].super_Object.offset_ = 0;\n        *(undefined1 *)((int)&this_00.object[1].super_Object.offset_ + 4) = 0;\n        this_00.object[1].super_Object.shnum_ = (int)((int)p_Var3 - _Var4) >> 2;\n        *(undefined4 *)&this_00.object[1].super_Object.field_0x2c = 0xffffffff;\n        this_00.object[1].super_Object.xindex_ = (Xindex *)0x0;\n        gold::Output_section_data::set_output_section(this_00.posd,pOVar17);\n        new_relaxed.\n        super__Vector_base<gold::Output_relaxed_input_section*,_std::allocator<gold::Output_relaxed_input_section*>_>\n        ._M_impl._M_start = (pointer)0x0;\n        new_relaxed.\n        super__Vector_base<gold::Output_relaxed_input_section*,_std::allocator<gold::Output_relaxed_input_section*>_>\n        ._M_impl._M_finish = (pointer)0x0;\n        new_relaxed.\n        super__Vector_base<gold::Output_relaxed_input_section*,_std::allocator<gold::Output_relaxed_input_section*>_>\n        ._M_impl._M_end_of_storage = (pointer)0x0;\n        local_64.object = this_00.object;\n                    /* try { // try from 0006fb6b to 0006fb7c has its CatchHandler @ 0006fd78 */\n        std::\n        vector<gold::Output_relaxed_input_section*,_std::allocator<gold::Output_relaxed_input_section*>_>\n        ::emplace_back<gold::Output_relaxed_input_section*>(&new_relaxed,&local_64.poris);\n        gold::Output_section::convert_input_sections_to_relaxed_sections(pOVar17,&new_relaxed);\n        if (new_relaxed.\n            super__Vector_base<gold::Output_relaxed_input_section*,_std::allocator<gold::Output_relaxed_input_section*>_>\n            ._M_impl._M_start == (pointer)0x0) goto LAB_0006f914;\n        operator_delete(new_relaxed.\n                        super__Vector_base<gold::Output_relaxed_input_section*,_std::allocator<gold::Output_relaxed_input_section*>_>\n                        ._M_impl._M_start);\n        paVar14 = (anon_union_4_4_139239c7_for_u2_ *)\n                  pCVar6[3]._M_t._M_impl.super__Rb_tree_header._M_header._M_parent;\n        if (paVar14 !=\n            (anon_union_4_4_139239c7_for_u2_ *)\n            pCVar6[3]._M_t._M_impl.super__Rb_tree_header._M_header._M_left) goto LAB_0006f926;\nLAB_0006fbb0:\n        __src = (anon_union_4_4_139239c7_for_u2_ *)\n                pCVar6[3]._M_t._M_impl.super__Rb_tree_header._M_header._M_color;\n        __n = (int)paVar14 - (int)__src;\n        uVar9 = (int)__n >> 2;\n        if (uVar9 == 0) {\n          local_8c = (_Base_ptr)0x4;\nLAB_0006fbe3:\n                    /* try { // try from 0006fbef to 0006fc9a has its CatchHandler @ 0006fd94 */\n          __dest = operator_new((uint)local_8c);\n          local_8c = (_Base_ptr)((int)local_8c + (int)__dest);\n        }\n        else {\n          local_8c = (_Base_ptr)0xfffffffc;\n          uVar7 = uVar9 * 2;\n          if ((uVar7 < uVar9) || (0x3fffffff < uVar7)) goto LAB_0006fbe3;\n          if (uVar7 != 0) {\n            local_8c = (_Base_ptr)(uVar9 << 3);\n            goto LAB_0006fbe3;\n          }\n          local_8c = (_Base_ptr)0x0;\n          __dest = (void *)0x0;\n        }\n        ((anon_union_4_4_139239c7_for_u2_ *)((int)__dest + __n))->object = (Relobj *)this_00;\n        if (paVar14 == __src) {\n          if (__src != (anon_union_4_4_139239c7_for_u2_ *)0x0) goto LAB_0006fc33;\n        }\n        else {\n          memmove(__dest,__src,__n);\nLAB_0006fc33:\n          operator_delete(__src);\n        }\n        pCVar6[3]._M_t._M_impl.super__Rb_tree_header._M_header._M_color = (_Rb_tree_color)__dest;\n        pCVar6[3]._M_t._M_impl.super__Rb_tree_header._M_header._M_parent =\n             (_Base_ptr)((int)__dest + __n + 4);\n        pCVar6[3]._M_t._M_impl.super__Rb_tree_header._M_header._M_left = local_8c;\n      }\n      operator_delete((Stub_table_owner *)*local_7c,8);\n      local_7c = local_7c + 1;\n    } while ((pointer)tables.\n                      super__Vector_base<(anonymous_namespace)::Stub_table_owner*,_std::allocator<(anonymous_namespace)::Stub_table_owner*>_>\n                      ._M_impl._M_finish != local_7c);\n  }" if (parenthesized_expression "(tables.\n      super__Vector_base<(anonymous_namespace)::Stub_table_owner*,_std::allocator<(anonymous_namespace)::Stub_table_owner*>_>\n      ._M_impl._M_start !=\n      tables.\n      super__Vector_base<(anonymous_namespace)::Stub_table_owner*,_std::allocator<(anonymous_namespace)::Stub_table_owner*>_>\n      ._M_impl._M_finish)" ( (field_expression "tables.\n      super__Vector_base<(anonymous_namespace)::Stub_table_owner*,_std::allocator<(anonymous_namespace)::Stub_table_owner*>_>\n      ._M_impl._M_start !=\n      tables.\n      super__Vector_base<(anonymous_namespace)::Stub_table_owner*,_std::allocator<(anonymous_namespace)::Stub_table_owner*>_>\n      ._M_impl._M_finish" (field_expression "tables.\n      super__Vector_base<(anonymous_namespace)::Stub_table_owner*,_std::allocator<(anonymous_namespace)::Stub_table_owner*>_>\n      ._M_impl._M_start !=\n      tables.\n      super__Vector_base<(anonymous_namespace)::Stub_table_owner*,_std::allocator<(anonymous_namespace)::Stub_table_owner*>_>\n      ._M_impl" (binary_expression "tables.\n      super__Vector_base<(anonymous_namespace)::Stub_table_owner*,_std::allocator<(anonymous_namespace)::Stub_table_owner*>_>\n      ._M_impl._M_start !=\n      tables.\n      super__Vector_base<(anonymous_namespace)::Stub_table_owner*,_std::allocator<(anonymous_namespace)::Stub_table_owner*>_" (binary_expression "tables.\n      super__Vector_base<(anonymous_namespace)::Stub_table_owner*,_std::allocator<(anonymous_namespace)::Stub_table_owner*>_>\n      ._M_impl._M_start !=\n      tables.\n      super__Vector_base<(anonymous_namespace)::Stub_table_owner*,_std::allocator<(anonymous_namespace)" (binary_expression "tables.\n      super__Vector_base<(anonymous_namespace)::Stub_table_owner*,_std::allocator<(anonymous_namespace)::Stub_table_owner*>_>\n      ._M_impl._M_start !=\n      tables.\n      super__Vector_base<(anonymous_namespace)::Stub_table_owner*,_std" (binary_expression "tables.\n      super__Vector_base<(anonymous_namespace)::Stub_table_owner*,_std::allocator<(anonymous_namespace)::Stub_table_owner*>_>\n      ._M_impl._M_start !=\n      tables.\n      super__Vector_base<(anonymous_namespace)" (field_expression "tables.\n      super__Vector_base<(anonymous_namespace)::Stub_table_owner*,_std::allocator<(anonymous_namespace)::Stub_table_owner*>_>\n      ._M_impl._M_start" (field_expression "tables.\n      super__Vector_base<(anonymous_namespace)::Stub_table_owner*,_std::allocator<(anonymous_namespace)::Stub_table_owner*>_>\n      ._M_impl" (binary_expression "tables.\n      super__Vector_base<(anonymous_namespace)::Stub_table_owner*,_std::allocator<(anonymous_namespace)::Stub_table_owner*>_" (binary_expression "tables.\n      super__Vector_base<(anonymous_namespace)::Stub_table_owner*,_std::allocator<(anonymous_namespace)" (binary_expression "tables.\n      super__Vector_base<(anonymous_namespace)::Stub_table_owner*,_std" (binary_expression "tables.\n      super__Vector_base<(anonymous_namespace)" (field_expression "tables.\n      super__Vector_base" identifier . field_identifier) < (parenthesized_expression "(anonymous_namespace)" ( identifier ))) (ERROR "::Stub_table_owner" : : identifier) * (ERROR "," ,) identifier) (ERROR "::allocator" : : identifier) < (parenthesized_expression "(anonymous_namespace)" ( identifier ))) (ERROR "::Stub_table_owner" : : identifier) * (ERROR ">" >) identifier) (ERROR ">" >) . field_identifier) . field_identifier) != (binary_expression "tables.\n      super__Vector_base<(anonymous_namespace)" (field_expression "tables.\n      super__Vector_base" identifier . field_identifier) < (parenthesized_expression "(anonymous_namespace)" ( identifier )))) (ERROR "::Stub_table_owner" : : identifier) * (ERROR "," ,) identifier) (ERROR "::allocator" : : identifier) < (parenthesized_expression "(anonymous_namespace)" ( identifier ))) (ERROR "::Stub_table_owner" : : identifier) * (ERROR ">" >) identifier) (ERROR ">" >) . field_identifier) . field_identifier) )) (compound_statement "{\n    do {\n      pIVar11 = ((Stub_table_owner *)*local_7c)->owner;\n      if (pIVar11->shndx_ + 4 < 4) {\n        if (pIVar11->shndx_ != 0xfffffffc) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0006fd4d to 0006fd51 has its CatchHandler @ 0006fd94 */\n          gold::do_gold_unreachable\n                    ((char *)(unaff_EDI + 0x28787b),0xcc1,(char *)(unaff_EDI + 0x2866cf));\n        }\n        this_00 = pIVar11->u2_;\nLAB_0006f914:\n        paVar14 = (anon_union_4_4_139239c7_for_u2_ *)\n                  pCVar6[3]._M_t._M_impl.super__Rb_tree_header._M_header._M_parent;\n        if (paVar14 ==\n            (anon_union_4_4_139239c7_for_u2_ *)\n            pCVar6[3]._M_t._M_impl.super__Rb_tree_header._M_header._M_left) goto LAB_0006fbb0;\nLAB_0006f926:\n        paVar14->object = (Relobj *)this_00;\n        pCVar6[3]._M_t._M_impl.super__Rb_tree_header._M_header._M_parent = (_Base_ptr)(paVar14 + 1);\n      }\n      else {\n        pOVar17 = ((Stub_table_owner *)*local_7c)->output_section;\n        p_Var3 = pCVar6[3]._M_t._M_impl.super__Rb_tree_header._M_header._M_parent;\n        _Var4 = pCVar6[3]._M_t._M_impl.super__Rb_tree_header._M_header._M_color;\n        this_00.object = (Relobj *)operator_new(0xb0);\n                    /* try { // try from 0006f998 to 0006f9e1 has its CatchHandler @ 0006fd8d */\n        pRVar8 = gold::Output_section::Input_section::relobj(pIVar11);\n        uVar9 = gold::Output_section::Input_section::shndx(pIVar11);\n        iVar10 = (*(pRVar8->super_Object)._vptr_Object[0x17])(pRVar8,uVar9);\n        uVar9 = gold::Output_section::Input_section::shndx(pIVar11);\n        pRVar8 = gold::Output_section::Input_section::relobj(pIVar11);\n        (this_00.poris)->relobj_ = pRVar8;\n        ppIVar2 = &((this_00.object)->super_Object).input_file_;\n        *(byte *)ppIVar2 = *(byte *)ppIVar2 & 0xe0;\n        *(int *)((int)&((this_00.object)->super_Object).offset_ + 4) = iVar10;\n        (this_00.poris)->shndx_ = uVar9;\n        ((this_00.object)->super_Object).name_._M_dataplus._M_p = (pointer)0x0;\n        ((this_00.object)->super_Object).name_._M_string_length = 0;\n        ((this_00.object)->super_Object).name_.field_2._M_allocated_capacity = 0;\n        *(undefined4 *)((int)&((this_00.object)->super_Object).name_.field_2 + 4) = 0;\n        *(undefined4 *)((int)&((this_00.object)->super_Object).name_.field_2 + 8) = 0xffffffff;\n        *(undefined4 *)((int)&((this_00.object)->super_Object).name_.field_2 + 0xc) = 0xffffffff;\n        *(undefined4 *)&((this_00.object)->super_Object).offset_ = 0;\n        ((this_00.object)->super_Object).shnum_ = extraout_EDX;\n        ((this_00.object)->super_Object).compressed_sections_ = pCVar6;\n        ((this_00.object)->super_Object)._vptr_Object = pp_Var18;\n        uVar9 = 0;\n        do {\n          *(undefined4 *)\n           ((int)&((this_00.object)->output_sections_).\n                  super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>.\n                  _M_impl._M_start + uVar9) = 0;\n          uVar9 = uVar9 + 4;\n        } while (uVar9 < 0x1c);\n        (this_00.pomb)->first_shndx_ = 1;\n        ((this_00.object)->output_sections_).\n        super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>._M_impl.\n        _M_end_of_storage = (pointer)0x0;\n        (this_00.object)->map_to_relocatable_relocs_ =\n             (vector<gold::Relocatable_relocs*,_std::allocator<gold::Relocatable_relocs*>_> *)0x0;\n        (this_00.object)->object_merge_map_ = (Object_merge_map *)0x3f800000;\n        ((this_00.pomb)->input_sections_)._M_h._M_element_count = 0;\n        (this_00.object)->rd_ = (Read_relocs_data *)0x0;\n        ((this_00.object)->output_sections_).\n        super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>._M_impl.\n        _M_start = (pointer)&(this_00.object)->rd_;\n        uVar9 = 0;\n        do {\n          *(undefined4 *)((int)&(this_00.object)->sd_ + uVar9) = 0;\n          uVar9 = uVar9 + 4;\n        } while (uVar9 < 0x1c);\n        (this_00.object)->reloc_counts_ = (uint *)0x1;\n        (this_00.object)->sd_ = (Symbols_data *)&this_00.object[1].super_Object.name_;\n        (this_00.object)->reloc_bases_ = (uint *)0x0;\n        (this_00.object)->first_dyn_reloc_ = 0;\n        (this_00.object)->dyn_reloc_count_ = 0x3f800000;\n        this_00.object[1].super_Object._vptr_Object = (_func_int_varargs **)0x0;\n        this_00.object[1].super_Object.name_._M_dataplus._M_p = (pointer)0x0;\n                    /* try { // try from 0006fadc to 0006fb48 has its CatchHandler @ 0006fd7f */\n        oVar16 = gold::Output_section::Input_section::current_data_size(pIVar11);\n        this_00.object[1].super_Object.name_._M_string_length = (size_type)oVar16;\n        this_00.object[1].super_Object.name_.field_2._M_allocated_capacity = 0;\n        *(undefined4 *)((int)&this_00.object[1].super_Object.name_.field_2 + 4) = 0;\n        *(undefined4 *)((int)&this_00.object[1].super_Object.name_.field_2 + 8) = 0;\n        *(undefined4 *)((int)&this_00.object[1].super_Object.name_.field_2 + 0xc) = 0;\n        this_00.object[1].super_Object.input_file_ = (Input_file *)0x0;\n        *(undefined4 *)&this_00.object[1].super_Object.offset_ = 0;\n        *(undefined1 *)((int)&this_00.object[1].super_Object.offset_ + 4) = 0;\n        this_00.object[1].super_Object.shnum_ = (int)((int)p_Var3 - _Var4) >> 2;\n        *(undefined4 *)&this_00.object[1].super_Object.field_0x2c = 0xffffffff;\n        this_00.object[1].super_Object.xindex_ = (Xindex *)0x0;\n        gold::Output_section_data::set_output_section(this_00.posd,pOVar17);\n        new_relaxed.\n        super__Vector_base<gold::Output_relaxed_input_section*,_std::allocator<gold::Output_relaxed_input_section*>_>\n        ._M_impl._M_start = (pointer)0x0;\n        new_relaxed.\n        super__Vector_base<gold::Output_relaxed_input_section*,_std::allocator<gold::Output_relaxed_input_section*>_>\n        ._M_impl._M_finish = (pointer)0x0;\n        new_relaxed.\n        super__Vector_base<gold::Output_relaxed_input_section*,_std::allocator<gold::Output_relaxed_input_section*>_>\n        ._M_impl._M_end_of_storage = (pointer)0x0;\n        local_64.object = this_00.object;\n                    /* try { // try from 0006fb6b to 0006fb7c has its CatchHandler @ 0006fd78 */\n        std::\n        vector<gold::Output_relaxed_input_section*,_std::allocator<gold::Output_relaxed_input_section*>_>\n        ::emplace_back<gold::Output_relaxed_input_section*>(&new_relaxed,&local_64.poris);\n        gold::Output_section::convert_input_sections_to_relaxed_sections(pOVar17,&new_relaxed);\n        if (new_relaxed.\n            super__Vector_base<gold::Output_relaxed_input_section*,_std::allocator<gold::Output_relaxed_input_section*>_>\n            ._M_impl._M_start == (pointer)0x0) goto LAB_0006f914;\n        operator_delete(new_relaxed.\n                        super__Vector_base<gold::Output_relaxed_input_section*,_std::allocator<gold::Output_relaxed_input_section*>_>\n                        ._M_impl._M_start);\n        paVar14 = (anon_union_4_4_139239c7_for_u2_ *)\n                  pCVar6[3]._M_t._M_impl.super__Rb_tree_header._M_header._M_parent;\n        if (paVar14 !=\n            (anon_union_4_4_139239c7_for_u2_ *)\n            pCVar6[3]._M_t._M_impl.super__Rb_tree_header._M_header._M_left) goto LAB_0006f926;\nLAB_0006fbb0:\n        __src = (anon_union_4_4_139239c7_for_u2_ *)\n                pCVar6[3]._M_t._M_impl.super__Rb_tree_header._M_header._M_color;\n        __n = (int)paVar14 - (int)__src;\n        uVar9 = (int)__n >> 2;\n        if (uVar9 == 0) {\n          local_8c = (_Base_ptr)0x4;\nLAB_0006fbe3:\n                    /* try { // try from 0006fbef to 0006fc9a has its CatchHandler @ 0006fd94 */\n          __dest = operator_new((uint)local_8c);\n          local_8c = (_Base_ptr)((int)local_8c + (int)__dest);\n        }\n        else {\n          local_8c = (_Base_ptr)0xfffffffc;\n          uVar7 = uVar9 * 2;\n          if ((uVar7 < uVar9) || (0x3fffffff < uVar7)) goto LAB_0006fbe3;\n          if (uVar7 != 0) {\n            local_8c = (_Base_ptr)(uVar9 << 3);\n            goto LAB_0006fbe3;\n          }\n          local_8c = (_Base_ptr)0x0;\n          __dest = (void *)0x0;\n        }\n        ((anon_union_4_4_139239c7_for_u2_ *)((int)__dest + __n))->object = (Relobj *)this_00;\n        if (paVar14 == __src) {\n          if (__src != (anon_union_4_4_139239c7_for_u2_ *)0x0) goto LAB_0006fc33;\n        }\n        else {\n          memmove(__dest,__src,__n);\nLAB_0006fc33:\n          operator_delete(__src);\n        }\n        pCVar6[3]._M_t._M_impl.super__Rb_tree_header._M_header._M_color = (_Rb_tree_color)__dest;\n        pCVar6[3]._M_t._M_impl.super__Rb_tree_header._M_header._M_parent =\n             (_Base_ptr)((int)__dest + __n + 4);\n        pCVar6[3]._M_t._M_impl.super__Rb_tree_header._M_header._M_left = local_8c;\n      }\n      operator_delete((Stub_table_owner *)*local_7c,8);\n      local_7c = local_7c + 1;\n    } while ((pointer)tables.\n                      super__Vector_base<(anonymous_namespace)::Stub_table_owner*,_std::allocator<(anonymous_namespace)::Stub_table_owner*>_>\n                      ._M_impl._M_finish != local_7c);\n  }" { (do_statement "do {\n      pIVar11 = ((Stub_table_owner *)*local_7c)->owner;\n      if (pIVar11->shndx_ + 4 < 4) {\n        if (pIVar11->shndx_ != 0xfffffffc) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0006fd4d to 0006fd51 has its CatchHandler @ 0006fd94 */\n          gold::do_gold_unreachable\n                    ((char *)(unaff_EDI + 0x28787b),0xcc1,(char *)(unaff_EDI + 0x2866cf));\n        }\n        this_00 = pIVar11->u2_;\nLAB_0006f914:\n        paVar14 = (anon_union_4_4_139239c7_for_u2_ *)\n                  pCVar6[3]._M_t._M_impl.super__Rb_tree_header._M_header._M_parent;\n        if (paVar14 ==\n            (anon_union_4_4_139239c7_for_u2_ *)\n            pCVar6[3]._M_t._M_impl.super__Rb_tree_header._M_header._M_left) goto LAB_0006fbb0;\nLAB_0006f926:\n        paVar14->object = (Relobj *)this_00;\n        pCVar6[3]._M_t._M_impl.super__Rb_tree_header._M_header._M_parent = (_Base_ptr)(paVar14 + 1);\n      }\n      else {\n        pOVar17 = ((Stub_table_owner *)*local_7c)->output_section;\n        p_Var3 = pCVar6[3]._M_t._M_impl.super__Rb_tree_header._M_header._M_parent;\n        _Var4 = pCVar6[3]._M_t._M_impl.super__Rb_tree_header._M_header._M_color;\n        this_00.object = (Relobj *)operator_new(0xb0);\n                    /* try { // try from 0006f998 to 0006f9e1 has its CatchHandler @ 0006fd8d */\n        pRVar8 = gold::Output_section::Input_section::relobj(pIVar11);\n        uVar9 = gold::Output_section::Input_section::shndx(pIVar11);\n        iVar10 = (*(pRVar8->super_Object)._vptr_Object[0x17])(pRVar8,uVar9);\n        uVar9 = gold::Output_section::Input_section::shndx(pIVar11);\n        pRVar8 = gold::Output_section::Input_section::relobj(pIVar11);\n        (this_00.poris)->relobj_ = pRVar8;\n        ppIVar2 = &((this_00.object)->super_Object).input_file_;\n        *(byte *)ppIVar2 = *(byte *)ppIVar2 & 0xe0;\n        *(int *)((int)&((this_00.object)->super_Object).offset_ + 4) = iVar10;\n        (this_00.poris)->shndx_ = uVar9;\n        ((this_00.object)->super_Object).name_._M_dataplus._M_p = (pointer)0x0;\n        ((this_00.object)->super_Object).name_._M_string_length = 0;\n        ((this_00.object)->super_Object).name_.field_2._M_allocated_capacity = 0;\n        *(undefined4 *)((int)&((this_00.object)->super_Object).name_.field_2 + 4) = 0;\n        *(undefined4 *)((int)&((this_00.object)->super_Object).name_.field_2 + 8) = 0xffffffff;\n        *(undefined4 *)((int)&((this_00.object)->super_Object).name_.field_2 + 0xc) = 0xffffffff;\n        *(undefined4 *)&((this_00.object)->super_Object).offset_ = 0;\n        ((this_00.object)->super_Object).shnum_ = extraout_EDX;\n        ((this_00.object)->super_Object).compressed_sections_ = pCVar6;\n        ((this_00.object)->super_Object)._vptr_Object = pp_Var18;\n        uVar9 = 0;\n        do {\n          *(undefined4 *)\n           ((int)&((this_00.object)->output_sections_).\n                  super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>.\n                  _M_impl._M_start + uVar9) = 0;\n          uVar9 = uVar9 + 4;\n        } while (uVar9 < 0x1c);\n        (this_00.pomb)->first_shndx_ = 1;\n        ((this_00.object)->output_sections_).\n        super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>._M_impl.\n        _M_end_of_storage = (pointer)0x0;\n        (this_00.object)->map_to_relocatable_relocs_ =\n             (vector<gold::Relocatable_relocs*,_std::allocator<gold::Relocatable_relocs*>_> *)0x0;\n        (this_00.object)->object_merge_map_ = (Object_merge_map *)0x3f800000;\n        ((this_00.pomb)->input_sections_)._M_h._M_element_count = 0;\n        (this_00.object)->rd_ = (Read_relocs_data *)0x0;\n        ((this_00.object)->output_sections_).\n        super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>._M_impl.\n        _M_start = (pointer)&(this_00.object)->rd_;\n        uVar9 = 0;\n        do {\n          *(undefined4 *)((int)&(this_00.object)->sd_ + uVar9) = 0;\n          uVar9 = uVar9 + 4;\n        } while (uVar9 < 0x1c);\n        (this_00.object)->reloc_counts_ = (uint *)0x1;\n        (this_00.object)->sd_ = (Symbols_data *)&this_00.object[1].super_Object.name_;\n        (this_00.object)->reloc_bases_ = (uint *)0x0;\n        (this_00.object)->first_dyn_reloc_ = 0;\n        (this_00.object)->dyn_reloc_count_ = 0x3f800000;\n        this_00.object[1].super_Object._vptr_Object = (_func_int_varargs **)0x0;\n        this_00.object[1].super_Object.name_._M_dataplus._M_p = (pointer)0x0;\n                    /* try { // try from 0006fadc to 0006fb48 has its CatchHandler @ 0006fd7f */\n        oVar16 = gold::Output_section::Input_section::current_data_size(pIVar11);\n        this_00.object[1].super_Object.name_._M_string_length = (size_type)oVar16;\n        this_00.object[1].super_Object.name_.field_2._M_allocated_capacity = 0;\n        *(undefined4 *)((int)&this_00.object[1].super_Object.name_.field_2 + 4) = 0;\n        *(undefined4 *)((int)&this_00.object[1].super_Object.name_.field_2 + 8) = 0;\n        *(undefined4 *)((int)&this_00.object[1].super_Object.name_.field_2 + 0xc) = 0;\n        this_00.object[1].super_Object.input_file_ = (Input_file *)0x0;\n        *(undefined4 *)&this_00.object[1].super_Object.offset_ = 0;\n        *(undefined1 *)((int)&this_00.object[1].super_Object.offset_ + 4) = 0;\n        this_00.object[1].super_Object.shnum_ = (int)((int)p_Var3 - _Var4) >> 2;\n        *(undefined4 *)&this_00.object[1].super_Object.field_0x2c = 0xffffffff;\n        this_00.object[1].super_Object.xindex_ = (Xindex *)0x0;\n        gold::Output_section_data::set_output_section(this_00.posd,pOVar17);\n        new_relaxed.\n        super__Vector_base<gold::Output_relaxed_input_section*,_std::allocator<gold::Output_relaxed_input_section*>_>\n        ._M_impl._M_start = (pointer)0x0;\n        new_relaxed.\n        super__Vector_base<gold::Output_relaxed_input_section*,_std::allocator<gold::Output_relaxed_input_section*>_>\n        ._M_impl._M_finish = (pointer)0x0;\n        new_relaxed.\n        super__Vector_base<gold::Output_relaxed_input_section*,_std::allocator<gold::Output_relaxed_input_section*>_>\n        ._M_impl._M_end_of_storage = (pointer)0x0;\n        local_64.object = this_00.object;\n                    /* try { // try from 0006fb6b to 0006fb7c has its CatchHandler @ 0006fd78 */\n        std::\n        vector<gold::Output_relaxed_input_section*,_std::allocator<gold::Output_relaxed_input_section*>_>\n        ::emplace_back<gold::Output_relaxed_input_section*>(&new_relaxed,&local_64.poris);\n        gold::Output_section::convert_input_sections_to_relaxed_sections(pOVar17,&new_relaxed);\n        if (new_relaxed.\n            super__Vector_base<gold::Output_relaxed_input_section*,_std::allocator<gold::Output_relaxed_input_section*>_>\n            ._M_impl._M_start == (pointer)0x0) goto LAB_0006f914;\n        operator_delete(new_relaxed.\n                        super__Vector_base<gold::Output_relaxed_input_section*,_std::allocator<gold::Output_relaxed_input_section*>_>\n                        ._M_impl._M_start);\n        paVar14 = (anon_union_4_4_139239c7_for_u2_ *)\n                  pCVar6[3]._M_t._M_impl.super__Rb_tree_header._M_header._M_parent;\n        if (paVar14 !=\n            (anon_union_4_4_139239c7_for_u2_ *)\n            pCVar6[3]._M_t._M_impl.super__Rb_tree_header._M_header._M_left) goto LAB_0006f926;\nLAB_0006fbb0:\n        __src = (anon_union_4_4_139239c7_for_u2_ *)\n                pCVar6[3]._M_t._M_impl.super__Rb_tree_header._M_header._M_color;\n        __n = (int)paVar14 - (int)__src;\n        uVar9 = (int)__n >> 2;\n        if (uVar9 == 0) {\n          local_8c = (_Base_ptr)0x4;\nLAB_0006fbe3:\n                    /* try { // try from 0006fbef to 0006fc9a has its CatchHandler @ 0006fd94 */\n          __dest = operator_new((uint)local_8c);\n          local_8c = (_Base_ptr)((int)local_8c + (int)__dest);\n        }\n        else {\n          local_8c = (_Base_ptr)0xfffffffc;\n          uVar7 = uVar9 * 2;\n          if ((uVar7 < uVar9) || (0x3fffffff < uVar7)) goto LAB_0006fbe3;\n          if (uVar7 != 0) {\n            local_8c = (_Base_ptr)(uVar9 << 3);\n            goto LAB_0006fbe3;\n          }\n          local_8c = (_Base_ptr)0x0;\n          __dest = (void *)0x0;\n        }\n        ((anon_union_4_4_139239c7_for_u2_ *)((int)__dest + __n))->object = (Relobj *)this_00;\n        if (paVar14 == __src) {\n          if (__src != (anon_union_4_4_139239c7_for_u2_ *)0x0) goto LAB_0006fc33;\n        }\n        else {\n          memmove(__dest,__src,__n);\nLAB_0006fc33:\n          operator_delete(__src);\n        }\n        pCVar6[3]._M_t._M_impl.super__Rb_tree_header._M_header._M_color = (_Rb_tree_color)__dest;\n        pCVar6[3]._M_t._M_impl.super__Rb_tree_header._M_header._M_parent =\n             (_Base_ptr)((int)__dest + __n + 4);\n        pCVar6[3]._M_t._M_impl.super__Rb_tree_header._M_header._M_left = local_8c;\n      }\n      operator_delete((Stub_table_owner *)*local_7c,8);\n      local_7c = local_7c + 1;\n    } while ((pointer)tables.\n                      super__Vector_base<(anonymous_namespace)::Stub_table_owner*,_std::allocator<(anonymous_namespace)::Stub_table_owner*>_>\n                      ._M_impl._M_finish != local_7c);" do (compound_statement "{\n      pIVar11 = ((Stub_table_owner *)*local_7c)->owner;\n      if (pIVar11->shndx_ + 4 < 4) {\n        if (pIVar11->shndx_ != 0xfffffffc) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0006fd4d to 0006fd51 has its CatchHandler @ 0006fd94 */\n          gold::do_gold_unreachable\n                    ((char *)(unaff_EDI + 0x28787b),0xcc1,(char *)(unaff_EDI + 0x2866cf));\n        }\n        this_00 = pIVar11->u2_;\nLAB_0006f914:\n        paVar14 = (anon_union_4_4_139239c7_for_u2_ *)\n                  pCVar6[3]._M_t._M_impl.super__Rb_tree_header._M_header._M_parent;\n        if (paVar14 ==\n            (anon_union_4_4_139239c7_for_u2_ *)\n            pCVar6[3]._M_t._M_impl.super__Rb_tree_header._M_header._M_left) goto LAB_0006fbb0;\nLAB_0006f926:\n        paVar14->object = (Relobj *)this_00;\n        pCVar6[3]._M_t._M_impl.super__Rb_tree_header._M_header._M_parent = (_Base_ptr)(paVar14 + 1);\n      }\n      else {\n        pOVar17 = ((Stub_table_owner *)*local_7c)->output_section;\n        p_Var3 = pCVar6[3]._M_t._M_impl.super__Rb_tree_header._M_header._M_parent;\n        _Var4 = pCVar6[3]._M_t._M_impl.super__Rb_tree_header._M_header._M_color;\n        this_00.object = (Relobj *)operator_new(0xb0);\n                    /* try { // try from 0006f998 to 0006f9e1 has its CatchHandler @ 0006fd8d */\n        pRVar8 = gold::Output_section::Input_section::relobj(pIVar11);\n        uVar9 = gold::Output_section::Input_section::shndx(pIVar11);\n        iVar10 = (*(pRVar8->super_Object)._vptr_Object[0x17])(pRVar8,uVar9);\n        uVar9 = gold::Output_section::Input_section::shndx(pIVar11);\n        pRVar8 = gold::Output_section::Input_section::relobj(pIVar11);\n        (this_00.poris)->relobj_ = pRVar8;\n        ppIVar2 = &((this_00.object)->super_Object).input_file_;\n        *(byte *)ppIVar2 = *(byte *)ppIVar2 & 0xe0;\n        *(int *)((int)&((this_00.object)->super_Object).offset_ + 4) = iVar10;\n        (this_00.poris)->shndx_ = uVar9;\n        ((this_00.object)->super_Object).name_._M_dataplus._M_p = (pointer)0x0;\n        ((this_00.object)->super_Object).name_._M_string_length = 0;\n        ((this_00.object)->super_Object).name_.field_2._M_allocated_capacity = 0;\n        *(undefined4 *)((int)&((this_00.object)->super_Object).name_.field_2 + 4) = 0;\n        *(undefined4 *)((int)&((this_00.object)->super_Object).name_.field_2 + 8) = 0xffffffff;\n        *(undefined4 *)((int)&((this_00.object)->super_Object).name_.field_2 + 0xc) = 0xffffffff;\n        *(undefined4 *)&((this_00.object)->super_Object).offset_ = 0;\n        ((this_00.object)->super_Object).shnum_ = extraout_EDX;\n        ((this_00.object)->super_Object).compressed_sections_ = pCVar6;\n        ((this_00.object)->super_Object)._vptr_Object = pp_Var18;\n        uVar9 = 0;\n        do {\n          *(undefined4 *)\n           ((int)&((this_00.object)->output_sections_).\n                  super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>.\n                  _M_impl._M_start + uVar9) = 0;\n          uVar9 = uVar9 + 4;\n        } while (uVar9 < 0x1c);\n        (this_00.pomb)->first_shndx_ = 1;\n        ((this_00.object)->output_sections_).\n        super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>._M_impl.\n        _M_end_of_storage = (pointer)0x0;\n        (this_00.object)->map_to_relocatable_relocs_ =\n             (vector<gold::Relocatable_relocs*,_std::allocator<gold::Relocatable_relocs*>_> *)0x0;\n        (this_00.object)->object_merge_map_ = (Object_merge_map *)0x3f800000;\n        ((this_00.pomb)->input_sections_)._M_h._M_element_count = 0;\n        (this_00.object)->rd_ = (Read_relocs_data *)0x0;\n        ((this_00.object)->output_sections_).\n        super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>._M_impl.\n        _M_start = (pointer)&(this_00.object)->rd_;\n        uVar9 = 0;\n        do {\n          *(undefined4 *)((int)&(this_00.object)->sd_ + uVar9) = 0;\n          uVar9 = uVar9 + 4;\n        } while (uVar9 < 0x1c);\n        (this_00.object)->reloc_counts_ = (uint *)0x1;\n        (this_00.object)->sd_ = (Symbols_data *)&this_00.object[1].super_Object.name_;\n        (this_00.object)->reloc_bases_ = (uint *)0x0;\n        (this_00.object)->first_dyn_reloc_ = 0;\n        (this_00.object)->dyn_reloc_count_ = 0x3f800000;\n        this_00.object[1].super_Object._vptr_Object = (_func_int_varargs **)0x0;\n        this_00.object[1].super_Object.name_._M_dataplus._M_p = (pointer)0x0;\n                    /* try { // try from 0006fadc to 0006fb48 has its CatchHandler @ 0006fd7f */\n        oVar16 = gold::Output_section::Input_section::current_data_size(pIVar11);\n        this_00.object[1].super_Object.name_._M_string_length = (size_type)oVar16;\n        this_00.object[1].super_Object.name_.field_2._M_allocated_capacity = 0;\n        *(undefined4 *)((int)&this_00.object[1].super_Object.name_.field_2 + 4) = 0;\n        *(undefined4 *)((int)&this_00.object[1].super_Object.name_.field_2 + 8) = 0;\n        *(undefined4 *)((int)&this_00.object[1].super_Object.name_.field_2 + 0xc) = 0;\n        this_00.object[1].super_Object.input_file_ = (Input_file *)0x0;\n        *(undefined4 *)&this_00.object[1].super_Object.offset_ = 0;\n        *(undefined1 *)((int)&this_00.object[1].super_Object.offset_ + 4) = 0;\n        this_00.object[1].super_Object.shnum_ = (int)((int)p_Var3 - _Var4) >> 2;\n        *(undefined4 *)&this_00.object[1].super_Object.field_0x2c = 0xffffffff;\n        this_00.object[1].super_Object.xindex_ = (Xindex *)0x0;\n        gold::Output_section_data::set_output_section(this_00.posd,pOVar17);\n        new_relaxed.\n        super__Vector_base<gold::Output_relaxed_input_section*,_std::allocator<gold::Output_relaxed_input_section*>_>\n        ._M_impl._M_start = (pointer)0x0;\n        new_relaxed.\n        super__Vector_base<gold::Output_relaxed_input_section*,_std::allocator<gold::Output_relaxed_input_section*>_>\n        ._M_impl._M_finish = (pointer)0x0;\n        new_relaxed.\n        super__Vector_base<gold::Output_relaxed_input_section*,_std::allocator<gold::Output_relaxed_input_section*>_>\n        ._M_impl._M_end_of_storage = (pointer)0x0;\n        local_64.object = this_00.object;\n                    /* try { // try from 0006fb6b to 0006fb7c has its CatchHandler @ 0006fd78 */\n        std::\n        vector<gold::Output_relaxed_input_section*,_std::allocator<gold::Output_relaxed_input_section*>_>\n        ::emplace_back<gold::Output_relaxed_input_section*>(&new_relaxed,&local_64.poris);\n        gold::Output_section::convert_input_sections_to_relaxed_sections(pOVar17,&new_relaxed);\n        if (new_relaxed.\n            super__Vector_base<gold::Output_relaxed_input_section*,_std::allocator<gold::Output_relaxed_input_section*>_>\n            ._M_impl._M_start == (pointer)0x0) goto LAB_0006f914;\n        operator_delete(new_relaxed.\n                        super__Vector_base<gold::Output_relaxed_input_section*,_std::allocator<gold::Output_relaxed_input_section*>_>\n                        ._M_impl._M_start);\n        paVar14 = (anon_union_4_4_139239c7_for_u2_ *)\n                  pCVar6[3]._M_t._M_impl.super__Rb_tree_header._M_header._M_parent;\n        if (paVar14 !=\n            (anon_union_4_4_139239c7_for_u2_ *)\n            pCVar6[3]._M_t._M_impl.super__Rb_tree_header._M_header._M_left) goto LAB_0006f926;\nLAB_0006fbb0:\n        __src = (anon_union_4_4_139239c7_for_u2_ *)\n                pCVar6[3]._M_t._M_impl.super__Rb_tree_header._M_header._M_color;\n        __n = (int)paVar14 - (int)__src;\n        uVar9 = (int)__n >> 2;\n        if (uVar9 == 0) {\n          local_8c = (_Base_ptr)0x4;\nLAB_0006fbe3:\n                    /* try { // try from 0006fbef to 0006fc9a has its CatchHandler @ 0006fd94 */\n          __dest = operator_new((uint)local_8c);\n          local_8c = (_Base_ptr)((int)local_8c + (int)__dest);\n        }\n        else {\n          local_8c = (_Base_ptr)0xfffffffc;\n          uVar7 = uVar9 * 2;\n          if ((uVar7 < uVar9) || (0x3fffffff < uVar7)) goto LAB_0006fbe3;\n          if (uVar7 != 0) {\n            local_8c = (_Base_ptr)(uVar9 << 3);\n            goto LAB_0006fbe3;\n          }\n          local_8c = (_Base_ptr)0x0;\n          __dest = (void *)0x0;\n        }\n        ((anon_union_4_4_139239c7_for_u2_ *)((int)__dest + __n))->object = (Relobj *)this_00;\n        if (paVar14 == __src) {\n          if (__src != (anon_union_4_4_139239c7_for_u2_ *)0x0) goto LAB_0006fc33;\n        }\n        else {\n          memmove(__dest,__src,__n);\nLAB_0006fc33:\n          operator_delete(__src);\n        }\n        pCVar6[3]._M_t._M_impl.super__Rb_tree_header._M_header._M_color = (_Rb_tree_color)__dest;\n        pCVar6[3]._M_t._M_impl.super__Rb_tree_header._M_header._M_parent =\n             (_Base_ptr)((int)__dest + __n + 4);\n        pCVar6[3]._M_t._M_impl.super__Rb_tree_header._M_header._M_left = local_8c;\n      }\n      operator_delete((Stub_table_owner *)*local_7c,8);\n      local_7c = local_7c + 1;\n    }" { (expression_statement "pIVar11 = ((Stub_table_owner *)*local_7c)->owner;" (assignment_expression "pIVar11 = ((Stub_table_owner *)*local_7c)->owner" identifier = (field_expression "((Stub_table_owner *)*local_7c)->owner" (parenthesized_expression "((Stub_table_owner *)*local_7c)" ( (cast_expression "(Stub_table_owner *)*local_7c" ( (type_descriptor "Stub_table_owner *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*local_7c" * identifier)) )) -> field_identifier)) ;) (if_statement "if (pIVar11->shndx_ + 4 < 4) {\n        if (pIVar11->shndx_ != 0xfffffffc) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0006fd4d to 0006fd51 has its CatchHandler @ 0006fd94 */\n          gold::do_gold_unreachable\n                    ((char *)(unaff_EDI + 0x28787b),0xcc1,(char *)(unaff_EDI + 0x2866cf));\n        }\n        this_00 = pIVar11->u2_;\nLAB_0006f914:\n        paVar14 = (anon_union_4_4_139239c7_for_u2_ *)\n                  pCVar6[3]._M_t._M_impl.super__Rb_tree_header._M_header._M_parent;\n        if (paVar14 ==\n            (anon_union_4_4_139239c7_for_u2_ *)\n            pCVar6[3]._M_t._M_impl.super__Rb_tree_header._M_header._M_left) goto LAB_0006fbb0;\nLAB_0006f926:\n        paVar14->object = (Relobj *)this_00;\n        pCVar6[3]._M_t._M_impl.super__Rb_tree_header._M_header._M_parent = (_Base_ptr)(paVar14 + 1);\n      }\n      else {\n        pOVar17 = ((Stub_table_owner *)*local_7c)->output_section;\n        p_Var3 = pCVar6[3]._M_t._M_impl.super__Rb_tree_header._M_header._M_parent;\n        _Var4 = pCVar6[3]._M_t._M_impl.super__Rb_tree_header._M_header._M_color;\n        this_00.object = (Relobj *)operator_new(0xb0);\n                    /* try { // try from 0006f998 to 0006f9e1 has its CatchHandler @ 0006fd8d */\n        pRVar8 = gold::Output_section::Input_section::relobj(pIVar11);\n        uVar9 = gold::Output_section::Input_section::shndx(pIVar11);\n        iVar10 = (*(pRVar8->super_Object)._vptr_Object[0x17])(pRVar8,uVar9);\n        uVar9 = gold::Output_section::Input_section::shndx(pIVar11);\n        pRVar8 = gold::Output_section::Input_section::relobj(pIVar11);\n        (this_00.poris)->relobj_ = pRVar8;\n        ppIVar2 = &((this_00.object)->super_Object).input_file_;\n        *(byte *)ppIVar2 = *(byte *)ppIVar2 & 0xe0;\n        *(int *)((int)&((this_00.object)->super_Object).offset_ + 4) = iVar10;\n        (this_00.poris)->shndx_ = uVar9;\n        ((this_00.object)->super_Object).name_._M_dataplus._M_p = (pointer)0x0;\n        ((this_00.object)->super_Object).name_._M_string_length = 0;\n        ((this_00.object)->super_Object).name_.field_2._M_allocated_capacity = 0;\n        *(undefined4 *)((int)&((this_00.object)->super_Object).name_.field_2 + 4) = 0;\n        *(undefined4 *)((int)&((this_00.object)->super_Object).name_.field_2 + 8) = 0xffffffff;\n        *(undefined4 *)((int)&((this_00.object)->super_Object).name_.field_2 + 0xc) = 0xffffffff;\n        *(undefined4 *)&((this_00.object)->super_Object).offset_ = 0;\n        ((this_00.object)->super_Object).shnum_ = extraout_EDX;\n        ((this_00.object)->super_Object).compressed_sections_ = pCVar6;\n        ((this_00.object)->super_Object)._vptr_Object = pp_Var18;\n        uVar9 = 0;\n        do {\n          *(undefined4 *)\n           ((int)&((this_00.object)->output_sections_).\n                  super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>.\n                  _M_impl._M_start + uVar9) = 0;\n          uVar9 = uVar9 + 4;\n        } while (uVar9 < 0x1c);\n        (this_00.pomb)->first_shndx_ = 1;\n        ((this_00.object)->output_sections_).\n        super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>._M_impl.\n        _M_end_of_storage = (pointer)0x0;\n        (this_00.object)->map_to_relocatable_relocs_ =\n             (vector<gold::Relocatable_relocs*,_std::allocator<gold::Relocatable_relocs*>_> *)0x0;\n        (this_00.object)->object_merge_map_ = (Object_merge_map *)0x3f800000;\n        ((this_00.pomb)->input_sections_)._M_h._M_element_count = 0;\n        (this_00.object)->rd_ = (Read_relocs_data *)0x0;\n        ((this_00.object)->output_sections_).\n        super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>._M_impl.\n        _M_start = (pointer)&(this_00.object)->rd_;\n        uVar9 = 0;\n        do {\n          *(undefined4 *)((int)&(this_00.object)->sd_ + uVar9) = 0;\n          uVar9 = uVar9 + 4;\n        } while (uVar9 < 0x1c);\n        (this_00.object)->reloc_counts_ = (uint *)0x1;\n        (this_00.object)->sd_ = (Symbols_data *)&this_00.object[1].super_Object.name_;\n        (this_00.object)->reloc_bases_ = (uint *)0x0;\n        (this_00.object)->first_dyn_reloc_ = 0;\n        (this_00.object)->dyn_reloc_count_ = 0x3f800000;\n        this_00.object[1].super_Object._vptr_Object = (_func_int_varargs **)0x0;\n        this_00.object[1].super_Object.name_._M_dataplus._M_p = (pointer)0x0;\n                    /* try { // try from 0006fadc to 0006fb48 has its CatchHandler @ 0006fd7f */\n        oVar16 = gold::Output_section::Input_section::current_data_size(pIVar11);\n        this_00.object[1].super_Object.name_._M_string_length = (size_type)oVar16;\n        this_00.object[1].super_Object.name_.field_2._M_allocated_capacity = 0;\n        *(undefined4 *)((int)&this_00.object[1].super_Object.name_.field_2 + 4) = 0;\n        *(undefined4 *)((int)&this_00.object[1].super_Object.name_.field_2 + 8) = 0;\n        *(undefined4 *)((int)&this_00.object[1].super_Object.name_.field_2 + 0xc) = 0;\n        this_00.object[1].super_Object.input_file_ = (Input_file *)0x0;\n        *(undefined4 *)&this_00.object[1].super_Object.offset_ = 0;\n        *(undefined1 *)((int)&this_00.object[1].super_Object.offset_ + 4) = 0;\n        this_00.object[1].super_Object.shnum_ = (int)((int)p_Var3 - _Var4) >> 2;\n        *(undefined4 *)&this_00.object[1].super_Object.field_0x2c = 0xffffffff;\n        this_00.object[1].super_Object.xindex_ = (Xindex *)0x0;\n        gold::Output_section_data::set_output_section(this_00.posd,pOVar17);\n        new_relaxed.\n        super__Vector_base<gold::Output_relaxed_input_section*,_std::allocator<gold::Output_relaxed_input_section*>_>\n        ._M_impl._M_start = (pointer)0x0;\n        new_relaxed.\n        super__Vector_base<gold::Output_relaxed_input_section*,_std::allocator<gold::Output_relaxed_input_section*>_>\n        ._M_impl._M_finish = (pointer)0x0;\n        new_relaxed.\n        super__Vector_base<gold::Output_relaxed_input_section*,_std::allocator<gold::Output_relaxed_input_section*>_>\n        ._M_impl._M_end_of_storage = (pointer)0x0;\n        local_64.object = this_00.object;\n                    /* try { // try from 0006fb6b to 0006fb7c has its CatchHandler @ 0006fd78 */\n        std::\n        vector<gold::Output_relaxed_input_section*,_std::allocator<gold::Output_relaxed_input_section*>_>\n        ::emplace_back<gold::Output_relaxed_input_section*>(&new_relaxed,&local_64.poris);\n        gold::Output_section::convert_input_sections_to_relaxed_sections(pOVar17,&new_relaxed);\n        if (new_relaxed.\n            super__Vector_base<gold::Output_relaxed_input_section*,_std::allocator<gold::Output_relaxed_input_section*>_>\n            ._M_impl._M_start == (pointer)0x0) goto LAB_0006f914;\n        operator_delete(new_relaxed.\n                        super__Vector_base<gold::Output_relaxed_input_section*,_std::allocator<gold::Output_relaxed_input_section*>_>\n                        ._M_impl._M_start);\n        paVar14 = (anon_union_4_4_139239c7_for_u2_ *)\n                  pCVar6[3]._M_t._M_impl.super__Rb_tree_header._M_header._M_parent;\n        if (paVar14 !=\n            (anon_union_4_4_139239c7_for_u2_ *)\n            pCVar6[3]._M_t._M_impl.super__Rb_tree_header._M_header._M_left) goto LAB_0006f926;\nLAB_0006fbb0:\n        __src = (anon_union_4_4_139239c7_for_u2_ *)\n                pCVar6[3]._M_t._M_impl.super__Rb_tree_header._M_header._M_color;\n        __n = (int)paVar14 - (int)__src;\n        uVar9 = (int)__n >> 2;\n        if (uVar9 == 0) {\n          local_8c = (_Base_ptr)0x4;\nLAB_0006fbe3:\n                    /* try { // try from 0006fbef to 0006fc9a has its CatchHandler @ 0006fd94 */\n          __dest = operator_new((uint)local_8c);\n          local_8c = (_Base_ptr)((int)local_8c + (int)__dest);\n        }\n        else {\n          local_8c = (_Base_ptr)0xfffffffc;\n          uVar7 = uVar9 * 2;\n          if ((uVar7 < uVar9) || (0x3fffffff < uVar7)) goto LAB_0006fbe3;\n          if (uVar7 != 0) {\n            local_8c = (_Base_ptr)(uVar9 << 3);\n            goto LAB_0006fbe3;\n          }\n          local_8c = (_Base_ptr)0x0;\n          __dest = (void *)0x0;\n        }\n        ((anon_union_4_4_139239c7_for_u2_ *)((int)__dest + __n))->object = (Relobj *)this_00;\n        if (paVar14 == __src) {\n          if (__src != (anon_union_4_4_139239c7_for_u2_ *)0x0) goto LAB_0006fc33;\n        }\n        else {\n          memmove(__dest,__src,__n);\nLAB_0006fc33:\n          operator_delete(__src);\n        }\n        pCVar6[3]._M_t._M_impl.super__Rb_tree_header._M_header._M_color = (_Rb_tree_color)__dest;\n        pCVar6[3]._M_t._M_impl.super__Rb_tree_header._M_header._M_parent =\n             (_Base_ptr)((int)__dest + __n + 4);\n        pCVar6[3]._M_t._M_impl.super__Rb_tree_header._M_header._M_left = local_8c;\n      }" if (parenthesized_expression "(pIVar11->shndx_ + 4 < 4)" ( (binary_expression "pIVar11->shndx_ + 4 < 4" (binary_expression "pIVar11->shndx_ + 4" (field_expression "pIVar11->shndx_" identifier -> field_identifier) + number_literal) < number_literal) )) (compound_statement "{\n        if (pIVar11->shndx_ != 0xfffffffc) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0006fd4d to 0006fd51 has its CatchHandler @ 0006fd94 */\n          gold::do_gold_unreachable\n                    ((char *)(unaff_EDI + 0x28787b),0xcc1,(char *)(unaff_EDI + 0x2866cf));\n        }\n        this_00 = pIVar11->u2_;\nLAB_0006f914:\n        paVar14 = (anon_union_4_4_139239c7_for_u2_ *)\n                  pCVar6[3]._M_t._M_impl.super__Rb_tree_header._M_header._M_parent;\n        if (paVar14 ==\n            (anon_union_4_4_139239c7_for_u2_ *)\n            pCVar6[3]._M_t._M_impl.super__Rb_tree_header._M_header._M_left) goto LAB_0006fbb0;\nLAB_0006f926:\n        paVar14->object = (Relobj *)this_00;\n        pCVar6[3]._M_t._M_impl.super__Rb_tree_header._M_header._M_parent = (_Base_ptr)(paVar14 + 1);\n      }" { (if_statement "if (pIVar11->shndx_ != 0xfffffffc) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0006fd4d to 0006fd51 has its CatchHandler @ 0006fd94 */\n          gold::do_gold_unreachable\n                    ((char *)(unaff_EDI + 0x28787b),0xcc1,(char *)(unaff_EDI + 0x2866cf));\n        }" if (parenthesized_expression "(pIVar11->shndx_ != 0xfffffffc)" ( (binary_expression "pIVar11->shndx_ != 0xfffffffc" (field_expression "pIVar11->shndx_" identifier -> field_identifier) != number_literal) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0006fd4d to 0006fd51 has its CatchHandler @ 0006fd94 */\n          gold::do_gold_unreachable\n                    ((char *)(unaff_EDI + 0x28787b),0xcc1,(char *)(unaff_EDI + 0x2866cf));\n        }" { comment comment (labeled_statement "gold::do_gold_unreachable\n                    ((char *)(unaff_EDI + 0x28787b),0xcc1,(char *)(unaff_EDI + 0x2866cf));" statement_identifier : (ERROR ":" :) (expression_statement "do_gold_unreachable\n                    ((char *)(unaff_EDI + 0x28787b),0xcc1,(char *)(unaff_EDI + 0x2866cf));" (call_expression "do_gold_unreachable\n                    ((char *)(unaff_EDI + 0x28787b),0xcc1,(char *)(unaff_EDI + 0x2866cf))" identifier (argument_list "((char *)(unaff_EDI + 0x28787b),0xcc1,(char *)(unaff_EDI + 0x2866cf))" ( (cast_expression "(char *)(unaff_EDI + 0x28787b)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EDI + 0x28787b)" ( (binary_expression "unaff_EDI + 0x28787b" identifier + number_literal) ))) , number_literal , (cast_expression "(char *)(unaff_EDI + 0x2866cf)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EDI + 0x2866cf)" ( (binary_expression "unaff_EDI + 0x2866cf" identifier + number_literal) ))) ))) ;)) })) (expression_statement "this_00 = pIVar11->u2_;" (assignment_expression "this_00 = pIVar11->u2_" identifier = (field_expression "pIVar11->u2_" identifier -> field_identifier)) ;) (labeled_statement "LAB_0006f914:\n        paVar14 = (anon_union_4_4_139239c7_for_u2_ *)\n                  pCVar6[3]._M_t._M_impl.super__Rb_tree_header._M_header._M_parent;" statement_identifier : (expression_statement "paVar14 = (anon_union_4_4_139239c7_for_u2_ *)\n                  pCVar6[3]._M_t._M_impl.super__Rb_tree_header._M_header._M_parent;" (assignment_expression "paVar14 = (anon_union_4_4_139239c7_for_u2_ *)\n                  pCVar6[3]._M_t._M_impl.super__Rb_tree_header._M_header._M_parent" identifier = (cast_expression "(anon_union_4_4_139239c7_for_u2_ *)\n                  pCVar6[3]._M_t._M_impl.super__Rb_tree_header._M_header._M_parent" ( (type_descriptor "anon_union_4_4_139239c7_for_u2_ *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "pCVar6[3]._M_t._M_impl.super__Rb_tree_header._M_header._M_parent" (field_expression "pCVar6[3]._M_t._M_impl.super__Rb_tree_header._M_header" (field_expression "pCVar6[3]._M_t._M_impl.super__Rb_tree_header" (field_expression "pCVar6[3]._M_t._M_impl" (field_expression "pCVar6[3]._M_t" (subscript_expression "pCVar6[3]" identifier [ number_literal ]) . field_identifier) . field_identifier) . field_identifier) . field_identifier) . field_identifier))) ;)) (if_statement "if (paVar14 ==\n            (anon_union_4_4_139239c7_for_u2_ *)\n            pCVar6[3]._M_t._M_impl.super__Rb_tree_header._M_header._M_left) goto LAB_0006fbb0;" if (parenthesized_expression "(paVar14 ==\n            (anon_union_4_4_139239c7_for_u2_ *)\n            pCVar6[3]._M_t._M_impl.super__Rb_tree_header._M_header._M_left)" ( (binary_expression "paVar14 ==\n            (anon_union_4_4_139239c7_for_u2_ *)\n            pCVar6[3]._M_t._M_impl.super__Rb_tree_header._M_header._M_left" identifier == (cast_expression "(anon_union_4_4_139239c7_for_u2_ *)\n            pCVar6[3]._M_t._M_impl.super__Rb_tree_header._M_header._M_left" ( (type_descriptor "anon_union_4_4_139239c7_for_u2_ *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "pCVar6[3]._M_t._M_impl.super__Rb_tree_header._M_header._M_left" (field_expression "pCVar6[3]._M_t._M_impl.super__Rb_tree_header._M_header" (field_expression "pCVar6[3]._M_t._M_impl.super__Rb_tree_header" (field_expression "pCVar6[3]._M_t._M_impl" (field_expression "pCVar6[3]._M_t" (subscript_expression "pCVar6[3]" identifier [ number_literal ]) . field_identifier) . field_identifier) . field_identifier) . field_identifier) . field_identifier))) )) (goto_statement "goto LAB_0006fbb0;" goto statement_identifier ;)) (labeled_statement "LAB_0006f926:\n        paVar14->object = (Relobj *)this_00;" statement_identifier : (expression_statement "paVar14->object = (Relobj *)this_00;" (assignment_expression "paVar14->object = (Relobj *)this_00" (field_expression "paVar14->object" identifier -> field_identifier) = (cast_expression "(Relobj *)this_00" ( (type_descriptor "Relobj *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;)) (expression_statement "pCVar6[3]._M_t._M_impl.super__Rb_tree_header._M_header._M_parent = (_Base_ptr)(paVar14 + 1);" (assignment_expression "pCVar6[3]._M_t._M_impl.super__Rb_tree_header._M_header._M_parent = (_Base_ptr)(paVar14 + 1)" (field_expression "pCVar6[3]._M_t._M_impl.super__Rb_tree_header._M_header._M_parent" (field_expression "pCVar6[3]._M_t._M_impl.super__Rb_tree_header._M_header" (field_expression "pCVar6[3]._M_t._M_impl.super__Rb_tree_header" (field_expression "pCVar6[3]._M_t._M_impl" (field_expression "pCVar6[3]._M_t" (subscript_expression "pCVar6[3]" identifier [ number_literal ]) . field_identifier) . field_identifier) . field_identifier) . field_identifier) . field_identifier) = (call_expression "(_Base_ptr)(paVar14 + 1)" (parenthesized_expression "(_Base_ptr)" ( identifier )) (argument_list "(paVar14 + 1)" ( (binary_expression "paVar14 + 1" identifier + number_literal) )))) ;) }) (else_clause "else {\n        pOVar17 = ((Stub_table_owner *)*local_7c)->output_section;\n        p_Var3 = pCVar6[3]._M_t._M_impl.super__Rb_tree_header._M_header._M_parent;\n        _Var4 = pCVar6[3]._M_t._M_impl.super__Rb_tree_header._M_header._M_color;\n        this_00.object = (Relobj *)operator_new(0xb0);\n                    /* try { // try from 0006f998 to 0006f9e1 has its CatchHandler @ 0006fd8d */\n        pRVar8 = gold::Output_section::Input_section::relobj(pIVar11);\n        uVar9 = gold::Output_section::Input_section::shndx(pIVar11);\n        iVar10 = (*(pRVar8->super_Object)._vptr_Object[0x17])(pRVar8,uVar9);\n        uVar9 = gold::Output_section::Input_section::shndx(pIVar11);\n        pRVar8 = gold::Output_section::Input_section::relobj(pIVar11);\n        (this_00.poris)->relobj_ = pRVar8;\n        ppIVar2 = &((this_00.object)->super_Object).input_file_;\n        *(byte *)ppIVar2 = *(byte *)ppIVar2 & 0xe0;\n        *(int *)((int)&((this_00.object)->super_Object).offset_ + 4) = iVar10;\n        (this_00.poris)->shndx_ = uVar9;\n        ((this_00.object)->super_Object).name_._M_dataplus._M_p = (pointer)0x0;\n        ((this_00.object)->super_Object).name_._M_string_length = 0;\n        ((this_00.object)->super_Object).name_.field_2._M_allocated_capacity = 0;\n        *(undefined4 *)((int)&((this_00.object)->super_Object).name_.field_2 + 4) = 0;\n        *(undefined4 *)((int)&((this_00.object)->super_Object).name_.field_2 + 8) = 0xffffffff;\n        *(undefined4 *)((int)&((this_00.object)->super_Object).name_.field_2 + 0xc) = 0xffffffff;\n        *(undefined4 *)&((this_00.object)->super_Object).offset_ = 0;\n        ((this_00.object)->super_Object).shnum_ = extraout_EDX;\n        ((this_00.object)->super_Object).compressed_sections_ = pCVar6;\n        ((this_00.object)->super_Object)._vptr_Object = pp_Var18;\n        uVar9 = 0;\n        do {\n          *(undefined4 *)\n           ((int)&((this_00.object)->output_sections_).\n                  super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>.\n                  _M_impl._M_start + uVar9) = 0;\n          uVar9 = uVar9 + 4;\n        } while (uVar9 < 0x1c);\n        (this_00.pomb)->first_shndx_ = 1;\n        ((this_00.object)->output_sections_).\n        super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>._M_impl.\n        _M_end_of_storage = (pointer)0x0;\n        (this_00.object)->map_to_relocatable_relocs_ =\n             (vector<gold::Relocatable_relocs*,_std::allocator<gold::Relocatable_relocs*>_> *)0x0;\n        (this_00.object)->object_merge_map_ = (Object_merge_map *)0x3f800000;\n        ((this_00.pomb)->input_sections_)._M_h._M_element_count = 0;\n        (this_00.object)->rd_ = (Read_relocs_data *)0x0;\n        ((this_00.object)->output_sections_).\n        super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>._M_impl.\n        _M_start = (pointer)&(this_00.object)->rd_;\n        uVar9 = 0;\n        do {\n          *(undefined4 *)((int)&(this_00.object)->sd_ + uVar9) = 0;\n          uVar9 = uVar9 + 4;\n        } while (uVar9 < 0x1c);\n        (this_00.object)->reloc_counts_ = (uint *)0x1;\n        (this_00.object)->sd_ = (Symbols_data *)&this_00.object[1].super_Object.name_;\n        (this_00.object)->reloc_bases_ = (uint *)0x0;\n        (this_00.object)->first_dyn_reloc_ = 0;\n        (this_00.object)->dyn_reloc_count_ = 0x3f800000;\n        this_00.object[1].super_Object._vptr_Object = (_func_int_varargs **)0x0;\n        this_00.object[1].super_Object.name_._M_dataplus._M_p = (pointer)0x0;\n                    /* try { // try from 0006fadc to 0006fb48 has its CatchHandler @ 0006fd7f */\n        oVar16 = gold::Output_section::Input_section::current_data_size(pIVar11);\n        this_00.object[1].super_Object.name_._M_string_length = (size_type)oVar16;\n        this_00.object[1].super_Object.name_.field_2._M_allocated_capacity = 0;\n        *(undefined4 *)((int)&this_00.object[1].super_Object.name_.field_2 + 4) = 0;\n        *(undefined4 *)((int)&this_00.object[1].super_Object.name_.field_2 + 8) = 0;\n        *(undefined4 *)((int)&this_00.object[1].super_Object.name_.field_2 + 0xc) = 0;\n        this_00.object[1].super_Object.input_file_ = (Input_file *)0x0;\n        *(undefined4 *)&this_00.object[1].super_Object.offset_ = 0;\n        *(undefined1 *)((int)&this_00.object[1].super_Object.offset_ + 4) = 0;\n        this_00.object[1].super_Object.shnum_ = (int)((int)p_Var3 - _Var4) >> 2;\n        *(undefined4 *)&this_00.object[1].super_Object.field_0x2c = 0xffffffff;\n        this_00.object[1].super_Object.xindex_ = (Xindex *)0x0;\n        gold::Output_section_data::set_output_section(this_00.posd,pOVar17);\n        new_relaxed.\n        super__Vector_base<gold::Output_relaxed_input_section*,_std::allocator<gold::Output_relaxed_input_section*>_>\n        ._M_impl._M_start = (pointer)0x0;\n        new_relaxed.\n        super__Vector_base<gold::Output_relaxed_input_section*,_std::allocator<gold::Output_relaxed_input_section*>_>\n        ._M_impl._M_finish = (pointer)0x0;\n        new_relaxed.\n        super__Vector_base<gold::Output_relaxed_input_section*,_std::allocator<gold::Output_relaxed_input_section*>_>\n        ._M_impl._M_end_of_storage = (pointer)0x0;\n        local_64.object = this_00.object;\n                    /* try { // try from 0006fb6b to 0006fb7c has its CatchHandler @ 0006fd78 */\n        std::\n        vector<gold::Output_relaxed_input_section*,_std::allocator<gold::Output_relaxed_input_section*>_>\n        ::emplace_back<gold::Output_relaxed_input_section*>(&new_relaxed,&local_64.poris);\n        gold::Output_section::convert_input_sections_to_relaxed_sections(pOVar17,&new_relaxed);\n        if (new_relaxed.\n            super__Vector_base<gold::Output_relaxed_input_section*,_std::allocator<gold::Output_relaxed_input_section*>_>\n            ._M_impl._M_start == (pointer)0x0) goto LAB_0006f914;\n        operator_delete(new_relaxed.\n                        super__Vector_base<gold::Output_relaxed_input_section*,_std::allocator<gold::Output_relaxed_input_section*>_>\n                        ._M_impl._M_start);\n        paVar14 = (anon_union_4_4_139239c7_for_u2_ *)\n                  pCVar6[3]._M_t._M_impl.super__Rb_tree_header._M_header._M_parent;\n        if (paVar14 !=\n            (anon_union_4_4_139239c7_for_u2_ *)\n            pCVar6[3]._M_t._M_impl.super__Rb_tree_header._M_header._M_left) goto LAB_0006f926;\nLAB_0006fbb0:\n        __src = (anon_union_4_4_139239c7_for_u2_ *)\n                pCVar6[3]._M_t._M_impl.super__Rb_tree_header._M_header._M_color;\n        __n = (int)paVar14 - (int)__src;\n        uVar9 = (int)__n >> 2;\n        if (uVar9 == 0) {\n          local_8c = (_Base_ptr)0x4;\nLAB_0006fbe3:\n                    /* try { // try from 0006fbef to 0006fc9a has its CatchHandler @ 0006fd94 */\n          __dest = operator_new((uint)local_8c);\n          local_8c = (_Base_ptr)((int)local_8c + (int)__dest);\n        }\n        else {\n          local_8c = (_Base_ptr)0xfffffffc;\n          uVar7 = uVar9 * 2;\n          if ((uVar7 < uVar9) || (0x3fffffff < uVar7)) goto LAB_0006fbe3;\n          if (uVar7 != 0) {\n            local_8c = (_Base_ptr)(uVar9 << 3);\n            goto LAB_0006fbe3;\n          }\n          local_8c = (_Base_ptr)0x0;\n          __dest = (void *)0x0;\n        }\n        ((anon_union_4_4_139239c7_for_u2_ *)((int)__dest + __n))->object = (Relobj *)this_00;\n        if (paVar14 == __src) {\n          if (__src != (anon_union_4_4_139239c7_for_u2_ *)0x0) goto LAB_0006fc33;\n        }\n        else {\n          memmove(__dest,__src,__n);\nLAB_0006fc33:\n          operator_delete(__src);\n        }\n        pCVar6[3]._M_t._M_impl.super__Rb_tree_header._M_header._M_color = (_Rb_tree_color)__dest;\n        pCVar6[3]._M_t._M_impl.super__Rb_tree_header._M_header._M_parent =\n             (_Base_ptr)((int)__dest + __n + 4);\n        pCVar6[3]._M_t._M_impl.super__Rb_tree_header._M_header._M_left = local_8c;\n      }" else (compound_statement "{\n        pOVar17 = ((Stub_table_owner *)*local_7c)->output_section;\n        p_Var3 = pCVar6[3]._M_t._M_impl.super__Rb_tree_header._M_header._M_parent;\n        _Var4 = pCVar6[3]._M_t._M_impl.super__Rb_tree_header._M_header._M_color;\n        this_00.object = (Relobj *)operator_new(0xb0);\n                    /* try { // try from 0006f998 to 0006f9e1 has its CatchHandler @ 0006fd8d */\n        pRVar8 = gold::Output_section::Input_section::relobj(pIVar11);\n        uVar9 = gold::Output_section::Input_section::shndx(pIVar11);\n        iVar10 = (*(pRVar8->super_Object)._vptr_Object[0x17])(pRVar8,uVar9);\n        uVar9 = gold::Output_section::Input_section::shndx(pIVar11);\n        pRVar8 = gold::Output_section::Input_section::relobj(pIVar11);\n        (this_00.poris)->relobj_ = pRVar8;\n        ppIVar2 = &((this_00.object)->super_Object).input_file_;\n        *(byte *)ppIVar2 = *(byte *)ppIVar2 & 0xe0;\n        *(int *)((int)&((this_00.object)->super_Object).offset_ + 4) = iVar10;\n        (this_00.poris)->shndx_ = uVar9;\n        ((this_00.object)->super_Object).name_._M_dataplus._M_p = (pointer)0x0;\n        ((this_00.object)->super_Object).name_._M_string_length = 0;\n        ((this_00.object)->super_Object).name_.field_2._M_allocated_capacity = 0;\n        *(undefined4 *)((int)&((this_00.object)->super_Object).name_.field_2 + 4) = 0;\n        *(undefined4 *)((int)&((this_00.object)->super_Object).name_.field_2 + 8) = 0xffffffff;\n        *(undefined4 *)((int)&((this_00.object)->super_Object).name_.field_2 + 0xc) = 0xffffffff;\n        *(undefined4 *)&((this_00.object)->super_Object).offset_ = 0;\n        ((this_00.object)->super_Object).shnum_ = extraout_EDX;\n        ((this_00.object)->super_Object).compressed_sections_ = pCVar6;\n        ((this_00.object)->super_Object)._vptr_Object = pp_Var18;\n        uVar9 = 0;\n        do {\n          *(undefined4 *)\n           ((int)&((this_00.object)->output_sections_).\n                  super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>.\n                  _M_impl._M_start + uVar9) = 0;\n          uVar9 = uVar9 + 4;\n        } while (uVar9 < 0x1c);\n        (this_00.pomb)->first_shndx_ = 1;\n        ((this_00.object)->output_sections_).\n        super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>._M_impl.\n        _M_end_of_storage = (pointer)0x0;\n        (this_00.object)->map_to_relocatable_relocs_ =\n             (vector<gold::Relocatable_relocs*,_std::allocator<gold::Relocatable_relocs*>_> *)0x0;\n        (this_00.object)->object_merge_map_ = (Object_merge_map *)0x3f800000;\n        ((this_00.pomb)->input_sections_)._M_h._M_element_count = 0;\n        (this_00.object)->rd_ = (Read_relocs_data *)0x0;\n        ((this_00.object)->output_sections_).\n        super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>._M_impl.\n        _M_start = (pointer)&(this_00.object)->rd_;\n        uVar9 = 0;\n        do {\n          *(undefined4 *)((int)&(this_00.object)->sd_ + uVar9) = 0;\n          uVar9 = uVar9 + 4;\n        } while (uVar9 < 0x1c);\n        (this_00.object)->reloc_counts_ = (uint *)0x1;\n        (this_00.object)->sd_ = (Symbols_data *)&this_00.object[1].super_Object.name_;\n        (this_00.object)->reloc_bases_ = (uint *)0x0;\n        (this_00.object)->first_dyn_reloc_ = 0;\n        (this_00.object)->dyn_reloc_count_ = 0x3f800000;\n        this_00.object[1].super_Object._vptr_Object = (_func_int_varargs **)0x0;\n        this_00.object[1].super_Object.name_._M_dataplus._M_p = (pointer)0x0;\n                    /* try { // try from 0006fadc to 0006fb48 has its CatchHandler @ 0006fd7f */\n        oVar16 = gold::Output_section::Input_section::current_data_size(pIVar11);\n        this_00.object[1].super_Object.name_._M_string_length = (size_type)oVar16;\n        this_00.object[1].super_Object.name_.field_2._M_allocated_capacity = 0;\n        *(undefined4 *)((int)&this_00.object[1].super_Object.name_.field_2 + 4) = 0;\n        *(undefined4 *)((int)&this_00.object[1].super_Object.name_.field_2 + 8) = 0;\n        *(undefined4 *)((int)&this_00.object[1].super_Object.name_.field_2 + 0xc) = 0;\n        this_00.object[1].super_Object.input_file_ = (Input_file *)0x0;\n        *(undefined4 *)&this_00.object[1].super_Object.offset_ = 0;\n        *(undefined1 *)((int)&this_00.object[1].super_Object.offset_ + 4) = 0;\n        this_00.object[1].super_Object.shnum_ = (int)((int)p_Var3 - _Var4) >> 2;\n        *(undefined4 *)&this_00.object[1].super_Object.field_0x2c = 0xffffffff;\n        this_00.object[1].super_Object.xindex_ = (Xindex *)0x0;\n        gold::Output_section_data::set_output_section(this_00.posd,pOVar17);\n        new_relaxed.\n        super__Vector_base<gold::Output_relaxed_input_section*,_std::allocator<gold::Output_relaxed_input_section*>_>\n        ._M_impl._M_start = (pointer)0x0;\n        new_relaxed.\n        super__Vector_base<gold::Output_relaxed_input_section*,_std::allocator<gold::Output_relaxed_input_section*>_>\n        ._M_impl._M_finish = (pointer)0x0;\n        new_relaxed.\n        super__Vector_base<gold::Output_relaxed_input_section*,_std::allocator<gold::Output_relaxed_input_section*>_>\n        ._M_impl._M_end_of_storage = (pointer)0x0;\n        local_64.object = this_00.object;\n                    /* try { // try from 0006fb6b to 0006fb7c has its CatchHandler @ 0006fd78 */\n        std::\n        vector<gold::Output_relaxed_input_section*,_std::allocator<gold::Output_relaxed_input_section*>_>\n        ::emplace_back<gold::Output_relaxed_input_section*>(&new_relaxed,&local_64.poris);\n        gold::Output_section::convert_input_sections_to_relaxed_sections(pOVar17,&new_relaxed);\n        if (new_relaxed.\n            super__Vector_base<gold::Output_relaxed_input_section*,_std::allocator<gold::Output_relaxed_input_section*>_>\n            ._M_impl._M_start == (pointer)0x0) goto LAB_0006f914;\n        operator_delete(new_relaxed.\n                        super__Vector_base<gold::Output_relaxed_input_section*,_std::allocator<gold::Output_relaxed_input_section*>_>\n                        ._M_impl._M_start);\n        paVar14 = (anon_union_4_4_139239c7_for_u2_ *)\n                  pCVar6[3]._M_t._M_impl.super__Rb_tree_header._M_header._M_parent;\n        if (paVar14 !=\n            (anon_union_4_4_139239c7_for_u2_ *)\n            pCVar6[3]._M_t._M_impl.super__Rb_tree_header._M_header._M_left) goto LAB_0006f926;\nLAB_0006fbb0:\n        __src = (anon_union_4_4_139239c7_for_u2_ *)\n                pCVar6[3]._M_t._M_impl.super__Rb_tree_header._M_header._M_color;\n        __n = (int)paVar14 - (int)__src;\n        uVar9 = (int)__n >> 2;\n        if (uVar9 == 0) {\n          local_8c = (_Base_ptr)0x4;\nLAB_0006fbe3:\n                    /* try { // try from 0006fbef to 0006fc9a has its CatchHandler @ 0006fd94 */\n          __dest = operator_new((uint)local_8c);\n          local_8c = (_Base_ptr)((int)local_8c + (int)__dest);\n        }\n        else {\n          local_8c = (_Base_ptr)0xfffffffc;\n          uVar7 = uVar9 * 2;\n          if ((uVar7 < uVar9) || (0x3fffffff < uVar7)) goto LAB_0006fbe3;\n          if (uVar7 != 0) {\n            local_8c = (_Base_ptr)(uVar9 << 3);\n            goto LAB_0006fbe3;\n          }\n          local_8c = (_Base_ptr)0x0;\n          __dest = (void *)0x0;\n        }\n        ((anon_union_4_4_139239c7_for_u2_ *)((int)__dest + __n))->object = (Relobj *)this_00;\n        if (paVar14 == __src) {\n          if (__src != (anon_union_4_4_139239c7_for_u2_ *)0x0) goto LAB_0006fc33;\n        }\n        else {\n          memmove(__dest,__src,__n);\nLAB_0006fc33:\n          operator_delete(__src);\n        }\n        pCVar6[3]._M_t._M_impl.super__Rb_tree_header._M_header._M_color = (_Rb_tree_color)__dest;\n        pCVar6[3]._M_t._M_impl.super__Rb_tree_header._M_header._M_parent =\n             (_Base_ptr)((int)__dest + __n + 4);\n        pCVar6[3]._M_t._M_impl.super__Rb_tree_header._M_header._M_left = local_8c;\n      }" { (expression_statement "pOVar17 = ((Stub_table_owner *)*local_7c)->output_section;" (assignment_expression "pOVar17 = ((Stub_table_owner *)*local_7c)->output_section" identifier = (field_expression "((Stub_table_owner *)*local_7c)->output_section" (parenthesized_expression "((Stub_table_owner *)*local_7c)" ( (cast_expression "(Stub_table_owner *)*local_7c" ( (type_descriptor "Stub_table_owner *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*local_7c" * identifier)) )) -> field_identifier)) ;) (expression_statement "p_Var3 = pCVar6[3]._M_t._M_impl.super__Rb_tree_header._M_header._M_parent;" (assignment_expression "p_Var3 = pCVar6[3]._M_t._M_impl.super__Rb_tree_header._M_header._M_parent" identifier = (field_expression "pCVar6[3]._M_t._M_impl.super__Rb_tree_header._M_header._M_parent" (field_expression "pCVar6[3]._M_t._M_impl.super__Rb_tree_header._M_header" (field_expression "pCVar6[3]._M_t._M_impl.super__Rb_tree_header" (field_expression "pCVar6[3]._M_t._M_impl" (field_expression "pCVar6[3]._M_t" (subscript_expression "pCVar6[3]" identifier [ number_literal ]) . field_identifier) . field_identifier) . field_identifier) . field_identifier) . field_identifier)) ;) (expression_statement "_Var4 = pCVar6[3]._M_t._M_impl.super__Rb_tree_header._M_header._M_color;" (assignment_expression "_Var4 = pCVar6[3]._M_t._M_impl.super__Rb_tree_header._M_header._M_color" identifier = (field_expression "pCVar6[3]._M_t._M_impl.super__Rb_tree_header._M_header._M_color" (field_expression "pCVar6[3]._M_t._M_impl.super__Rb_tree_header._M_header" (field_expression "pCVar6[3]._M_t._M_impl.super__Rb_tree_header" (field_expression "pCVar6[3]._M_t._M_impl" (field_expression "pCVar6[3]._M_t" (subscript_expression "pCVar6[3]" identifier [ number_literal ]) . field_identifier) . field_identifier) . field_identifier) . field_identifier) . field_identifier)) ;) (expression_statement "this_00.object = (Relobj *)operator_new(0xb0);" (assignment_expression "this_00.object = (Relobj *)operator_new(0xb0)" (field_expression "this_00.object" identifier . field_identifier) = (cast_expression "(Relobj *)operator_new(0xb0)" ( (type_descriptor "Relobj *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "operator_new(0xb0)" identifier (argument_list "(0xb0)" ( number_literal ))))) ;) comment (ERROR "pRVar8 = gold::" (assignment_expression "pRVar8 = gold" identifier = identifier) : :) (labeled_statement "Output_section::Input_section::relobj(pIVar11);" statement_identifier : (ERROR ":" :) (labeled_statement "Input_section::relobj(pIVar11);" statement_identifier : (ERROR ":" :) (expression_statement "relobj(pIVar11);" (call_expression "relobj(pIVar11)" identifier (argument_list "(pIVar11)" ( identifier ))) ;))) (ERROR "uVar9 = gold::" (assignment_expression "uVar9 = gold" identifier = identifier) : :) (labeled_statement "Output_section::Input_section::shndx(pIVar11);" statement_identifier : (ERROR ":" :) (labeled_statement "Input_section::shndx(pIVar11);" statement_identifier : (ERROR ":" :) (expression_statement "shndx(pIVar11);" (call_expression "shndx(pIVar11)" identifier (argument_list "(pIVar11)" ( identifier ))) ;))) (expression_statement "iVar10 = (*(pRVar8->super_Object)._vptr_Object[0x17])(pRVar8,uVar9);" (assignment_expression "iVar10 = (*(pRVar8->super_Object)._vptr_Object[0x17])(pRVar8,uVar9)" identifier = (call_expression "(*(pRVar8->super_Object)._vptr_Object[0x17])(pRVar8,uVar9)" (parenthesized_expression "(*(pRVar8->super_Object)._vptr_Object[0x17])" ( (pointer_expression "*(pRVar8->super_Object)._vptr_Object[0x17]" * (subscript_expression "(pRVar8->super_Object)._vptr_Object[0x17]" (field_expression "(pRVar8->super_Object)._vptr_Object" (parenthesized_expression "(pRVar8->super_Object)" ( (field_expression "pRVar8->super_Object" identifier -> field_identifier) )) . field_identifier) [ number_literal ])) )) (argument_list "(pRVar8,uVar9)" ( identifier , identifier )))) ;) (ERROR "uVar9 = gold::" (assignment_expression "uVar9 = gold" identifier = identifier) : :) (labeled_statement "Output_section::Input_section::shndx(pIVar11);" statement_identifier : (ERROR ":" :) (labeled_statement "Input_section::shndx(pIVar11);" statement_identifier : (ERROR ":" :) (expression_statement "shndx(pIVar11);" (call_expression "shndx(pIVar11)" identifier (argument_list "(pIVar11)" ( identifier ))) ;))) (ERROR "pRVar8 = gold::" (assignment_expression "pRVar8 = gold" identifier = identifier) : :) (labeled_statement "Output_section::Input_section::relobj(pIVar11);" statement_identifier : (ERROR ":" :) (labeled_statement "Input_section::relobj(pIVar11);" statement_identifier : (ERROR ":" :) (expression_statement "relobj(pIVar11);" (call_expression "relobj(pIVar11)" identifier (argument_list "(pIVar11)" ( identifier ))) ;))) (expression_statement "(this_00.poris)->relobj_ = pRVar8;" (assignment_expression "(this_00.poris)->relobj_ = pRVar8" (field_expression "(this_00.poris)->relobj_" (parenthesized_expression "(this_00.poris)" ( (field_expression "this_00.poris" identifier . field_identifier) )) -> field_identifier) = identifier) ;) (expression_statement "ppIVar2 = &((this_00.object)->super_Object).input_file_;" (assignment_expression "ppIVar2 = &((this_00.object)->super_Object).input_file_" identifier = (pointer_expression "&((this_00.object)->super_Object).input_file_" & (field_expression "((this_00.object)->super_Object).input_file_" (parenthesized_expression "((this_00.object)->super_Object)" ( (field_expression "(this_00.object)->super_Object" (parenthesized_expression "(this_00.object)" ( (field_expression "this_00.object" identifier . field_identifier) )) -> field_identifier) )) . field_identifier))) ;) (expression_statement "*(byte *)ppIVar2 = *(byte *)ppIVar2 & 0xe0;" (assignment_expression "*(byte *)ppIVar2 = *(byte *)ppIVar2 & 0xe0" (pointer_expression "*(byte *)ppIVar2" * (cast_expression "(byte *)ppIVar2" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) = (binary_expression "*(byte *)ppIVar2 & 0xe0" (pointer_expression "*(byte *)ppIVar2" * (cast_expression "(byte *)ppIVar2" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) & number_literal)) ;) (expression_statement "*(int *)((int)&((this_00.object)->super_Object).offset_ + 4) = iVar10;" (assignment_expression "*(int *)((int)&((this_00.object)->super_Object).offset_ + 4) = iVar10" (pointer_expression "*(int *)((int)&((this_00.object)->super_Object).offset_ + 4)" * (cast_expression "(int *)((int)&((this_00.object)->super_Object).offset_ + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&((this_00.object)->super_Object).offset_ + 4)" ( (binary_expression "(int)&((this_00.object)->super_Object).offset_ + 4" (cast_expression "(int)&((this_00.object)->super_Object).offset_" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&((this_00.object)->super_Object).offset_" & (field_expression "((this_00.object)->super_Object).offset_" (parenthesized_expression "((this_00.object)->super_Object)" ( (field_expression "(this_00.object)->super_Object" (parenthesized_expression "(this_00.object)" ( (field_expression "this_00.object" identifier . field_identifier) )) -> field_identifier) )) . field_identifier))) + number_literal) )))) = identifier) ;) (expression_statement "(this_00.poris)->shndx_ = uVar9;" (assignment_expression "(this_00.poris)->shndx_ = uVar9" (field_expression "(this_00.poris)->shndx_" (parenthesized_expression "(this_00.poris)" ( (field_expression "this_00.poris" identifier . field_identifier) )) -> field_identifier) = identifier) ;) (expression_statement "((this_00.object)->super_Object).name_._M_dataplus._M_p = (pointer)0x0;" (assignment_expression "((this_00.object)->super_Object).name_._M_dataplus._M_p = (pointer)0x0" (field_expression "((this_00.object)->super_Object).name_._M_dataplus._M_p" (field_expression "((this_00.object)->super_Object).name_._M_dataplus" (field_expression "((this_00.object)->super_Object).name_" (parenthesized_expression "((this_00.object)->super_Object)" ( (field_expression "(this_00.object)->super_Object" (parenthesized_expression "(this_00.object)" ( (field_expression "this_00.object" identifier . field_identifier) )) -> field_identifier) )) . field_identifier) . field_identifier) . field_identifier) = (cast_expression "(pointer)0x0" ( (type_descriptor "pointer" type_identifier) ) number_literal)) ;) (expression_statement "((this_00.object)->super_Object).name_._M_string_length = 0;" (assignment_expression "((this_00.object)->super_Object).name_._M_string_length = 0" (field_expression "((this_00.object)->super_Object).name_._M_string_length" (field_expression "((this_00.object)->super_Object).name_" (parenthesized_expression "((this_00.object)->super_Object)" ( (field_expression "(this_00.object)->super_Object" (parenthesized_expression "(this_00.object)" ( (field_expression "this_00.object" identifier . field_identifier) )) -> field_identifier) )) . field_identifier) . field_identifier) = number_literal) ;) (expression_statement "((this_00.object)->super_Object).name_.field_2._M_allocated_capacity = 0;" (assignment_expression "((this_00.object)->super_Object).name_.field_2._M_allocated_capacity = 0" (field_expression "((this_00.object)->super_Object).name_.field_2._M_allocated_capacity" (field_expression "((this_00.object)->super_Object).name_.field_2" (field_expression "((this_00.object)->super_Object).name_" (parenthesized_expression "((this_00.object)->super_Object)" ( (field_expression "(this_00.object)->super_Object" (parenthesized_expression "(this_00.object)" ( (field_expression "this_00.object" identifier . field_identifier) )) -> field_identifier) )) . field_identifier) . field_identifier) . field_identifier) = number_literal) ;) (expression_statement "*(undefined4 *)((int)&((this_00.object)->super_Object).name_.field_2 + 4) = 0;" (assignment_expression "*(undefined4 *)((int)&((this_00.object)->super_Object).name_.field_2 + 4) = 0" (pointer_expression "*(undefined4 *)((int)&((this_00.object)->super_Object).name_.field_2 + 4)" * (cast_expression "(undefined4 *)((int)&((this_00.object)->super_Object).name_.field_2 + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&((this_00.object)->super_Object).name_.field_2 + 4)" ( (binary_expression "(int)&((this_00.object)->super_Object).name_.field_2 + 4" (cast_expression "(int)&((this_00.object)->super_Object).name_.field_2" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&((this_00.object)->super_Object).name_.field_2" & (field_expression "((this_00.object)->super_Object).name_.field_2" (field_expression "((this_00.object)->super_Object).name_" (parenthesized_expression "((this_00.object)->super_Object)" ( (field_expression "(this_00.object)->super_Object" (parenthesized_expression "(this_00.object)" ( (field_expression "this_00.object" identifier . field_identifier) )) -> field_identifier) )) . field_identifier) . field_identifier))) + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)((int)&((this_00.object)->super_Object).name_.field_2 + 8) = 0xffffffff;" (assignment_expression "*(undefined4 *)((int)&((this_00.object)->super_Object).name_.field_2 + 8) = 0xffffffff" (pointer_expression "*(undefined4 *)((int)&((this_00.object)->super_Object).name_.field_2 + 8)" * (cast_expression "(undefined4 *)((int)&((this_00.object)->super_Object).name_.field_2 + 8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&((this_00.object)->super_Object).name_.field_2 + 8)" ( (binary_expression "(int)&((this_00.object)->super_Object).name_.field_2 + 8" (cast_expression "(int)&((this_00.object)->super_Object).name_.field_2" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&((this_00.object)->super_Object).name_.field_2" & (field_expression "((this_00.object)->super_Object).name_.field_2" (field_expression "((this_00.object)->super_Object).name_" (parenthesized_expression "((this_00.object)->super_Object)" ( (field_expression "(this_00.object)->super_Object" (parenthesized_expression "(this_00.object)" ( (field_expression "this_00.object" identifier . field_identifier) )) -> field_identifier) )) . field_identifier) . field_identifier))) + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)((int)&((this_00.object)->super_Object).name_.field_2 + 0xc) = 0xffffffff;" (assignment_expression "*(undefined4 *)((int)&((this_00.object)->super_Object).name_.field_2 + 0xc) = 0xffffffff" (pointer_expression "*(undefined4 *)((int)&((this_00.object)->super_Object).name_.field_2 + 0xc)" * (cast_expression "(undefined4 *)((int)&((this_00.object)->super_Object).name_.field_2 + 0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&((this_00.object)->super_Object).name_.field_2 + 0xc)" ( (binary_expression "(int)&((this_00.object)->super_Object).name_.field_2 + 0xc" (cast_expression "(int)&((this_00.object)->super_Object).name_.field_2" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&((this_00.object)->super_Object).name_.field_2" & (field_expression "((this_00.object)->super_Object).name_.field_2" (field_expression "((this_00.object)->super_Object).name_" (parenthesized_expression "((this_00.object)->super_Object)" ( (field_expression "(this_00.object)->super_Object" (parenthesized_expression "(this_00.object)" ( (field_expression "this_00.object" identifier . field_identifier) )) -> field_identifier) )) . field_identifier) . field_identifier))) + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)&((this_00.object)->super_Object).offset_ = 0;" (assignment_expression "*(undefined4 *)&((this_00.object)->super_Object).offset_ = 0" (pointer_expression "*(undefined4 *)&((this_00.object)->super_Object).offset_" * (cast_expression "(undefined4 *)&((this_00.object)->super_Object).offset_" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&((this_00.object)->super_Object).offset_" & (field_expression "((this_00.object)->super_Object).offset_" (parenthesized_expression "((this_00.object)->super_Object)" ( (field_expression "(this_00.object)->super_Object" (parenthesized_expression "(this_00.object)" ( (field_expression "this_00.object" identifier . field_identifier) )) -> field_identifier) )) . field_identifier)))) = number_literal) ;) (expression_statement "((this_00.object)->super_Object).shnum_ = extraout_EDX;" (assignment_expression "((this_00.object)->super_Object).shnum_ = extraout_EDX" (field_expression "((this_00.object)->super_Object).shnum_" (parenthesized_expression "((this_00.object)->super_Object)" ( (field_expression "(this_00.object)->super_Object" (parenthesized_expression "(this_00.object)" ( (field_expression "this_00.object" identifier . field_identifier) )) -> field_identifier) )) . field_identifier) = identifier) ;) (expression_statement "((this_00.object)->super_Object).compressed_sections_ = pCVar6;" (assignment_expression "((this_00.object)->super_Object).compressed_sections_ = pCVar6" (field_expression "((this_00.object)->super_Object).compressed_sections_" (parenthesized_expression "((this_00.object)->super_Object)" ( (field_expression "(this_00.object)->super_Object" (parenthesized_expression "(this_00.object)" ( (field_expression "this_00.object" identifier . field_identifier) )) -> field_identifier) )) . field_identifier) = identifier) ;) (expression_statement "((this_00.object)->super_Object)._vptr_Object = pp_Var18;" (assignment_expression "((this_00.object)->super_Object)._vptr_Object = pp_Var18" (field_expression "((this_00.object)->super_Object)._vptr_Object" (parenthesized_expression "((this_00.object)->super_Object)" ( (field_expression "(this_00.object)->super_Object" (parenthesized_expression "(this_00.object)" ( (field_expression "this_00.object" identifier . field_identifier) )) -> field_identifier) )) . field_identifier) = identifier) ;) (expression_statement "uVar9 = 0;" (assignment_expression "uVar9 = 0" identifier = number_literal) ;) (do_statement "do {\n          *(undefined4 *)\n           ((int)&((this_00.object)->output_sections_).\n                  super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>.\n                  _M_impl._M_start + uVar9) = 0;\n          uVar9 = uVar9 + 4;\n        } while (uVar9 < 0x1c);" do (compound_statement "{\n          *(undefined4 *)\n           ((int)&((this_00.object)->output_sections_).\n                  super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>.\n                  _M_impl._M_start + uVar9) = 0;\n          uVar9 = uVar9 + 4;\n        }" { (expression_statement "*(undefined4 *)\n           ((int)&((this_00.object)->output_sections_).\n                  super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>.\n                  _M_impl._M_start + uVar9) = 0;" (assignment_expression "*(undefined4 *)\n           ((int)&((this_00.object)->output_sections_).\n                  super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>.\n                  _M_impl._M_start + uVar9) = 0" (pointer_expression "*(undefined4 *)\n           ((int)&((this_00.object)->output_sections_).\n                  super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>.\n                  _M_impl._M_start + uVar9)" * (cast_expression "(undefined4 *)\n           ((int)&((this_00.object)->output_sections_).\n                  super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>.\n                  _M_impl._M_start + uVar9)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&((this_00.object)->output_sections_).\n                  super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>.\n                  _M_impl._M_start + uVar9)" ( (binary_expression "(int)&((this_00.object)->output_sections_).\n                  super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>.\n                  _M_impl._M_start + uVar9" (field_expression "(int)&((this_00.object)->output_sections_).\n                  super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>.\n                  _M_impl._M_start" (field_expression "(int)&((this_00.object)->output_sections_).\n                  super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>.\n                  _M_impl" (binary_expression "(int)&((this_00.object)->output_sections_).\n                  super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_" (binary_expression "(int)&((this_00.object)->output_sections_).\n                  super__Vector_base<gold::Output_section*,_std::allocator<gold" (binary_expression "(int)&((this_00.object)->output_sections_).\n                  super__Vector_base<gold::Output_section*,_std" (binary_expression "(int)&((this_00.object)->output_sections_).\n                  super__Vector_base<gold" (cast_expression "(int)&((this_00.object)->output_sections_).\n                  super__Vector_base" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&((this_00.object)->output_sections_).\n                  super__Vector_base" & (field_expression "((this_00.object)->output_sections_).\n                  super__Vector_base" (parenthesized_expression "((this_00.object)->output_sections_)" ( (field_expression "(this_00.object)->output_sections_" (parenthesized_expression "(this_00.object)" ( (field_expression "this_00.object" identifier . field_identifier) )) -> field_identifier) )) . field_identifier))) < identifier) (ERROR "::Output_section" : : identifier) * (ERROR "," ,) identifier) (ERROR "::allocator" : : identifier) < identifier) (ERROR "::Output_section" : : identifier) * (ERROR ">" >) identifier) (ERROR ">" >) . field_identifier) . field_identifier) + identifier) )))) = number_literal) ;) (expression_statement "uVar9 = uVar9 + 4;" (assignment_expression "uVar9 = uVar9 + 4" identifier = (binary_expression "uVar9 + 4" identifier + number_literal)) ;) }) while (parenthesized_expression "(uVar9 < 0x1c)" ( (binary_expression "uVar9 < 0x1c" identifier < number_literal) )) ;) (expression_statement "(this_00.pomb)->first_shndx_ = 1;" (assignment_expression "(this_00.pomb)->first_shndx_ = 1" (field_expression "(this_00.pomb)->first_shndx_" (parenthesized_expression "(this_00.pomb)" ( (field_expression "this_00.pomb" identifier . field_identifier) )) -> field_identifier) = number_literal) ;) (expression_statement "((this_00.object)->output_sections_).\n        super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>._M_impl.\n        _M_end_of_storage = (pointer)0x0;" (assignment_expression "((this_00.object)->output_sections_).\n        super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>._M_impl.\n        _M_end_of_storage = (pointer)0x0" (field_expression "((this_00.object)->output_sections_).\n        super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>._M_impl.\n        _M_end_of_storage" (field_expression "((this_00.object)->output_sections_).\n        super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>._M_impl" (binary_expression "((this_00.object)->output_sections_).\n        super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_" (binary_expression "((this_00.object)->output_sections_).\n        super__Vector_base<gold::Output_section*,_std::allocator<gold" (binary_expression "((this_00.object)->output_sections_).\n        super__Vector_base<gold::Output_section*,_std" (binary_expression "((this_00.object)->output_sections_).\n        super__Vector_base<gold" (field_expression "((this_00.object)->output_sections_).\n        super__Vector_base" (parenthesized_expression "((this_00.object)->output_sections_)" ( (field_expression "(this_00.object)->output_sections_" (parenthesized_expression "(this_00.object)" ( (field_expression "this_00.object" identifier . field_identifier) )) -> field_identifier) )) . field_identifier) < identifier) (ERROR "::Output_section" : : identifier) * (ERROR "," ,) identifier) (ERROR "::allocator" : : identifier) < identifier) (ERROR "::Output_section" : : identifier) * (ERROR ">" >) identifier) (ERROR ">" >) . field_identifier) . field_identifier) = (cast_expression "(pointer)0x0" ( (type_descriptor "pointer" type_identifier) ) number_literal)) ;) (expression_statement "(this_00.object)->map_to_relocatable_relocs_ =\n             (vector<gold::Relocatable_relocs*,_std::allocator<gold::Relocatable_relocs*>_> *)0x0;" (assignment_expression "(this_00.object)->map_to_relocatable_relocs_ =\n             (vector<gold::Relocatable_relocs*,_std::allocator<gold::Relocatable_relocs*>_> *)0x0" (field_expression "(this_00.object)->map_to_relocatable_relocs_" (parenthesized_expression "(this_00.object)" ( (field_expression "this_00.object" identifier . field_identifier) )) -> field_identifier) = (parenthesized_expression "(vector<gold::Relocatable_relocs*,_std::allocator<gold::Relocatable_relocs*>_> *)0x0" ( (ERROR "vector<gold::Relocatable_relocs*,_std::allocator<gold::" (binary_expression "vector<gold" identifier < identifier) : : (type_descriptor "Relocatable_relocs*" type_identifier (abstract_pointer_declarator "*" *)) , identifier : : (binary_expression "allocator<gold" identifier < identifier) : :) (binary_expression "Relocatable_relocs*>_> *)0x0" (binary_expression "Relocatable_relocs*>_" identifier * (ERROR ">" >) identifier) > (pointer_expression "*)0x0" * (ERROR ")" )) number_literal)) ))) ;) (expression_statement "(this_00.object)->object_merge_map_ = (Object_merge_map *)0x3f800000;" (assignment_expression "(this_00.object)->object_merge_map_ = (Object_merge_map *)0x3f800000" (field_expression "(this_00.object)->object_merge_map_" (parenthesized_expression "(this_00.object)" ( (field_expression "this_00.object" identifier . field_identifier) )) -> field_identifier) = (cast_expression "(Object_merge_map *)0x3f800000" ( (type_descriptor "Object_merge_map *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "((this_00.pomb)->input_sections_)._M_h._M_element_count = 0;" (assignment_expression "((this_00.pomb)->input_sections_)._M_h._M_element_count = 0" (field_expression "((this_00.pomb)->input_sections_)._M_h._M_element_count" (field_expression "((this_00.pomb)->input_sections_)._M_h" (parenthesized_expression "((this_00.pomb)->input_sections_)" ( (field_expression "(this_00.pomb)->input_sections_" (parenthesized_expression "(this_00.pomb)" ( (field_expression "this_00.pomb" identifier . field_identifier) )) -> field_identifier) )) . field_identifier) . field_identifier) = number_literal) ;) (expression_statement "(this_00.object)->rd_ = (Read_relocs_data *)0x0;" (assignment_expression "(this_00.object)->rd_ = (Read_relocs_data *)0x0" (field_expression "(this_00.object)->rd_" (parenthesized_expression "(this_00.object)" ( (field_expression "this_00.object" identifier . field_identifier) )) -> field_identifier) = (cast_expression "(Read_relocs_data *)0x0" ( (type_descriptor "Read_relocs_data *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "((this_00.object)->output_sections_).\n        super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>._M_impl.\n        _M_start = (pointer)&(this_00.object)->rd_;" (assignment_expression "((this_00.object)->output_sections_).\n        super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>._M_impl.\n        _M_start = (pointer)&(this_00.object)->rd_" (field_expression "((this_00.object)->output_sections_).\n        super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>._M_impl.\n        _M_start" (field_expression "((this_00.object)->output_sections_).\n        super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>._M_impl" (binary_expression "((this_00.object)->output_sections_).\n        super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_" (binary_expression "((this_00.object)->output_sections_).\n        super__Vector_base<gold::Output_section*,_std::allocator<gold" (binary_expression "((this_00.object)->output_sections_).\n        super__Vector_base<gold::Output_section*,_std" (binary_expression "((this_00.object)->output_sections_).\n        super__Vector_base<gold" (field_expression "((this_00.object)->output_sections_).\n        super__Vector_base" (parenthesized_expression "((this_00.object)->output_sections_)" ( (field_expression "(this_00.object)->output_sections_" (parenthesized_expression "(this_00.object)" ( (field_expression "this_00.object" identifier . field_identifier) )) -> field_identifier) )) . field_identifier) < identifier) (ERROR "::Output_section" : : identifier) * (ERROR "," ,) identifier) (ERROR "::allocator" : : identifier) < identifier) (ERROR "::Output_section" : : identifier) * (ERROR ">" >) identifier) (ERROR ">" >) . field_identifier) . field_identifier) = (binary_expression "(pointer)&(this_00.object)->rd_" (parenthesized_expression "(pointer)" ( identifier )) & (field_expression "(this_00.object)->rd_" (parenthesized_expression "(this_00.object)" ( (field_expression "this_00.object" identifier . field_identifier) )) -> field_identifier))) ;) (expression_statement "uVar9 = 0;" (assignment_expression "uVar9 = 0" identifier = number_literal) ;) (do_statement "do {\n          *(undefined4 *)((int)&(this_00.object)->sd_ + uVar9) = 0;\n          uVar9 = uVar9 + 4;\n        } while (uVar9 < 0x1c);" do (compound_statement "{\n          *(undefined4 *)((int)&(this_00.object)->sd_ + uVar9) = 0;\n          uVar9 = uVar9 + 4;\n        }" { (expression_statement "*(undefined4 *)((int)&(this_00.object)->sd_ + uVar9) = 0;" (assignment_expression "*(undefined4 *)((int)&(this_00.object)->sd_ + uVar9) = 0" (pointer_expression "*(undefined4 *)((int)&(this_00.object)->sd_ + uVar9)" * (cast_expression "(undefined4 *)((int)&(this_00.object)->sd_ + uVar9)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&(this_00.object)->sd_ + uVar9)" ( (binary_expression "(int)&(this_00.object)->sd_ + uVar9" (cast_expression "(int)&(this_00.object)->sd_" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&(this_00.object)->sd_" & (field_expression "(this_00.object)->sd_" (parenthesized_expression "(this_00.object)" ( (field_expression "this_00.object" identifier . field_identifier) )) -> field_identifier))) + identifier) )))) = number_literal) ;) (expression_statement "uVar9 = uVar9 + 4;" (assignment_expression "uVar9 = uVar9 + 4" identifier = (binary_expression "uVar9 + 4" identifier + number_literal)) ;) }) while (parenthesized_expression "(uVar9 < 0x1c)" ( (binary_expression "uVar9 < 0x1c" identifier < number_literal) )) ;) (expression_statement "(this_00.object)->reloc_counts_ = (uint *)0x1;" (assignment_expression "(this_00.object)->reloc_counts_ = (uint *)0x1" (field_expression "(this_00.object)->reloc_counts_" (parenthesized_expression "(this_00.object)" ( (field_expression "this_00.object" identifier . field_identifier) )) -> field_identifier) = (cast_expression "(uint *)0x1" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "(this_00.object)->sd_ = (Symbols_data *)&this_00.object[1].super_Object.name_;" (assignment_expression "(this_00.object)->sd_ = (Symbols_data *)&this_00.object[1].super_Object.name_" (field_expression "(this_00.object)->sd_" (parenthesized_expression "(this_00.object)" ( (field_expression "this_00.object" identifier . field_identifier) )) -> field_identifier) = (cast_expression "(Symbols_data *)&this_00.object[1].super_Object.name_" ( (type_descriptor "Symbols_data *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&this_00.object[1].super_Object.name_" & (field_expression "this_00.object[1].super_Object.name_" (field_expression "this_00.object[1].super_Object" (subscript_expression "this_00.object[1]" (field_expression "this_00.object" identifier . field_identifier) [ number_literal ]) . field_identifier) . field_identifier)))) ;) (expression_statement "(this_00.object)->reloc_bases_ = (uint *)0x0;" (assignment_expression "(this_00.object)->reloc_bases_ = (uint *)0x0" (field_expression "(this_00.object)->reloc_bases_" (parenthesized_expression "(this_00.object)" ( (field_expression "this_00.object" identifier . field_identifier) )) -> field_identifier) = (cast_expression "(uint *)0x0" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "(this_00.object)->first_dyn_reloc_ = 0;" (assignment_expression "(this_00.object)->first_dyn_reloc_ = 0" (field_expression "(this_00.object)->first_dyn_reloc_" (parenthesized_expression "(this_00.object)" ( (field_expression "this_00.object" identifier . field_identifier) )) -> field_identifier) = number_literal) ;) (expression_statement "(this_00.object)->dyn_reloc_count_ = 0x3f800000;" (assignment_expression "(this_00.object)->dyn_reloc_count_ = 0x3f800000" (field_expression "(this_00.object)->dyn_reloc_count_" (parenthesized_expression "(this_00.object)" ( (field_expression "this_00.object" identifier . field_identifier) )) -> field_identifier) = number_literal) ;) (expression_statement "this_00.object[1].super_Object._vptr_Object = (_func_int_varargs **)0x0;" (assignment_expression "this_00.object[1].super_Object._vptr_Object = (_func_int_varargs **)0x0" (field_expression "this_00.object[1].super_Object._vptr_Object" (field_expression "this_00.object[1].super_Object" (subscript_expression "this_00.object[1]" (field_expression "this_00.object" identifier . field_identifier) [ number_literal ]) . field_identifier) . field_identifier) = (cast_expression "(_func_int_varargs **)0x0" ( (type_descriptor "_func_int_varargs **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) ;) (expression_statement "this_00.object[1].super_Object.name_._M_dataplus._M_p = (pointer)0x0;" (assignment_expression "this_00.object[1].super_Object.name_._M_dataplus._M_p = (pointer)0x0" (field_expression "this_00.object[1].super_Object.name_._M_dataplus._M_p" (field_expression "this_00.object[1].super_Object.name_._M_dataplus" (field_expression "this_00.object[1].super_Object.name_" (field_expression "this_00.object[1].super_Object" (subscript_expression "this_00.object[1]" (field_expression "this_00.object" identifier . field_identifier) [ number_literal ]) . field_identifier) . field_identifier) . field_identifier) . field_identifier) = (cast_expression "(pointer)0x0" ( (type_descriptor "pointer" type_identifier) ) number_literal)) ;) comment (ERROR "oVar16 = gold::" (assignment_expression "oVar16 = gold" identifier = identifier) : :) (labeled_statement "Output_section::Input_section::current_data_size(pIVar11);" statement_identifier : (ERROR ":" :) (labeled_statement "Input_section::current_data_size(pIVar11);" statement_identifier : (ERROR ":" :) (expression_statement "current_data_size(pIVar11);" (call_expression "current_data_size(pIVar11)" identifier (argument_list "(pIVar11)" ( identifier ))) ;))) (expression_statement "this_00.object[1].super_Object.name_._M_string_length = (size_type)oVar16;" (assignment_expression "this_00.object[1].super_Object.name_._M_string_length = (size_type)oVar16" (field_expression "this_00.object[1].super_Object.name_._M_string_length" (field_expression "this_00.object[1].super_Object.name_" (field_expression "this_00.object[1].super_Object" (subscript_expression "this_00.object[1]" (field_expression "this_00.object" identifier . field_identifier) [ number_literal ]) . field_identifier) . field_identifier) . field_identifier) = (cast_expression "(size_type)oVar16" ( (type_descriptor "size_type" type_identifier) ) identifier)) ;) (expression_statement "this_00.object[1].super_Object.name_.field_2._M_allocated_capacity = 0;" (assignment_expression "this_00.object[1].super_Object.name_.field_2._M_allocated_capacity = 0" (field_expression "this_00.object[1].super_Object.name_.field_2._M_allocated_capacity" (field_expression "this_00.object[1].super_Object.name_.field_2" (field_expression "this_00.object[1].super_Object.name_" (field_expression "this_00.object[1].super_Object" (subscript_expression "this_00.object[1]" (field_expression "this_00.object" identifier . field_identifier) [ number_literal ]) . field_identifier) . field_identifier) . field_identifier) . field_identifier) = number_literal) ;) (expression_statement "*(undefined4 *)((int)&this_00.object[1].super_Object.name_.field_2 + 4) = 0;" (assignment_expression "*(undefined4 *)((int)&this_00.object[1].super_Object.name_.field_2 + 4) = 0" (pointer_expression "*(undefined4 *)((int)&this_00.object[1].super_Object.name_.field_2 + 4)" * (cast_expression "(undefined4 *)((int)&this_00.object[1].super_Object.name_.field_2 + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&this_00.object[1].super_Object.name_.field_2 + 4)" ( (binary_expression "(int)&this_00.object[1].super_Object.name_.field_2 + 4" (cast_expression "(int)&this_00.object[1].super_Object.name_.field_2" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&this_00.object[1].super_Object.name_.field_2" & (field_expression "this_00.object[1].super_Object.name_.field_2" (field_expression "this_00.object[1].super_Object.name_" (field_expression "this_00.object[1].super_Object" (subscript_expression "this_00.object[1]" (field_expression "this_00.object" identifier . field_identifier) [ number_literal ]) . field_identifier) . field_identifier) . field_identifier))) + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)((int)&this_00.object[1].super_Object.name_.field_2 + 8) = 0;" (assignment_expression "*(undefined4 *)((int)&this_00.object[1].super_Object.name_.field_2 + 8) = 0" (pointer_expression "*(undefined4 *)((int)&this_00.object[1].super_Object.name_.field_2 + 8)" * (cast_expression "(undefined4 *)((int)&this_00.object[1].super_Object.name_.field_2 + 8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&this_00.object[1].super_Object.name_.field_2 + 8)" ( (binary_expression "(int)&this_00.object[1].super_Object.name_.field_2 + 8" (cast_expression "(int)&this_00.object[1].super_Object.name_.field_2" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&this_00.object[1].super_Object.name_.field_2" & (field_expression "this_00.object[1].super_Object.name_.field_2" (field_expression "this_00.object[1].super_Object.name_" (field_expression "this_00.object[1].super_Object" (subscript_expression "this_00.object[1]" (field_expression "this_00.object" identifier . field_identifier) [ number_literal ]) . field_identifier) . field_identifier) . field_identifier))) + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)((int)&this_00.object[1].super_Object.name_.field_2 + 0xc) = 0;" (assignment_expression "*(undefined4 *)((int)&this_00.object[1].super_Object.name_.field_2 + 0xc) = 0" (pointer_expression "*(undefined4 *)((int)&this_00.object[1].super_Object.name_.field_2 + 0xc)" * (cast_expression "(undefined4 *)((int)&this_00.object[1].super_Object.name_.field_2 + 0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&this_00.object[1].super_Object.name_.field_2 + 0xc)" ( (binary_expression "(int)&this_00.object[1].super_Object.name_.field_2 + 0xc" (cast_expression "(int)&this_00.object[1].super_Object.name_.field_2" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&this_00.object[1].super_Object.name_.field_2" & (field_expression "this_00.object[1].super_Object.name_.field_2" (field_expression "this_00.object[1].super_Object.name_" (field_expression "this_00.object[1].super_Object" (subscript_expression "this_00.object[1]" (field_expression "this_00.object" identifier . field_identifier) [ number_literal ]) . field_identifier) . field_identifier) . field_identifier))) + number_literal) )))) = number_literal) ;) (expression_statement "this_00.object[1].super_Object.input_file_ = (Input_file *)0x0;" (assignment_expression "this_00.object[1].super_Object.input_file_ = (Input_file *)0x0" (field_expression "this_00.object[1].super_Object.input_file_" (field_expression "this_00.object[1].super_Object" (subscript_expression "this_00.object[1]" (field_expression "this_00.object" identifier . field_identifier) [ number_literal ]) . field_identifier) . field_identifier) = (cast_expression "(Input_file *)0x0" ( (type_descriptor "Input_file *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "*(undefined4 *)&this_00.object[1].super_Object.offset_ = 0;" (assignment_expression "*(undefined4 *)&this_00.object[1].super_Object.offset_ = 0" (pointer_expression "*(undefined4 *)&this_00.object[1].super_Object.offset_" * (cast_expression "(undefined4 *)&this_00.object[1].super_Object.offset_" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&this_00.object[1].super_Object.offset_" & (field_expression "this_00.object[1].super_Object.offset_" (field_expression "this_00.object[1].super_Object" (subscript_expression "this_00.object[1]" (field_expression "this_00.object" identifier . field_identifier) [ number_literal ]) . field_identifier) . field_identifier)))) = number_literal) ;) (expression_statement "*(undefined1 *)((int)&this_00.object[1].super_Object.offset_ + 4) = 0;" (assignment_expression "*(undefined1 *)((int)&this_00.object[1].super_Object.offset_ + 4) = 0" (pointer_expression "*(undefined1 *)((int)&this_00.object[1].super_Object.offset_ + 4)" * (cast_expression "(undefined1 *)((int)&this_00.object[1].super_Object.offset_ + 4)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&this_00.object[1].super_Object.offset_ + 4)" ( (binary_expression "(int)&this_00.object[1].super_Object.offset_ + 4" (cast_expression "(int)&this_00.object[1].super_Object.offset_" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&this_00.object[1].super_Object.offset_" & (field_expression "this_00.object[1].super_Object.offset_" (field_expression "this_00.object[1].super_Object" (subscript_expression "this_00.object[1]" (field_expression "this_00.object" identifier . field_identifier) [ number_literal ]) . field_identifier) . field_identifier))) + number_literal) )))) = number_literal) ;) (expression_statement "this_00.object[1].super_Object.shnum_ = (int)((int)p_Var3 - _Var4) >> 2;" (assignment_expression "this_00.object[1].super_Object.shnum_ = (int)((int)p_Var3 - _Var4) >> 2" (field_expression "this_00.object[1].super_Object.shnum_" (field_expression "this_00.object[1].super_Object" (subscript_expression "this_00.object[1]" (field_expression "this_00.object" identifier . field_identifier) [ number_literal ]) . field_identifier) . field_identifier) = (binary_expression "(int)((int)p_Var3 - _Var4) >> 2" (cast_expression "(int)((int)p_Var3 - _Var4)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((int)p_Var3 - _Var4)" ( (binary_expression "(int)p_Var3 - _Var4" (cast_expression "(int)p_Var3" ( (type_descriptor "int" primitive_type) ) identifier) - identifier) ))) >> number_literal)) ;) (expression_statement "*(undefined4 *)&this_00.object[1].super_Object.field_0x2c = 0xffffffff;" (assignment_expression "*(undefined4 *)&this_00.object[1].super_Object.field_0x2c = 0xffffffff" (pointer_expression "*(undefined4 *)&this_00.object[1].super_Object.field_0x2c" * (cast_expression "(undefined4 *)&this_00.object[1].super_Object.field_0x2c" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&this_00.object[1].super_Object.field_0x2c" & (field_expression "this_00.object[1].super_Object.field_0x2c" (field_expression "this_00.object[1].super_Object" (subscript_expression "this_00.object[1]" (field_expression "this_00.object" identifier . field_identifier) [ number_literal ]) . field_identifier) . field_identifier)))) = number_literal) ;) (expression_statement "this_00.object[1].super_Object.xindex_ = (Xindex *)0x0;" (assignment_expression "this_00.object[1].super_Object.xindex_ = (Xindex *)0x0" (field_expression "this_00.object[1].super_Object.xindex_" (field_expression "this_00.object[1].super_Object" (subscript_expression "this_00.object[1]" (field_expression "this_00.object" identifier . field_identifier) [ number_literal ]) . field_identifier) . field_identifier) = (cast_expression "(Xindex *)0x0" ( (type_descriptor "Xindex *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (labeled_statement "gold::Output_section_data::set_output_section(this_00.posd,pOVar17);" statement_identifier : (ERROR ":" :) (labeled_statement "Output_section_data::set_output_section(this_00.posd,pOVar17);" statement_identifier : (ERROR ":" :) (expression_statement "set_output_section(this_00.posd,pOVar17);" (call_expression "set_output_section(this_00.posd,pOVar17)" identifier (argument_list "(this_00.posd,pOVar17)" ( (field_expression "this_00.posd" identifier . field_identifier) , identifier ))) ;))) (expression_statement "new_relaxed.\n        super__Vector_base<gold::Output_relaxed_input_section*,_std::allocator<gold::Output_relaxed_input_section*>_>\n        ._M_impl._M_start = (pointer)0x0;" (assignment_expression "new_relaxed.\n        super__Vector_base<gold::Output_relaxed_input_section*,_std::allocator<gold::Output_relaxed_input_section*>_>\n        ._M_impl._M_start = (pointer)0x0" (field_expression "new_relaxed.\n        super__Vector_base<gold::Output_relaxed_input_section*,_std::allocator<gold::Output_relaxed_input_section*>_>\n        ._M_impl._M_start" (field_expression "new_relaxed.\n        super__Vector_base<gold::Output_relaxed_input_section*,_std::allocator<gold::Output_relaxed_input_section*>_>\n        ._M_impl" (binary_expression "new_relaxed.\n        super__Vector_base<gold::Output_relaxed_input_section*,_std::allocator<gold::Output_relaxed_input_section*>_" (binary_expression "new_relaxed.\n        super__Vector_base<gold::Output_relaxed_input_section*,_std::allocator<gold" (binary_expression "new_relaxed.\n        super__Vector_base<gold::Output_relaxed_input_section*,_std" (binary_expression "new_relaxed.\n        super__Vector_base<gold" (field_expression "new_relaxed.\n        super__Vector_base" identifier . field_identifier) < identifier) (ERROR "::Output_relaxed_input_section" : : identifier) * (ERROR "," ,) identifier) (ERROR "::allocator" : : identifier) < identifier) (ERROR "::Output_relaxed_input_section" : : identifier) * (ERROR ">" >) identifier) (ERROR ">" >) . field_identifier) . field_identifier) = (cast_expression "(pointer)0x0" ( (type_descriptor "pointer" type_identifier) ) number_literal)) ;) (expression_statement "new_relaxed.\n        super__Vector_base<gold::Output_relaxed_input_section*,_std::allocator<gold::Output_relaxed_input_section*>_>\n        ._M_impl._M_finish = (pointer)0x0;" (assignment_expression "new_relaxed.\n        super__Vector_base<gold::Output_relaxed_input_section*,_std::allocator<gold::Output_relaxed_input_section*>_>\n        ._M_impl._M_finish = (pointer)0x0" (field_expression "new_relaxed.\n        super__Vector_base<gold::Output_relaxed_input_section*,_std::allocator<gold::Output_relaxed_input_section*>_>\n        ._M_impl._M_finish" (field_expression "new_relaxed.\n        super__Vector_base<gold::Output_relaxed_input_section*,_std::allocator<gold::Output_relaxed_input_section*>_>\n        ._M_impl" (binary_expression "new_relaxed.\n        super__Vector_base<gold::Output_relaxed_input_section*,_std::allocator<gold::Output_relaxed_input_section*>_" (binary_expression "new_relaxed.\n        super__Vector_base<gold::Output_relaxed_input_section*,_std::allocator<gold" (binary_expression "new_relaxed.\n        super__Vector_base<gold::Output_relaxed_input_section*,_std" (binary_expression "new_relaxed.\n        super__Vector_base<gold" (field_expression "new_relaxed.\n        super__Vector_base" identifier . field_identifier) < identifier) (ERROR "::Output_relaxed_input_section" : : identifier) * (ERROR "," ,) identifier) (ERROR "::allocator" : : identifier) < identifier) (ERROR "::Output_relaxed_input_section" : : identifier) * (ERROR ">" >) identifier) (ERROR ">" >) . field_identifier) . field_identifier) = (cast_expression "(pointer)0x0" ( (type_descriptor "pointer" type_identifier) ) number_literal)) ;) (expression_statement "new_relaxed.\n        super__Vector_base<gold::Output_relaxed_input_section*,_std::allocator<gold::Output_relaxed_input_section*>_>\n        ._M_impl._M_end_of_storage = (pointer)0x0;" (assignment_expression "new_relaxed.\n        super__Vector_base<gold::Output_relaxed_input_section*,_std::allocator<gold::Output_relaxed_input_section*>_>\n        ._M_impl._M_end_of_storage = (pointer)0x0" (field_expression "new_relaxed.\n        super__Vector_base<gold::Output_relaxed_input_section*,_std::allocator<gold::Output_relaxed_input_section*>_>\n        ._M_impl._M_end_of_storage" (field_expression "new_relaxed.\n        super__Vector_base<gold::Output_relaxed_input_section*,_std::allocator<gold::Output_relaxed_input_section*>_>\n        ._M_impl" (binary_expression "new_relaxed.\n        super__Vector_base<gold::Output_relaxed_input_section*,_std::allocator<gold::Output_relaxed_input_section*>_" (binary_expression "new_relaxed.\n        super__Vector_base<gold::Output_relaxed_input_section*,_std::allocator<gold" (binary_expression "new_relaxed.\n        super__Vector_base<gold::Output_relaxed_input_section*,_std" (binary_expression "new_relaxed.\n        super__Vector_base<gold" (field_expression "new_relaxed.\n        super__Vector_base" identifier . field_identifier) < identifier) (ERROR "::Output_relaxed_input_section" : : identifier) * (ERROR "," ,) identifier) (ERROR "::allocator" : : identifier) < identifier) (ERROR "::Output_relaxed_input_section" : : identifier) * (ERROR ">" >) identifier) (ERROR ">" >) . field_identifier) . field_identifier) = (cast_expression "(pointer)0x0" ( (type_descriptor "pointer" type_identifier) ) number_literal)) ;) (expression_statement "local_64.object = this_00.object;" (assignment_expression "local_64.object = this_00.object" (field_expression "local_64.object" identifier . field_identifier) = (field_expression "this_00.object" identifier . field_identifier)) ;) comment (ERROR "std::\n        vector<gold::Output_relaxed_input_section*,_std::allocator<gold::Output_relaxed_input_section*>_>\n        ::emplace_back<gold::" (comma_expression "std::\n        vector<gold::Output_relaxed_input_section*,_std" identifier (ERROR "::\n        vector<gold::Output_relaxed_input_section*" : : (binary_expression "vector<gold" identifier < identifier) : : identifier *) , identifier) : : (binary_expression "allocator<gold" identifier < identifier) : : (binary_expression "Output_relaxed_input_section*>_>\n        ::emplace_back<gold" (binary_expression "Output_relaxed_input_section*>_>\n        ::emplace_back" (binary_expression "Output_relaxed_input_section*>_" identifier * (ERROR ">" >) identifier) > (ERROR "::" : :) identifier) < identifier) : :) (expression_statement "Output_relaxed_input_section*>(&new_relaxed,&local_64.poris);" (binary_expression "Output_relaxed_input_section*>(&new_relaxed,&local_64.poris)" (binary_expression "Output_relaxed_input_section*" identifier * identifier) > (parenthesized_expression "(&new_relaxed,&local_64.poris)" ( (comma_expression "&new_relaxed,&local_64.poris" (pointer_expression "&new_relaxed" & identifier) , (pointer_expression "&local_64.poris" & (field_expression "local_64.poris" identifier . field_identifier))) ))) ;) (labeled_statement "gold::Output_section::convert_input_sections_to_relaxed_sections(pOVar17,&new_relaxed);" statement_identifier : (ERROR ":" :) (labeled_statement "Output_section::convert_input_sections_to_relaxed_sections(pOVar17,&new_relaxed);" statement_identifier : (ERROR ":" :) (expression_statement "convert_input_sections_to_relaxed_sections(pOVar17,&new_relaxed);" (call_expression "convert_input_sections_to_relaxed_sections(pOVar17,&new_relaxed)" identifier (argument_list "(pOVar17,&new_relaxed)" ( identifier , (pointer_expression "&new_relaxed" & identifier) ))) ;))) (if_statement "if (new_relaxed.\n            super__Vector_base<gold::Output_relaxed_input_section*,_std::allocator<gold::Output_relaxed_input_section*>_>\n            ._M_impl._M_start == (pointer)0x0) goto LAB_0006f914;" if (parenthesized_expression "(new_relaxed.\n            super__Vector_base<gold::Output_relaxed_input_section*,_std::allocator<gold::Output_relaxed_input_section*>_>\n            ._M_impl._M_start == (pointer)0x0)" ( (binary_expression "new_relaxed.\n            super__Vector_base<gold::Output_relaxed_input_section*,_std::allocator<gold::Output_relaxed_input_section*>_>\n            ._M_impl._M_start == (pointer)0x0" (field_expression "new_relaxed.\n            super__Vector_base<gold::Output_relaxed_input_section*,_std::allocator<gold::Output_relaxed_input_section*>_>\n            ._M_impl._M_start" (field_expression "new_relaxed.\n            super__Vector_base<gold::Output_relaxed_input_section*,_std::allocator<gold::Output_relaxed_input_section*>_>\n            ._M_impl" (binary_expression "new_relaxed.\n            super__Vector_base<gold::Output_relaxed_input_section*,_std::allocator<gold::Output_relaxed_input_section*>_" (binary_expression "new_relaxed.\n            super__Vector_base<gold::Output_relaxed_input_section*,_std::allocator<gold" (binary_expression "new_relaxed.\n            super__Vector_base<gold::Output_relaxed_input_section*,_std" (binary_expression "new_relaxed.\n            super__Vector_base<gold" (field_expression "new_relaxed.\n            super__Vector_base" identifier . field_identifier) < identifier) (ERROR "::Output_relaxed_input_section" : : identifier) * (ERROR "," ,) identifier) (ERROR "::allocator" : : identifier) < identifier) (ERROR "::Output_relaxed_input_section" : : identifier) * (ERROR ">" >) identifier) (ERROR ">" >) . field_identifier) . field_identifier) == (cast_expression "(pointer)0x0" ( (type_descriptor "pointer" type_identifier) ) number_literal)) )) (goto_statement "goto LAB_0006f914;" goto statement_identifier ;)) (expression_statement "operator_delete(new_relaxed.\n                        super__Vector_base<gold::Output_relaxed_input_section*,_std::allocator<gold::Output_relaxed_input_section*>_>\n                        ._M_impl._M_start);" (call_expression "operator_delete(new_relaxed.\n                        super__Vector_base<gold::Output_relaxed_input_section*,_std::allocator<gold::Output_relaxed_input_section*>_>\n                        ._M_impl._M_start)" identifier (argument_list "(new_relaxed.\n                        super__Vector_base<gold::Output_relaxed_input_section*,_std::allocator<gold::Output_relaxed_input_section*>_>\n                        ._M_impl._M_start)" ( (field_expression "new_relaxed.\n                        super__Vector_base<gold::Output_relaxed_input_section*,_std::allocator<gold::Output_relaxed_input_section*>_>\n                        ._M_impl._M_start" (field_expression "new_relaxed.\n                        super__Vector_base<gold::Output_relaxed_input_section*,_std::allocator<gold::Output_relaxed_input_section*>_>\n                        ._M_impl" (binary_expression "new_relaxed.\n                        super__Vector_base<gold::Output_relaxed_input_section*,_std::allocator<gold::Output_relaxed_input_section*>_" (binary_expression "new_relaxed.\n                        super__Vector_base<gold::Output_relaxed_input_section*,_std::allocator<gold" (binary_expression "new_relaxed.\n                        super__Vector_base<gold::Output_relaxed_input_section*,_std" (binary_expression "new_relaxed.\n                        super__Vector_base<gold" (field_expression "new_relaxed.\n                        super__Vector_base" identifier . field_identifier) < identifier) (ERROR "::Output_relaxed_input_section" : : identifier) * (ERROR "," ,) identifier) (ERROR "::allocator" : : identifier) < identifier) (ERROR "::Output_relaxed_input_section" : : identifier) * (ERROR ">" >) identifier) (ERROR ">" >) . field_identifier) . field_identifier) ))) ;) (expression_statement "paVar14 = (anon_union_4_4_139239c7_for_u2_ *)\n                  pCVar6[3]._M_t._M_impl.super__Rb_tree_header._M_header._M_parent;" (assignment_expression "paVar14 = (anon_union_4_4_139239c7_for_u2_ *)\n                  pCVar6[3]._M_t._M_impl.super__Rb_tree_header._M_header._M_parent" identifier = (cast_expression "(anon_union_4_4_139239c7_for_u2_ *)\n                  pCVar6[3]._M_t._M_impl.super__Rb_tree_header._M_header._M_parent" ( (type_descriptor "anon_union_4_4_139239c7_for_u2_ *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "pCVar6[3]._M_t._M_impl.super__Rb_tree_header._M_header._M_parent" (field_expression "pCVar6[3]._M_t._M_impl.super__Rb_tree_header._M_header" (field_expression "pCVar6[3]._M_t._M_impl.super__Rb_tree_header" (field_expression "pCVar6[3]._M_t._M_impl" (field_expression "pCVar6[3]._M_t" (subscript_expression "pCVar6[3]" identifier [ number_literal ]) . field_identifier) . field_identifier) . field_identifier) . field_identifier) . field_identifier))) ;) (if_statement "if (paVar14 !=\n            (anon_union_4_4_139239c7_for_u2_ *)\n            pCVar6[3]._M_t._M_impl.super__Rb_tree_header._M_header._M_left) goto LAB_0006f926;" if (parenthesized_expression "(paVar14 !=\n            (anon_union_4_4_139239c7_for_u2_ *)\n            pCVar6[3]._M_t._M_impl.super__Rb_tree_header._M_header._M_left)" ( (binary_expression "paVar14 !=\n            (anon_union_4_4_139239c7_for_u2_ *)\n            pCVar6[3]._M_t._M_impl.super__Rb_tree_header._M_header._M_left" identifier != (cast_expression "(anon_union_4_4_139239c7_for_u2_ *)\n            pCVar6[3]._M_t._M_impl.super__Rb_tree_header._M_header._M_left" ( (type_descriptor "anon_union_4_4_139239c7_for_u2_ *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "pCVar6[3]._M_t._M_impl.super__Rb_tree_header._M_header._M_left" (field_expression "pCVar6[3]._M_t._M_impl.super__Rb_tree_header._M_header" (field_expression "pCVar6[3]._M_t._M_impl.super__Rb_tree_header" (field_expression "pCVar6[3]._M_t._M_impl" (field_expression "pCVar6[3]._M_t" (subscript_expression "pCVar6[3]" identifier [ number_literal ]) . field_identifier) . field_identifier) . field_identifier) . field_identifier) . field_identifier))) )) (goto_statement "goto LAB_0006f926;" goto statement_identifier ;)) (labeled_statement "LAB_0006fbb0:\n        __src = (anon_union_4_4_139239c7_for_u2_ *)\n                pCVar6[3]._M_t._M_impl.super__Rb_tree_header._M_header._M_color;" statement_identifier : (expression_statement "__src = (anon_union_4_4_139239c7_for_u2_ *)\n                pCVar6[3]._M_t._M_impl.super__Rb_tree_header._M_header._M_color;" (assignment_expression "__src = (anon_union_4_4_139239c7_for_u2_ *)\n                pCVar6[3]._M_t._M_impl.super__Rb_tree_header._M_header._M_color" identifier = (cast_expression "(anon_union_4_4_139239c7_for_u2_ *)\n                pCVar6[3]._M_t._M_impl.super__Rb_tree_header._M_header._M_color" ( (type_descriptor "anon_union_4_4_139239c7_for_u2_ *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "pCVar6[3]._M_t._M_impl.super__Rb_tree_header._M_header._M_color" (field_expression "pCVar6[3]._M_t._M_impl.super__Rb_tree_header._M_header" (field_expression "pCVar6[3]._M_t._M_impl.super__Rb_tree_header" (field_expression "pCVar6[3]._M_t._M_impl" (field_expression "pCVar6[3]._M_t" (subscript_expression "pCVar6[3]" identifier [ number_literal ]) . field_identifier) . field_identifier) . field_identifier) . field_identifier) . field_identifier))) ;)) (expression_statement "__n = (int)paVar14 - (int)__src;" (assignment_expression "__n = (int)paVar14 - (int)__src" identifier = (binary_expression "(int)paVar14 - (int)__src" (cast_expression "(int)paVar14" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)__src" ( (type_descriptor "int" primitive_type) ) identifier))) ;) (expression_statement "uVar9 = (int)__n >> 2;" (assignment_expression "uVar9 = (int)__n >> 2" identifier = (binary_expression "(int)__n >> 2" (cast_expression "(int)__n" ( (type_descriptor "int" primitive_type) ) identifier) >> number_literal)) ;) (if_statement "if (uVar9 == 0) {\n          local_8c = (_Base_ptr)0x4;\nLAB_0006fbe3:\n                    /* try { // try from 0006fbef to 0006fc9a has its CatchHandler @ 0006fd94 */\n          __dest = operator_new((uint)local_8c);\n          local_8c = (_Base_ptr)((int)local_8c + (int)__dest);\n        }\n        else {\n          local_8c = (_Base_ptr)0xfffffffc;\n          uVar7 = uVar9 * 2;\n          if ((uVar7 < uVar9) || (0x3fffffff < uVar7)) goto LAB_0006fbe3;\n          if (uVar7 != 0) {\n            local_8c = (_Base_ptr)(uVar9 << 3);\n            goto LAB_0006fbe3;\n          }\n          local_8c = (_Base_ptr)0x0;\n          __dest = (void *)0x0;\n        }" if (parenthesized_expression "(uVar9 == 0)" ( (binary_expression "uVar9 == 0" identifier == number_literal) )) (compound_statement "{\n          local_8c = (_Base_ptr)0x4;\nLAB_0006fbe3:\n                    /* try { // try from 0006fbef to 0006fc9a has its CatchHandler @ 0006fd94 */\n          __dest = operator_new((uint)local_8c);\n          local_8c = (_Base_ptr)((int)local_8c + (int)__dest);\n        }" { (expression_statement "local_8c = (_Base_ptr)0x4;" (assignment_expression "local_8c = (_Base_ptr)0x4" identifier = (cast_expression "(_Base_ptr)0x4" ( (type_descriptor "_Base_ptr" type_identifier) ) number_literal)) ;) (labeled_statement "LAB_0006fbe3:\n                    /* try { // try from 0006fbef to 0006fc9a has its CatchHandler @ 0006fd94 */\n          __dest = operator_new((uint)local_8c);" statement_identifier : comment (expression_statement "__dest = operator_new((uint)local_8c);" (assignment_expression "__dest = operator_new((uint)local_8c)" identifier = (call_expression "operator_new((uint)local_8c)" identifier (argument_list "((uint)local_8c)" ( (cast_expression "(uint)local_8c" ( (type_descriptor "uint" type_identifier) ) identifier) )))) ;)) (expression_statement "local_8c = (_Base_ptr)((int)local_8c + (int)__dest);" (assignment_expression "local_8c = (_Base_ptr)((int)local_8c + (int)__dest)" identifier = (call_expression "(_Base_ptr)((int)local_8c + (int)__dest)" (parenthesized_expression "(_Base_ptr)" ( identifier )) (argument_list "((int)local_8c + (int)__dest)" ( (binary_expression "(int)local_8c + (int)__dest" (cast_expression "(int)local_8c" ( (type_descriptor "int" primitive_type) ) identifier) + (cast_expression "(int)__dest" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) }) (else_clause "else {\n          local_8c = (_Base_ptr)0xfffffffc;\n          uVar7 = uVar9 * 2;\n          if ((uVar7 < uVar9) || (0x3fffffff < uVar7)) goto LAB_0006fbe3;\n          if (uVar7 != 0) {\n            local_8c = (_Base_ptr)(uVar9 << 3);\n            goto LAB_0006fbe3;\n          }\n          local_8c = (_Base_ptr)0x0;\n          __dest = (void *)0x0;\n        }" else (compound_statement "{\n          local_8c = (_Base_ptr)0xfffffffc;\n          uVar7 = uVar9 * 2;\n          if ((uVar7 < uVar9) || (0x3fffffff < uVar7)) goto LAB_0006fbe3;\n          if (uVar7 != 0) {\n            local_8c = (_Base_ptr)(uVar9 << 3);\n            goto LAB_0006fbe3;\n          }\n          local_8c = (_Base_ptr)0x0;\n          __dest = (void *)0x0;\n        }" { (expression_statement "local_8c = (_Base_ptr)0xfffffffc;" (assignment_expression "local_8c = (_Base_ptr)0xfffffffc" identifier = (cast_expression "(_Base_ptr)0xfffffffc" ( (type_descriptor "_Base_ptr" type_identifier) ) number_literal)) ;) (expression_statement "uVar7 = uVar9 * 2;" (assignment_expression "uVar7 = uVar9 * 2" identifier = (binary_expression "uVar9 * 2" identifier * number_literal)) ;) (if_statement "if ((uVar7 < uVar9) || (0x3fffffff < uVar7)) goto LAB_0006fbe3;" if (parenthesized_expression "((uVar7 < uVar9) || (0x3fffffff < uVar7))" ( (binary_expression "(uVar7 < uVar9) || (0x3fffffff < uVar7)" (parenthesized_expression "(uVar7 < uVar9)" ( (binary_expression "uVar7 < uVar9" identifier < identifier) )) || (parenthesized_expression "(0x3fffffff < uVar7)" ( (binary_expression "0x3fffffff < uVar7" number_literal < identifier) ))) )) (goto_statement "goto LAB_0006fbe3;" goto statement_identifier ;)) (if_statement "if (uVar7 != 0) {\n            local_8c = (_Base_ptr)(uVar9 << 3);\n            goto LAB_0006fbe3;\n          }" if (parenthesized_expression "(uVar7 != 0)" ( (binary_expression "uVar7 != 0" identifier != number_literal) )) (compound_statement "{\n            local_8c = (_Base_ptr)(uVar9 << 3);\n            goto LAB_0006fbe3;\n          }" { (expression_statement "local_8c = (_Base_ptr)(uVar9 << 3);" (assignment_expression "local_8c = (_Base_ptr)(uVar9 << 3)" identifier = (call_expression "(_Base_ptr)(uVar9 << 3)" (parenthesized_expression "(_Base_ptr)" ( identifier )) (argument_list "(uVar9 << 3)" ( (binary_expression "uVar9 << 3" identifier << number_literal) )))) ;) (goto_statement "goto LAB_0006fbe3;" goto statement_identifier ;) })) (expression_statement "local_8c = (_Base_ptr)0x0;" (assignment_expression "local_8c = (_Base_ptr)0x0" identifier = (cast_expression "(_Base_ptr)0x0" ( (type_descriptor "_Base_ptr" type_identifier) ) number_literal)) ;) (expression_statement "__dest = (void *)0x0;" (assignment_expression "__dest = (void *)0x0" identifier = (cast_expression "(void *)0x0" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }))) (expression_statement "((anon_union_4_4_139239c7_for_u2_ *)((int)__dest + __n))->object = (Relobj *)this_00;" (assignment_expression "((anon_union_4_4_139239c7_for_u2_ *)((int)__dest + __n))->object = (Relobj *)this_00" (field_expression "((anon_union_4_4_139239c7_for_u2_ *)((int)__dest + __n))->object" (parenthesized_expression "((anon_union_4_4_139239c7_for_u2_ *)((int)__dest + __n))" ( (cast_expression "(anon_union_4_4_139239c7_for_u2_ *)((int)__dest + __n)" ( (type_descriptor "anon_union_4_4_139239c7_for_u2_ *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)__dest + __n)" ( (binary_expression "(int)__dest + __n" (cast_expression "(int)__dest" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) ))) )) -> field_identifier) = (cast_expression "(Relobj *)this_00" ( (type_descriptor "Relobj *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (if_statement "if (paVar14 == __src) {\n          if (__src != (anon_union_4_4_139239c7_for_u2_ *)0x0) goto LAB_0006fc33;\n        }\n        else {\n          memmove(__dest,__src,__n);\nLAB_0006fc33:\n          operator_delete(__src);\n        }" if (parenthesized_expression "(paVar14 == __src)" ( (binary_expression "paVar14 == __src" identifier == identifier) )) (compound_statement "{\n          if (__src != (anon_union_4_4_139239c7_for_u2_ *)0x0) goto LAB_0006fc33;\n        }" { (if_statement "if (__src != (anon_union_4_4_139239c7_for_u2_ *)0x0) goto LAB_0006fc33;" if (parenthesized_expression "(__src != (anon_union_4_4_139239c7_for_u2_ *)0x0)" ( (binary_expression "__src != (anon_union_4_4_139239c7_for_u2_ *)0x0" identifier != (cast_expression "(anon_union_4_4_139239c7_for_u2_ *)0x0" ( (type_descriptor "anon_union_4_4_139239c7_for_u2_ *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_0006fc33;" goto statement_identifier ;)) }) (else_clause "else {\n          memmove(__dest,__src,__n);\nLAB_0006fc33:\n          operator_delete(__src);\n        }" else (compound_statement "{\n          memmove(__dest,__src,__n);\nLAB_0006fc33:\n          operator_delete(__src);\n        }" { (expression_statement "memmove(__dest,__src,__n);" (call_expression "memmove(__dest,__src,__n)" identifier (argument_list "(__dest,__src,__n)" ( identifier , identifier , identifier ))) ;) (labeled_statement "LAB_0006fc33:\n          operator_delete(__src);" statement_identifier : (expression_statement "operator_delete(__src);" (call_expression "operator_delete(__src)" identifier (argument_list "(__src)" ( identifier ))) ;)) }))) (expression_statement "pCVar6[3]._M_t._M_impl.super__Rb_tree_header._M_header._M_color = (_Rb_tree_color)__dest;" (assignment_expression "pCVar6[3]._M_t._M_impl.super__Rb_tree_header._M_header._M_color = (_Rb_tree_color)__dest" (field_expression "pCVar6[3]._M_t._M_impl.super__Rb_tree_header._M_header._M_color" (field_expression "pCVar6[3]._M_t._M_impl.super__Rb_tree_header._M_header" (field_expression "pCVar6[3]._M_t._M_impl.super__Rb_tree_header" (field_expression "pCVar6[3]._M_t._M_impl" (field_expression "pCVar6[3]._M_t" (subscript_expression "pCVar6[3]" identifier [ number_literal ]) . field_identifier) . field_identifier) . field_identifier) . field_identifier) . field_identifier) = (cast_expression "(_Rb_tree_color)__dest" ( (type_descriptor "_Rb_tree_color" type_identifier) ) identifier)) ;) (expression_statement "pCVar6[3]._M_t._M_impl.super__Rb_tree_header._M_header._M_parent =\n             (_Base_ptr)((int)__dest + __n + 4);" (assignment_expression "pCVar6[3]._M_t._M_impl.super__Rb_tree_header._M_header._M_parent =\n             (_Base_ptr)((int)__dest + __n + 4)" (field_expression "pCVar6[3]._M_t._M_impl.super__Rb_tree_header._M_header._M_parent" (field_expression "pCVar6[3]._M_t._M_impl.super__Rb_tree_header._M_header" (field_expression "pCVar6[3]._M_t._M_impl.super__Rb_tree_header" (field_expression "pCVar6[3]._M_t._M_impl" (field_expression "pCVar6[3]._M_t" (subscript_expression "pCVar6[3]" identifier [ number_literal ]) . field_identifier) . field_identifier) . field_identifier) . field_identifier) . field_identifier) = (call_expression "(_Base_ptr)((int)__dest + __n + 4)" (parenthesized_expression "(_Base_ptr)" ( identifier )) (argument_list "((int)__dest + __n + 4)" ( (binary_expression "(int)__dest + __n + 4" (binary_expression "(int)__dest + __n" (cast_expression "(int)__dest" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + number_literal) )))) ;) (expression_statement "pCVar6[3]._M_t._M_impl.super__Rb_tree_header._M_header._M_left = local_8c;" (assignment_expression "pCVar6[3]._M_t._M_impl.super__Rb_tree_header._M_header._M_left = local_8c" (field_expression "pCVar6[3]._M_t._M_impl.super__Rb_tree_header._M_header._M_left" (field_expression "pCVar6[3]._M_t._M_impl.super__Rb_tree_header._M_header" (field_expression "pCVar6[3]._M_t._M_impl.super__Rb_tree_header" (field_expression "pCVar6[3]._M_t._M_impl" (field_expression "pCVar6[3]._M_t" (subscript_expression "pCVar6[3]" identifier [ number_literal ]) . field_identifier) . field_identifier) . field_identifier) . field_identifier) . field_identifier) = identifier) ;) }))) (expression_statement "operator_delete((Stub_table_owner *)*local_7c,8);" (call_expression "operator_delete((Stub_table_owner *)*local_7c,8)" identifier (argument_list "((Stub_table_owner *)*local_7c,8)" ( (cast_expression "(Stub_table_owner *)*local_7c" ( (type_descriptor "Stub_table_owner *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*local_7c" * identifier)) , number_literal ))) ;) (expression_statement "local_7c = local_7c + 1;" (assignment_expression "local_7c = local_7c + 1" identifier = (binary_expression "local_7c + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "((pointer)tables.\n                      super__Vector_base<(anonymous_namespace)::Stub_table_owner*,_std::allocator<(anonymous_namespace)::Stub_table_owner*>_>\n                      ._M_impl._M_finish != local_7c)" ( (binary_expression "(pointer)tables.\n                      super__Vector_base<(anonymous_namespace)::Stub_table_owner*,_std::allocator<(anonymous_namespace)::Stub_table_owner*>_>\n                      ._M_impl._M_finish != local_7c" (field_expression "(pointer)tables.\n                      super__Vector_base<(anonymous_namespace)::Stub_table_owner*,_std::allocator<(anonymous_namespace)::Stub_table_owner*>_>\n                      ._M_impl._M_finish" (field_expression "(pointer)tables.\n                      super__Vector_base<(anonymous_namespace)::Stub_table_owner*,_std::allocator<(anonymous_namespace)::Stub_table_owner*>_>\n                      ._M_impl" (binary_expression "(pointer)tables.\n                      super__Vector_base<(anonymous_namespace)::Stub_table_owner*,_std::allocator<(anonymous_namespace)::Stub_table_owner*>_" (binary_expression "(pointer)tables.\n                      super__Vector_base<(anonymous_namespace)::Stub_table_owner*,_std::allocator<(anonymous_namespace)" (binary_expression "(pointer)tables.\n                      super__Vector_base<(anonymous_namespace)::Stub_table_owner*,_std" (binary_expression "(pointer)tables.\n                      super__Vector_base<(anonymous_namespace)" (cast_expression "(pointer)tables.\n                      super__Vector_base" ( (type_descriptor "pointer" type_identifier) ) (field_expression "tables.\n                      super__Vector_base" identifier . field_identifier)) < (parenthesized_expression "(anonymous_namespace)" ( identifier ))) (ERROR "::Stub_table_owner" : : identifier) * (ERROR "," ,) identifier) (ERROR "::allocator" : : identifier) < (parenthesized_expression "(anonymous_namespace)" ( identifier ))) (ERROR "::Stub_table_owner" : : identifier) * (ERROR ">" >) identifier) (ERROR ">" >) . field_identifier) . field_identifier) != identifier) )) ;) })) (if_statement "if (section_list.super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n      ._M_impl._M_start != (pointer)0x0) {\n    operator_delete(section_list.\n                    super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                    ._M_impl._M_start);\n  }" if (parenthesized_expression "(section_list.super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n      ._M_impl._M_start != (pointer)0x0)" ( (binary_expression "section_list.super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n      ._M_impl._M_start != (pointer)0x0" (field_expression "section_list.super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n      ._M_impl._M_start" (field_expression "section_list.super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n      ._M_impl" (binary_expression "section_list.super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_" (binary_expression "section_list.super__Vector_base<gold::Output_section*,_std::allocator<gold" (binary_expression "section_list.super__Vector_base<gold::Output_section*,_std" (binary_expression "section_list.super__Vector_base<gold" (field_expression "section_list.super__Vector_base" identifier . field_identifier) < identifier) (ERROR "::Output_section" : : identifier) * (ERROR "," ,) identifier) (ERROR "::allocator" : : identifier) < identifier) (ERROR "::Output_section" : : identifier) * (ERROR ">" >) identifier) (ERROR ">" >) . field_identifier) . field_identifier) != (cast_expression "(pointer)0x0" ( (type_descriptor "pointer" type_identifier) ) number_literal)) )) (compound_statement "{\n    operator_delete(section_list.\n                    super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                    ._M_impl._M_start);\n  }" { (expression_statement "operator_delete(section_list.\n                    super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                    ._M_impl._M_start);" (call_expression "operator_delete(section_list.\n                    super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                    ._M_impl._M_start)" identifier (argument_list "(section_list.\n                    super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                    ._M_impl._M_start)" ( (field_expression "section_list.\n                    super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                    ._M_impl._M_start" (field_expression "section_list.\n                    super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                    ._M_impl" (binary_expression "section_list.\n                    super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_" (binary_expression "section_list.\n                    super__Vector_base<gold::Output_section*,_std::allocator<gold" (binary_expression "section_list.\n                    super__Vector_base<gold::Output_section*,_std" (binary_expression "section_list.\n                    super__Vector_base<gold" (field_expression "section_list.\n                    super__Vector_base" identifier . field_identifier) < identifier) (ERROR "::Output_section" : : identifier) * (ERROR "," ,) identifier) (ERROR "::allocator" : : identifier) < identifier) (ERROR "::Output_section" : : identifier) * (ERROR ">" >) identifier) (ERROR ">" >) . field_identifier) . field_identifier) ))) ;) })) (if_statement "if (tables.\n      super__Vector_base<(anonymous_namespace)::Stub_table_owner*,_std::allocator<(anonymous_namespace)::Stub_table_owner*>_>\n      ._M_impl._M_start != (pointer)0x0) {\n    operator_delete(tables.\n                    super__Vector_base<(anonymous_namespace)::Stub_table_owner*,_std::allocator<(anonymous_namespace)::Stub_table_owner*>_>\n                    ._M_impl._M_start);\n  }" if (parenthesized_expression "(tables.\n      super__Vector_base<(anonymous_namespace)::Stub_table_owner*,_std::allocator<(anonymous_namespace)::Stub_table_owner*>_>\n      ._M_impl._M_start != (pointer)0x0)" ( (binary_expression "tables.\n      super__Vector_base<(anonymous_namespace)::Stub_table_owner*,_std::allocator<(anonymous_namespace)::Stub_table_owner*>_>\n      ._M_impl._M_start != (pointer)0x0" (field_expression "tables.\n      super__Vector_base<(anonymous_namespace)::Stub_table_owner*,_std::allocator<(anonymous_namespace)::Stub_table_owner*>_>\n      ._M_impl._M_start" (field_expression "tables.\n      super__Vector_base<(anonymous_namespace)::Stub_table_owner*,_std::allocator<(anonymous_namespace)::Stub_table_owner*>_>\n      ._M_impl" (binary_expression "tables.\n      super__Vector_base<(anonymous_namespace)::Stub_table_owner*,_std::allocator<(anonymous_namespace)::Stub_table_owner*>_" (binary_expression "tables.\n      super__Vector_base<(anonymous_namespace)::Stub_table_owner*,_std::allocator<(anonymous_namespace)" (binary_expression "tables.\n      super__Vector_base<(anonymous_namespace)::Stub_table_owner*,_std" (binary_expression "tables.\n      super__Vector_base<(anonymous_namespace)" (field_expression "tables.\n      super__Vector_base" identifier . field_identifier) < (parenthesized_expression "(anonymous_namespace)" ( identifier ))) (ERROR "::Stub_table_owner" : : identifier) * (ERROR "," ,) identifier) (ERROR "::allocator" : : identifier) < (parenthesized_expression "(anonymous_namespace)" ( identifier ))) (ERROR "::Stub_table_owner" : : identifier) * (ERROR ">" >) identifier) (ERROR ">" >) . field_identifier) . field_identifier) != (cast_expression "(pointer)0x0" ( (type_descriptor "pointer" type_identifier) ) number_literal)) )) (compound_statement "{\n    operator_delete(tables.\n                    super__Vector_base<(anonymous_namespace)::Stub_table_owner*,_std::allocator<(anonymous_namespace)::Stub_table_owner*>_>\n                    ._M_impl._M_start);\n  }" { (expression_statement "operator_delete(tables.\n                    super__Vector_base<(anonymous_namespace)::Stub_table_owner*,_std::allocator<(anonymous_namespace)::Stub_table_owner*>_>\n                    ._M_impl._M_start);" (call_expression "operator_delete(tables.\n                    super__Vector_base<(anonymous_namespace)::Stub_table_owner*,_std::allocator<(anonymous_namespace)::Stub_table_owner*>_>\n                    ._M_impl._M_start)" identifier (argument_list "(tables.\n                    super__Vector_base<(anonymous_namespace)::Stub_table_owner*,_std::allocator<(anonymous_namespace)::Stub_table_owner*>_>\n                    ._M_impl._M_start)" ( (field_expression "tables.\n                    super__Vector_base<(anonymous_namespace)::Stub_table_owner*,_std::allocator<(anonymous_namespace)::Stub_table_owner*>_>\n                    ._M_impl._M_start" (field_expression "tables.\n                    super__Vector_base<(anonymous_namespace)::Stub_table_owner*,_std::allocator<(anonymous_namespace)::Stub_table_owner*>_>\n                    ._M_impl" (binary_expression "tables.\n                    super__Vector_base<(anonymous_namespace)::Stub_table_owner*,_std::allocator<(anonymous_namespace)::Stub_table_owner*>_" (binary_expression "tables.\n                    super__Vector_base<(anonymous_namespace)::Stub_table_owner*,_std::allocator<(anonymous_namespace)" (binary_expression "tables.\n                    super__Vector_base<(anonymous_namespace)::Stub_table_owner*,_std" (binary_expression "tables.\n                    super__Vector_base<(anonymous_namespace)" (field_expression "tables.\n                    super__Vector_base" identifier . field_identifier) < (parenthesized_expression "(anonymous_namespace)" ( identifier ))) (ERROR "::Stub_table_owner" : : identifier) * (ERROR "," ,) identifier) (ERROR "::allocator" : : identifier) < (parenthesized_expression "(anonymous_namespace)" ( identifier ))) (ERROR "::Stub_table_owner" : : identifier) * (ERROR ">" >) identifier) (ERROR ">" >) . field_identifier) . field_identifier) ))) ;) })) (return_statement "return;" return ;) (ERROR "}" }))
(translation_unit "void FUN_0006f600(void)\n\n{\n  uint uVar1;\n  int iVar2;\n  undefined4 uVar3;\n  undefined4 *__src;\n  char cVar4;\n  int iVar5;\n  uint uVar6;\n  int iVar7;\n  int *piVar8;\n  int *piVar9;\n  undefined4 uVar10;\n  int iVar11;\n  int iVar12;\n  uint uVar13;\n  size_t __n;\n  void *__dest;\n  int iVar14;\n  int *piVar15;\n  int unaff_EDI;\n  undefined4 *puVar16;\n  bool bVar17;\n  undefined8 uVar18;\n  int local_8c;\n  int *local_7c;\n  int local_74;\n  undefined4 local_70;\n  int *local_68;\n  int *local_64;\n  int *local_60;\n  int *local_5c;\n  int *local_58;\n  int *local_54;\n  int *local_50;\n  undefined4 local_4c;\n  int local_48 [4];\n  byte local_38;\n  undefined1 local_36;\n  undefined4 local_34;\n  undefined4 local_30;\n  undefined4 local_2c;\n  undefined4 local_28;\n  int *local_24;\n  int local_20;\n  \n  uVar18 = FUN_000b484e();\n  iVar5 = (int)uVar18;\n  if (*(int *)(*(int *)(BYTE_ARRAY_003a4e59 + unaff_EDI + 0x86) + 8) == 0) {\n                    \n    FUN_000da200(unaff_EDI + 0x272c64,0x5c,unaff_EDI + 0x286d9f,0);\n  }\n  local_36 = *(undefined1 *)\n              (*(int *)(*(int *)(BYTE_ARRAY_003a4e59 + unaff_EDI + 0x86) + 8) + 0x38e9);\n  local_34 = 0;\n  local_30 = 0;\n  uVar13 = *(uint *)(iVar5 + 0xa8);\n  local_2c = 0;\n  local_28 = 0;\n  local_24 = (int *)0x0;\n  local_20 = 0;\n  local_68 = (int *)0x0;\n  local_60 = (int *)0x0;\n  local_38 = (byte)(uVar13 >> 0x1f);\n  local_48[3] = ((int)uVar13 >> 0x1f ^ uVar13) - ((int)uVar13 >> 0x1f);\n  local_5c = (int *)0x0;\n  local_58 = (int *)0x0;\n  local_54 = (int *)0x0;\n  local_50 = (int *)0x0;\n  local_4c = 0;\n                    \n  FUN_0010bb60((int)((ulonglong)uVar18 >> 0x20),&local_54);\n  FUN_000aba90(&local_74,(int)local_50 - (int)local_54 >> 2);\n  if (local_74 == 0) {\n                    \n    FUN_0006eab0();\n  }\n  else {\n                    \n    FUN_0006f540(local_70,0);\n  }\n  FUN_002481e0(local_74,*(undefined4 *)(BYTE_ARRAY_003a4975 + unaff_EDI + 0x2e));\n  local_7c = local_54;\n  if (local_54 != local_50) {\n    do {\n      iVar7 = *local_7c;\n      piVar15 = *(int **)(iVar7 + 0x6c);\n      if (piVar15 != *(int **)(iVar7 + 0x70)) {\n        do {\n          if (2 < *piVar15 + 3U) {\n            iVar7 = FUN_0015c600(piVar15);\n            uVar13 = FUN_0015c690(piVar15);\n            bVar17 = false;\n            if (uVar13 < (uint)((*(int *)(iVar7 + 0x19c) - *(int *)(iVar7 + 0x194)) +\n                               (*(int *)(iVar7 + 0x198) - *(int *)(iVar7 + 400)) * 8)) {\n              bVar17 = (*(uint *)(*(int *)(iVar7 + 400) + (uVar13 >> 5) * 4) &\n                       1 << ((byte)uVar13 & 0x1f)) != 0;\n            }\n            cVar4 = FUN_0004fea0(bVar17);\n            if (cVar4 == '\0') {\n              *local_68 = local_20;\n              local_68[1] = (int)local_24;\n              local_20 = *local_7c;\n              local_68 = (int *)0x0;\n              local_24 = piVar15;\nLAB_0006f76a:\n                    \n              local_68 = (int *)FUN_00246670(8);\n              *local_68 = 0;\n              local_68[1] = 0;\n              if (local_5c == local_58) {\n                FUN_00055630();\n              }\n              else {\n                *local_5c = (int)local_68;\n                local_5c = local_5c + 1;\n              }\n            }\n            else if (local_68 == (int *)0x0) goto LAB_0006f76a;\n            iVar12 = (int)local_5c - (int)local_60;\n            uVar13 = FUN_0015c690(piVar15);\n            iVar14 = *(int *)(iVar7 + 0x1a4);\n            iVar11 = *(int *)(iVar7 + 0x1a8);\n            uVar6 = iVar11 - iVar14 >> 2;\n            if (uVar6 <= uVar13) {\n              uVar1 = uVar13 + 1;\n              local_48[0] = -1;\n              if (uVar6 < uVar1) {\n                FUN_000aab90(iVar7 + 0x1a4,iVar11,uVar1 - uVar6,local_48);\n                iVar14 = *(int *)(iVar7 + 0x1a4);\n              }\n              else if ((uVar1 < uVar6) && (iVar2 = iVar14 + uVar1 * 4, iVar11 != iVar2)) {\n                *(int *)(iVar7 + 0x1a8) = iVar2;\n              }\n            }\n            *(int *)(iVar14 + uVar13 * 4) = (iVar12 >> 2) + -1;\n            iVar7 = *local_7c;\n          }\n          piVar15 = piVar15 + 6;\n        } while (*(int **)(iVar7 + 0x70) != piVar15);\n      }\n      local_7c = local_7c + 1;\n    } while (local_50 != local_7c);\n  }\n  if (local_68 != (int *)0x0) {\n    *local_68 = local_20;\n    local_68[1] = (int)local_24;\n  }\n  local_7c = local_60;\n  if (local_60 != local_5c) {\n    do {\n      piVar15 = (int *)((undefined4 *)*local_7c)[1];\n      if (*piVar15 + 4U < 4) {\n        if (*piVar15 != -4) {\n                    \n                    \n          FUN_000da200(unaff_EDI + 0x28787b,0xcc1,unaff_EDI + 0x2866cf);\n        }\n        piVar8 = (int *)piVar15[4];\nLAB_0006f914:\n        puVar16 = *(undefined4 **)(iVar5 + 0x50);\n        if (puVar16 == *(undefined4 **)(iVar5 + 0x54)) goto LAB_0006fbb0;\nLAB_0006f926:\n        *puVar16 = piVar8;\n        *(undefined4 **)(iVar5 + 0x50) = puVar16 + 1;\n      }\n      else {\n        uVar3 = *(undefined4 *)*local_7c;\n        iVar7 = *(int *)(iVar5 + 0x50);\n        iVar14 = *(int *)(iVar5 + 0x4c);\n        piVar8 = (int *)FUN_00246670(0xb0);\n                    \n        piVar9 = (int *)FUN_0015c600(piVar15);\n        uVar10 = FUN_0015c690(piVar15);\n        uVar18 = (**(code **)(*piVar9 + 0x5c))(piVar9,uVar10);\n        iVar11 = FUN_0015c690(piVar15);\n        iVar12 = FUN_0015c600(piVar15);\n        piVar8[0xb] = iVar12;\n        *(byte *)(piVar8 + 7) = *(byte *)(piVar8 + 7) & 0xe0;\n        piVar8[9] = (int)uVar18;\n        piVar8[0xc] = iVar11;\n        piVar8[1] = 0;\n        piVar8[2] = 0;\n        piVar8[3] = 0;\n        piVar8[4] = 0;\n        piVar8[5] = -1;\n        piVar8[6] = -1;\n        piVar8[8] = 0;\n        piVar8[10] = (int)((ulonglong)uVar18 >> 0x20);\n        piVar8[0xd] = iVar5;\n        *piVar8 = unaff_EDI + 0x39d467;\n        uVar13 = 0;\n        do {\n          *(undefined4 *)((int)piVar8 + uVar13 + 0x38) = 0;\n          uVar13 = uVar13 + 4;\n        } while (uVar13 < 0x1c);\n        piVar8[0xf] = 1;\n        piVar8[0x10] = 0;\n        piVar8[0x11] = 0;\n        piVar8[0x12] = 0x3f800000;\n        piVar8[0x13] = 0;\n        piVar8[0x14] = 0;\n        piVar8[0xe] = (int)(piVar8 + 0x14);\n        uVar13 = 0;\n        do {\n          *(undefined4 *)((int)piVar8 + uVar13 + 0x54) = 0;\n          uVar13 = uVar13 + 4;\n        } while (uVar13 < 0x1c);\n        piVar8[0x16] = 1;\n        piVar8[0x15] = (int)(piVar8 + 0x1b);\n        piVar8[0x17] = 0;\n        piVar8[0x18] = 0;\n        piVar8[0x19] = 0x3f800000;\n        piVar8[0x1a] = 0;\n        piVar8[0x1b] = 0;\n                    \n        iVar11 = FUN_0015c560(piVar15);\n        piVar8[0x1c] = iVar11;\n        piVar8[0x1d] = 0;\n        piVar8[0x1e] = 0;\n        piVar8[0x1f] = 0;\n        piVar8[0x20] = 0;\n        piVar8[0x21] = 0;\n        piVar8[0x22] = 0;\n        *(undefined1 *)(piVar8 + 0x23) = 0;\n        piVar8[0x24] = iVar7 - iVar14 >> 2;\n        piVar8[0x25] = -1;\n        piVar8[0x26] = 0;\n        FUN_0015c3f0(piVar8,uVar3);\n        local_48[0] = 0;\n        local_48[1] = 0;\n        local_48[2] = 0;\n        local_64 = piVar8;\n                    \n        FUN_000abc70(local_48,&local_64);\n        FUN_00164400(uVar3,local_48);\n        if (local_48[0] == 0) goto LAB_0006f914;\n        FUN_00248220(local_48[0]);\n        puVar16 = *(undefined4 **)(iVar5 + 0x50);\n        if (puVar16 != *(undefined4 **)(iVar5 + 0x54)) goto LAB_0006f926;\nLAB_0006fbb0:\n        __src = *(undefined4 **)(iVar5 + 0x4c);\n        __n = (int)puVar16 - (int)__src;\n        uVar13 = (int)__n >> 2;\n        if (uVar13 == 0) {\n          local_8c = 4;\nLAB_0006fbe3:\n                    \n          __dest = (void *)FUN_00246670(local_8c);\n          local_8c = local_8c + (int)__dest;\n        }\n        else {\n          local_8c = -4;\n          uVar6 = uVar13 * 2;\n          if ((uVar6 < uVar13) || (0x3fffffff < uVar6)) goto LAB_0006fbe3;\n          if (uVar6 != 0) {\n            local_8c = uVar13 << 3;\n            goto LAB_0006fbe3;\n          }\n          local_8c = 0;\n          __dest = (void *)0x0;\n        }\n        *(int **)((int)__dest + __n) = piVar8;\n        if (puVar16 == __src) {\n          if (__src != (undefined4 *)0x0) goto LAB_0006fc33;\n        }\n        else {\n          memmove(__dest,__src,__n);\nLAB_0006fc33:\n          FUN_00248220(__src);\n        }\n        *(void **)(iVar5 + 0x4c) = __dest;\n        *(size_t *)(iVar5 + 0x50) = (int)__dest + __n + 4;\n        *(int *)(iVar5 + 0x54) = local_8c;\n      }\n      FUN_00248200(*local_7c,8);\n      local_7c = local_7c + 1;\n    } while (local_5c != local_7c);\n  }\n  if (local_54 != (int *)0x0) {\n    FUN_00248220(local_54);\n  }\n  if (local_60 != (int *)0x0) {\n    FUN_00248220(local_60);\n  }\n  return;\n}\n\n" (function_definition "void FUN_0006f600(void)\n\n{\n  uint uVar1;\n  int iVar2;\n  undefined4 uVar3;\n  undefined4 *__src;\n  char cVar4;\n  int iVar5;\n  uint uVar6;\n  int iVar7;\n  int *piVar8;\n  int *piVar9;\n  undefined4 uVar10;\n  int iVar11;\n  int iVar12;\n  uint uVar13;\n  size_t __n;\n  void *__dest;\n  int iVar14;\n  int *piVar15;\n  int unaff_EDI;\n  undefined4 *puVar16;\n  bool bVar17;\n  undefined8 uVar18;\n  int local_8c;\n  int *local_7c;\n  int local_74;\n  undefined4 local_70;\n  int *local_68;\n  int *local_64;\n  int *local_60;\n  int *local_5c;\n  int *local_58;\n  int *local_54;\n  int *local_50;\n  undefined4 local_4c;\n  int local_48 [4];\n  byte local_38;\n  undefined1 local_36;\n  undefined4 local_34;\n  undefined4 local_30;\n  undefined4 local_2c;\n  undefined4 local_28;\n  int *local_24;\n  int local_20;\n  \n  uVar18 = FUN_000b484e();\n  iVar5 = (int)uVar18;\n  if (*(int *)(*(int *)(BYTE_ARRAY_003a4e59 + unaff_EDI + 0x86) + 8) == 0) {\n                    \n    FUN_000da200(unaff_EDI + 0x272c64,0x5c,unaff_EDI + 0x286d9f,0);\n  }\n  local_36 = *(undefined1 *)\n              (*(int *)(*(int *)(BYTE_ARRAY_003a4e59 + unaff_EDI + 0x86) + 8) + 0x38e9);\n  local_34 = 0;\n  local_30 = 0;\n  uVar13 = *(uint *)(iVar5 + 0xa8);\n  local_2c = 0;\n  local_28 = 0;\n  local_24 = (int *)0x0;\n  local_20 = 0;\n  local_68 = (int *)0x0;\n  local_60 = (int *)0x0;\n  local_38 = (byte)(uVar13 >> 0x1f);\n  local_48[3] = ((int)uVar13 >> 0x1f ^ uVar13) - ((int)uVar13 >> 0x1f);\n  local_5c = (int *)0x0;\n  local_58 = (int *)0x0;\n  local_54 = (int *)0x0;\n  local_50 = (int *)0x0;\n  local_4c = 0;\n                    \n  FUN_0010bb60((int)((ulonglong)uVar18 >> 0x20),&local_54);\n  FUN_000aba90(&local_74,(int)local_50 - (int)local_54 >> 2);\n  if (local_74 == 0) {\n                    \n    FUN_0006eab0();\n  }\n  else {\n                    \n    FUN_0006f540(local_70,0);\n  }\n  FUN_002481e0(local_74,*(undefined4 *)(BYTE_ARRAY_003a4975 + unaff_EDI + 0x2e));\n  local_7c = local_54;\n  if (local_54 != local_50) {\n    do {\n      iVar7 = *local_7c;\n      piVar15 = *(int **)(iVar7 + 0x6c);\n      if (piVar15 != *(int **)(iVar7 + 0x70)) {\n        do {\n          if (2 < *piVar15 + 3U) {\n            iVar7 = FUN_0015c600(piVar15);\n            uVar13 = FUN_0015c690(piVar15);\n            bVar17 = false;\n            if (uVar13 < (uint)((*(int *)(iVar7 + 0x19c) - *(int *)(iVar7 + 0x194)) +\n                               (*(int *)(iVar7 + 0x198) - *(int *)(iVar7 + 400)) * 8)) {\n              bVar17 = (*(uint *)(*(int *)(iVar7 + 400) + (uVar13 >> 5) * 4) &\n                       1 << ((byte)uVar13 & 0x1f)) != 0;\n            }\n            cVar4 = FUN_0004fea0(bVar17);\n            if (cVar4 == '\0') {\n              *local_68 = local_20;\n              local_68[1] = (int)local_24;\n              local_20 = *local_7c;\n              local_68 = (int *)0x0;\n              local_24 = piVar15;\nLAB_0006f76a:\n                    \n              local_68 = (int *)FUN_00246670(8);\n              *local_68 = 0;\n              local_68[1] = 0;\n              if (local_5c == local_58) {\n                FUN_00055630();\n              }\n              else {\n                *local_5c = (int)local_68;\n                local_5c = local_5c + 1;\n              }\n            }\n            else if (local_68 == (int *)0x0) goto LAB_0006f76a;\n            iVar12 = (int)local_5c - (int)local_60;\n            uVar13 = FUN_0015c690(piVar15);\n            iVar14 = *(int *)(iVar7 + 0x1a4);\n            iVar11 = *(int *)(iVar7 + 0x1a8);\n            uVar6 = iVar11 - iVar14 >> 2;\n            if (uVar6 <= uVar13) {\n              uVar1 = uVar13 + 1;\n              local_48[0] = -1;\n              if (uVar6 < uVar1) {\n                FUN_000aab90(iVar7 + 0x1a4,iVar11,uVar1 - uVar6,local_48);\n                iVar14 = *(int *)(iVar7 + 0x1a4);\n              }\n              else if ((uVar1 < uVar6) && (iVar2 = iVar14 + uVar1 * 4, iVar11 != iVar2)) {\n                *(int *)(iVar7 + 0x1a8) = iVar2;\n              }\n            }\n            *(int *)(iVar14 + uVar13 * 4) = (iVar12 >> 2) + -1;\n            iVar7 = *local_7c;\n          }\n          piVar15 = piVar15 + 6;\n        } while (*(int **)(iVar7 + 0x70) != piVar15);\n      }\n      local_7c = local_7c + 1;\n    } while (local_50 != local_7c);\n  }\n  if (local_68 != (int *)0x0) {\n    *local_68 = local_20;\n    local_68[1] = (int)local_24;\n  }\n  local_7c = local_60;\n  if (local_60 != local_5c) {\n    do {\n      piVar15 = (int *)((undefined4 *)*local_7c)[1];\n      if (*piVar15 + 4U < 4) {\n        if (*piVar15 != -4) {\n                    \n                    \n          FUN_000da200(unaff_EDI + 0x28787b,0xcc1,unaff_EDI + 0x2866cf);\n        }\n        piVar8 = (int *)piVar15[4];\nLAB_0006f914:\n        puVar16 = *(undefined4 **)(iVar5 + 0x50);\n        if (puVar16 == *(undefined4 **)(iVar5 + 0x54)) goto LAB_0006fbb0;\nLAB_0006f926:\n        *puVar16 = piVar8;\n        *(undefined4 **)(iVar5 + 0x50) = puVar16 + 1;\n      }\n      else {\n        uVar3 = *(undefined4 *)*local_7c;\n        iVar7 = *(int *)(iVar5 + 0x50);\n        iVar14 = *(int *)(iVar5 + 0x4c);\n        piVar8 = (int *)FUN_00246670(0xb0);\n                    \n        piVar9 = (int *)FUN_0015c600(piVar15);\n        uVar10 = FUN_0015c690(piVar15);\n        uVar18 = (**(code **)(*piVar9 + 0x5c))(piVar9,uVar10);\n        iVar11 = FUN_0015c690(piVar15);\n        iVar12 = FUN_0015c600(piVar15);\n        piVar8[0xb] = iVar12;\n        *(byte *)(piVar8 + 7) = *(byte *)(piVar8 + 7) & 0xe0;\n        piVar8[9] = (int)uVar18;\n        piVar8[0xc] = iVar11;\n        piVar8[1] = 0;\n        piVar8[2] = 0;\n        piVar8[3] = 0;\n        piVar8[4] = 0;\n        piVar8[5] = -1;\n        piVar8[6] = -1;\n        piVar8[8] = 0;\n        piVar8[10] = (int)((ulonglong)uVar18 >> 0x20);\n        piVar8[0xd] = iVar5;\n        *piVar8 = unaff_EDI + 0x39d467;\n        uVar13 = 0;\n        do {\n          *(undefined4 *)((int)piVar8 + uVar13 + 0x38) = 0;\n          uVar13 = uVar13 + 4;\n        } while (uVar13 < 0x1c);\n        piVar8[0xf] = 1;\n        piVar8[0x10] = 0;\n        piVar8[0x11] = 0;\n        piVar8[0x12] = 0x3f800000;\n        piVar8[0x13] = 0;\n        piVar8[0x14] = 0;\n        piVar8[0xe] = (int)(piVar8 + 0x14);\n        uVar13 = 0;\n        do {\n          *(undefined4 *)((int)piVar8 + uVar13 + 0x54) = 0;\n          uVar13 = uVar13 + 4;\n        } while (uVar13 < 0x1c);\n        piVar8[0x16] = 1;\n        piVar8[0x15] = (int)(piVar8 + 0x1b);\n        piVar8[0x17] = 0;\n        piVar8[0x18] = 0;\n        piVar8[0x19] = 0x3f800000;\n        piVar8[0x1a] = 0;\n        piVar8[0x1b] = 0;\n                    \n        iVar11 = FUN_0015c560(piVar15);\n        piVar8[0x1c] = iVar11;\n        piVar8[0x1d] = 0;\n        piVar8[0x1e] = 0;\n        piVar8[0x1f] = 0;\n        piVar8[0x20] = 0;\n        piVar8[0x21] = 0;\n        piVar8[0x22] = 0;\n        *(undefined1 *)(piVar8 + 0x23) = 0;\n        piVar8[0x24] = iVar7 - iVar14 >> 2;\n        piVar8[0x25] = -1;\n        piVar8[0x26] = 0;\n        FUN_0015c3f0(piVar8,uVar3);\n        local_48[0] = 0;\n        local_48[1] = 0;\n        local_48[2] = 0;\n        local_64 = piVar8;\n                    \n        FUN_000abc70(local_48,&local_64);\n        FUN_00164400(uVar3,local_48);\n        if (local_48[0] == 0) goto LAB_0006f914;\n        FUN_00248220(local_48[0]);\n        puVar16 = *(undefined4 **)(iVar5 + 0x50);\n        if (puVar16 != *(undefined4 **)(iVar5 + 0x54)) goto LAB_0006f926;\nLAB_0006fbb0:\n        __src = *(undefined4 **)(iVar5 + 0x4c);\n        __n = (int)puVar16 - (int)__src;\n        uVar13 = (int)__n >> 2;\n        if (uVar13 == 0) {\n          local_8c = 4;\nLAB_0006fbe3:\n                    \n          __dest = (void *)FUN_00246670(local_8c);\n          local_8c = local_8c + (int)__dest;\n        }\n        else {\n          local_8c = -4;\n          uVar6 = uVar13 * 2;\n          if ((uVar6 < uVar13) || (0x3fffffff < uVar6)) goto LAB_0006fbe3;\n          if (uVar6 != 0) {\n            local_8c = uVar13 << 3;\n            goto LAB_0006fbe3;\n          }\n          local_8c = 0;\n          __dest = (void *)0x0;\n        }\n        *(int **)((int)__dest + __n) = piVar8;\n        if (puVar16 == __src) {\n          if (__src != (undefined4 *)0x0) goto LAB_0006fc33;\n        }\n        else {\n          memmove(__dest,__src,__n);\nLAB_0006fc33:\n          FUN_00248220(__src);\n        }\n        *(void **)(iVar5 + 0x4c) = __dest;\n        *(size_t *)(iVar5 + 0x50) = (int)__dest + __n + 4;\n        *(int *)(iVar5 + 0x54) = local_8c;\n      }\n      FUN_00248200(*local_7c,8);\n      local_7c = local_7c + 1;\n    } while (local_5c != local_7c);\n  }\n  if (local_54 != (int *)0x0) {\n    FUN_00248220(local_54);\n  }\n  if (local_60 != (int *)0x0) {\n    FUN_00248220(local_60);\n  }\n  return;\n}" primitive_type (function_declarator "FUN_0006f600(void)" identifier (parameter_list "(void)" ( (parameter_declaration "void" primitive_type) ))) (compound_statement "{\n  uint uVar1;\n  int iVar2;\n  undefined4 uVar3;\n  undefined4 *__src;\n  char cVar4;\n  int iVar5;\n  uint uVar6;\n  int iVar7;\n  int *piVar8;\n  int *piVar9;\n  undefined4 uVar10;\n  int iVar11;\n  int iVar12;\n  uint uVar13;\n  size_t __n;\n  void *__dest;\n  int iVar14;\n  int *piVar15;\n  int unaff_EDI;\n  undefined4 *puVar16;\n  bool bVar17;\n  undefined8 uVar18;\n  int local_8c;\n  int *local_7c;\n  int local_74;\n  undefined4 local_70;\n  int *local_68;\n  int *local_64;\n  int *local_60;\n  int *local_5c;\n  int *local_58;\n  int *local_54;\n  int *local_50;\n  undefined4 local_4c;\n  int local_48 [4];\n  byte local_38;\n  undefined1 local_36;\n  undefined4 local_34;\n  undefined4 local_30;\n  undefined4 local_2c;\n  undefined4 local_28;\n  int *local_24;\n  int local_20;\n  \n  uVar18 = FUN_000b484e();\n  iVar5 = (int)uVar18;\n  if (*(int *)(*(int *)(BYTE_ARRAY_003a4e59 + unaff_EDI + 0x86) + 8) == 0) {\n                    \n    FUN_000da200(unaff_EDI + 0x272c64,0x5c,unaff_EDI + 0x286d9f,0);\n  }\n  local_36 = *(undefined1 *)\n              (*(int *)(*(int *)(BYTE_ARRAY_003a4e59 + unaff_EDI + 0x86) + 8) + 0x38e9);\n  local_34 = 0;\n  local_30 = 0;\n  uVar13 = *(uint *)(iVar5 + 0xa8);\n  local_2c = 0;\n  local_28 = 0;\n  local_24 = (int *)0x0;\n  local_20 = 0;\n  local_68 = (int *)0x0;\n  local_60 = (int *)0x0;\n  local_38 = (byte)(uVar13 >> 0x1f);\n  local_48[3] = ((int)uVar13 >> 0x1f ^ uVar13) - ((int)uVar13 >> 0x1f);\n  local_5c = (int *)0x0;\n  local_58 = (int *)0x0;\n  local_54 = (int *)0x0;\n  local_50 = (int *)0x0;\n  local_4c = 0;\n                    \n  FUN_0010bb60((int)((ulonglong)uVar18 >> 0x20),&local_54);\n  FUN_000aba90(&local_74,(int)local_50 - (int)local_54 >> 2);\n  if (local_74 == 0) {\n                    \n    FUN_0006eab0();\n  }\n  else {\n                    \n    FUN_0006f540(local_70,0);\n  }\n  FUN_002481e0(local_74,*(undefined4 *)(BYTE_ARRAY_003a4975 + unaff_EDI + 0x2e));\n  local_7c = local_54;\n  if (local_54 != local_50) {\n    do {\n      iVar7 = *local_7c;\n      piVar15 = *(int **)(iVar7 + 0x6c);\n      if (piVar15 != *(int **)(iVar7 + 0x70)) {\n        do {\n          if (2 < *piVar15 + 3U) {\n            iVar7 = FUN_0015c600(piVar15);\n            uVar13 = FUN_0015c690(piVar15);\n            bVar17 = false;\n            if (uVar13 < (uint)((*(int *)(iVar7 + 0x19c) - *(int *)(iVar7 + 0x194)) +\n                               (*(int *)(iVar7 + 0x198) - *(int *)(iVar7 + 400)) * 8)) {\n              bVar17 = (*(uint *)(*(int *)(iVar7 + 400) + (uVar13 >> 5) * 4) &\n                       1 << ((byte)uVar13 & 0x1f)) != 0;\n            }\n            cVar4 = FUN_0004fea0(bVar17);\n            if (cVar4 == '\0') {\n              *local_68 = local_20;\n              local_68[1] = (int)local_24;\n              local_20 = *local_7c;\n              local_68 = (int *)0x0;\n              local_24 = piVar15;\nLAB_0006f76a:\n                    \n              local_68 = (int *)FUN_00246670(8);\n              *local_68 = 0;\n              local_68[1] = 0;\n              if (local_5c == local_58) {\n                FUN_00055630();\n              }\n              else {\n                *local_5c = (int)local_68;\n                local_5c = local_5c + 1;\n              }\n            }\n            else if (local_68 == (int *)0x0) goto LAB_0006f76a;\n            iVar12 = (int)local_5c - (int)local_60;\n            uVar13 = FUN_0015c690(piVar15);\n            iVar14 = *(int *)(iVar7 + 0x1a4);\n            iVar11 = *(int *)(iVar7 + 0x1a8);\n            uVar6 = iVar11 - iVar14 >> 2;\n            if (uVar6 <= uVar13) {\n              uVar1 = uVar13 + 1;\n              local_48[0] = -1;\n              if (uVar6 < uVar1) {\n                FUN_000aab90(iVar7 + 0x1a4,iVar11,uVar1 - uVar6,local_48);\n                iVar14 = *(int *)(iVar7 + 0x1a4);\n              }\n              else if ((uVar1 < uVar6) && (iVar2 = iVar14 + uVar1 * 4, iVar11 != iVar2)) {\n                *(int *)(iVar7 + 0x1a8) = iVar2;\n              }\n            }\n            *(int *)(iVar14 + uVar13 * 4) = (iVar12 >> 2) + -1;\n            iVar7 = *local_7c;\n          }\n          piVar15 = piVar15 + 6;\n        } while (*(int **)(iVar7 + 0x70) != piVar15);\n      }\n      local_7c = local_7c + 1;\n    } while (local_50 != local_7c);\n  }\n  if (local_68 != (int *)0x0) {\n    *local_68 = local_20;\n    local_68[1] = (int)local_24;\n  }\n  local_7c = local_60;\n  if (local_60 != local_5c) {\n    do {\n      piVar15 = (int *)((undefined4 *)*local_7c)[1];\n      if (*piVar15 + 4U < 4) {\n        if (*piVar15 != -4) {\n                    \n                    \n          FUN_000da200(unaff_EDI + 0x28787b,0xcc1,unaff_EDI + 0x2866cf);\n        }\n        piVar8 = (int *)piVar15[4];\nLAB_0006f914:\n        puVar16 = *(undefined4 **)(iVar5 + 0x50);\n        if (puVar16 == *(undefined4 **)(iVar5 + 0x54)) goto LAB_0006fbb0;\nLAB_0006f926:\n        *puVar16 = piVar8;\n        *(undefined4 **)(iVar5 + 0x50) = puVar16 + 1;\n      }\n      else {\n        uVar3 = *(undefined4 *)*local_7c;\n        iVar7 = *(int *)(iVar5 + 0x50);\n        iVar14 = *(int *)(iVar5 + 0x4c);\n        piVar8 = (int *)FUN_00246670(0xb0);\n                    \n        piVar9 = (int *)FUN_0015c600(piVar15);\n        uVar10 = FUN_0015c690(piVar15);\n        uVar18 = (**(code **)(*piVar9 + 0x5c))(piVar9,uVar10);\n        iVar11 = FUN_0015c690(piVar15);\n        iVar12 = FUN_0015c600(piVar15);\n        piVar8[0xb] = iVar12;\n        *(byte *)(piVar8 + 7) = *(byte *)(piVar8 + 7) & 0xe0;\n        piVar8[9] = (int)uVar18;\n        piVar8[0xc] = iVar11;\n        piVar8[1] = 0;\n        piVar8[2] = 0;\n        piVar8[3] = 0;\n        piVar8[4] = 0;\n        piVar8[5] = -1;\n        piVar8[6] = -1;\n        piVar8[8] = 0;\n        piVar8[10] = (int)((ulonglong)uVar18 >> 0x20);\n        piVar8[0xd] = iVar5;\n        *piVar8 = unaff_EDI + 0x39d467;\n        uVar13 = 0;\n        do {\n          *(undefined4 *)((int)piVar8 + uVar13 + 0x38) = 0;\n          uVar13 = uVar13 + 4;\n        } while (uVar13 < 0x1c);\n        piVar8[0xf] = 1;\n        piVar8[0x10] = 0;\n        piVar8[0x11] = 0;\n        piVar8[0x12] = 0x3f800000;\n        piVar8[0x13] = 0;\n        piVar8[0x14] = 0;\n        piVar8[0xe] = (int)(piVar8 + 0x14);\n        uVar13 = 0;\n        do {\n          *(undefined4 *)((int)piVar8 + uVar13 + 0x54) = 0;\n          uVar13 = uVar13 + 4;\n        } while (uVar13 < 0x1c);\n        piVar8[0x16] = 1;\n        piVar8[0x15] = (int)(piVar8 + 0x1b);\n        piVar8[0x17] = 0;\n        piVar8[0x18] = 0;\n        piVar8[0x19] = 0x3f800000;\n        piVar8[0x1a] = 0;\n        piVar8[0x1b] = 0;\n                    \n        iVar11 = FUN_0015c560(piVar15);\n        piVar8[0x1c] = iVar11;\n        piVar8[0x1d] = 0;\n        piVar8[0x1e] = 0;\n        piVar8[0x1f] = 0;\n        piVar8[0x20] = 0;\n        piVar8[0x21] = 0;\n        piVar8[0x22] = 0;\n        *(undefined1 *)(piVar8 + 0x23) = 0;\n        piVar8[0x24] = iVar7 - iVar14 >> 2;\n        piVar8[0x25] = -1;\n        piVar8[0x26] = 0;\n        FUN_0015c3f0(piVar8,uVar3);\n        local_48[0] = 0;\n        local_48[1] = 0;\n        local_48[2] = 0;\n        local_64 = piVar8;\n                    \n        FUN_000abc70(local_48,&local_64);\n        FUN_00164400(uVar3,local_48);\n        if (local_48[0] == 0) goto LAB_0006f914;\n        FUN_00248220(local_48[0]);\n        puVar16 = *(undefined4 **)(iVar5 + 0x50);\n        if (puVar16 != *(undefined4 **)(iVar5 + 0x54)) goto LAB_0006f926;\nLAB_0006fbb0:\n        __src = *(undefined4 **)(iVar5 + 0x4c);\n        __n = (int)puVar16 - (int)__src;\n        uVar13 = (int)__n >> 2;\n        if (uVar13 == 0) {\n          local_8c = 4;\nLAB_0006fbe3:\n                    \n          __dest = (void *)FUN_00246670(local_8c);\n          local_8c = local_8c + (int)__dest;\n        }\n        else {\n          local_8c = -4;\n          uVar6 = uVar13 * 2;\n          if ((uVar6 < uVar13) || (0x3fffffff < uVar6)) goto LAB_0006fbe3;\n          if (uVar6 != 0) {\n            local_8c = uVar13 << 3;\n            goto LAB_0006fbe3;\n          }\n          local_8c = 0;\n          __dest = (void *)0x0;\n        }\n        *(int **)((int)__dest + __n) = piVar8;\n        if (puVar16 == __src) {\n          if (__src != (undefined4 *)0x0) goto LAB_0006fc33;\n        }\n        else {\n          memmove(__dest,__src,__n);\nLAB_0006fc33:\n          FUN_00248220(__src);\n        }\n        *(void **)(iVar5 + 0x4c) = __dest;\n        *(size_t *)(iVar5 + 0x50) = (int)__dest + __n + 4;\n        *(int *)(iVar5 + 0x54) = local_8c;\n      }\n      FUN_00248200(*local_7c,8);\n      local_7c = local_7c + 1;\n    } while (local_5c != local_7c);\n  }\n  if (local_54 != (int *)0x0) {\n    FUN_00248220(local_54);\n  }\n  if (local_60 != (int *)0x0) {\n    FUN_00248220(local_60);\n  }\n  return;\n}" { (declaration "uint uVar1;" type_identifier identifier ;) (declaration "int iVar2;" primitive_type identifier ;) (declaration "undefined4 uVar3;" type_identifier identifier ;) (declaration "undefined4 *__src;" type_identifier (pointer_declarator "*__src" * identifier) ;) (declaration "char cVar4;" primitive_type identifier ;) (declaration "int iVar5;" primitive_type identifier ;) (declaration "uint uVar6;" type_identifier identifier ;) (declaration "int iVar7;" primitive_type identifier ;) (declaration "int *piVar8;" primitive_type (pointer_declarator "*piVar8" * identifier) ;) (declaration "int *piVar9;" primitive_type (pointer_declarator "*piVar9" * identifier) ;) (declaration "undefined4 uVar10;" type_identifier identifier ;) (declaration "int iVar11;" primitive_type identifier ;) (declaration "int iVar12;" primitive_type identifier ;) (declaration "uint uVar13;" type_identifier identifier ;) (declaration "size_t __n;" primitive_type identifier ;) (declaration "void *__dest;" primitive_type (pointer_declarator "*__dest" * identifier) ;) (declaration "int iVar14;" primitive_type identifier ;) (declaration "int *piVar15;" primitive_type (pointer_declarator "*piVar15" * identifier) ;) (declaration "int unaff_EDI;" primitive_type identifier ;) (declaration "undefined4 *puVar16;" type_identifier (pointer_declarator "*puVar16" * identifier) ;) (declaration "bool bVar17;" primitive_type identifier ;) (declaration "undefined8 uVar18;" type_identifier identifier ;) (declaration "int local_8c;" primitive_type identifier ;) (declaration "int *local_7c;" primitive_type (pointer_declarator "*local_7c" * identifier) ;) (declaration "int local_74;" primitive_type identifier ;) (declaration "undefined4 local_70;" type_identifier identifier ;) (declaration "int *local_68;" primitive_type (pointer_declarator "*local_68" * identifier) ;) (declaration "int *local_64;" primitive_type (pointer_declarator "*local_64" * identifier) ;) (declaration "int *local_60;" primitive_type (pointer_declarator "*local_60" * identifier) ;) (declaration "int *local_5c;" primitive_type (pointer_declarator "*local_5c" * identifier) ;) (declaration "int *local_58;" primitive_type (pointer_declarator "*local_58" * identifier) ;) (declaration "int *local_54;" primitive_type (pointer_declarator "*local_54" * identifier) ;) (declaration "int *local_50;" primitive_type (pointer_declarator "*local_50" * identifier) ;) (declaration "undefined4 local_4c;" type_identifier identifier ;) (declaration "int local_48 [4];" primitive_type (array_declarator "local_48 [4]" identifier [ number_literal ]) ;) (declaration "byte local_38;" type_identifier identifier ;) (declaration "undefined1 local_36;" type_identifier identifier ;) (declaration "undefined4 local_34;" type_identifier identifier ;) (declaration "undefined4 local_30;" type_identifier identifier ;) (declaration "undefined4 local_2c;" type_identifier identifier ;) (declaration "undefined4 local_28;" type_identifier identifier ;) (declaration "int *local_24;" primitive_type (pointer_declarator "*local_24" * identifier) ;) (declaration "int local_20;" primitive_type identifier ;) (expression_statement "uVar18 = FUN_000b484e();" (assignment_expression "uVar18 = FUN_000b484e()" identifier = (call_expression "FUN_000b484e()" identifier (argument_list "()" ( )))) ;) (expression_statement "iVar5 = (int)uVar18;" (assignment_expression "iVar5 = (int)uVar18" identifier = (cast_expression "(int)uVar18" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (if_statement "if (*(int *)(*(int *)(BYTE_ARRAY_003a4e59 + unaff_EDI + 0x86) + 8) == 0) {\n                    \n    FUN_000da200(unaff_EDI + 0x272c64,0x5c,unaff_EDI + 0x286d9f,0);\n  }" if (parenthesized_expression "(*(int *)(*(int *)(BYTE_ARRAY_003a4e59 + unaff_EDI + 0x86) + 8) == 0)" ( (binary_expression "*(int *)(*(int *)(BYTE_ARRAY_003a4e59 + unaff_EDI + 0x86) + 8) == 0" (pointer_expression "*(int *)(*(int *)(BYTE_ARRAY_003a4e59 + unaff_EDI + 0x86) + 8)" * (cast_expression "(int *)(*(int *)(BYTE_ARRAY_003a4e59 + unaff_EDI + 0x86) + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(BYTE_ARRAY_003a4e59 + unaff_EDI + 0x86) + 8)" ( (binary_expression "*(int *)(BYTE_ARRAY_003a4e59 + unaff_EDI + 0x86) + 8" (pointer_expression "*(int *)(BYTE_ARRAY_003a4e59 + unaff_EDI + 0x86)" * (cast_expression "(int *)(BYTE_ARRAY_003a4e59 + unaff_EDI + 0x86)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(BYTE_ARRAY_003a4e59 + unaff_EDI + 0x86)" ( (binary_expression "BYTE_ARRAY_003a4e59 + unaff_EDI + 0x86" (binary_expression "BYTE_ARRAY_003a4e59 + unaff_EDI" identifier + identifier) + number_literal) )))) + number_literal) )))) == number_literal) )) (compound_statement "{\n                    \n    FUN_000da200(unaff_EDI + 0x272c64,0x5c,unaff_EDI + 0x286d9f,0);\n  }" { (expression_statement "FUN_000da200(unaff_EDI + 0x272c64,0x5c,unaff_EDI + 0x286d9f,0);" (call_expression "FUN_000da200(unaff_EDI + 0x272c64,0x5c,unaff_EDI + 0x286d9f,0)" identifier (argument_list "(unaff_EDI + 0x272c64,0x5c,unaff_EDI + 0x286d9f,0)" ( (binary_expression "unaff_EDI + 0x272c64" identifier + number_literal) , number_literal , (binary_expression "unaff_EDI + 0x286d9f" identifier + number_literal) , number_literal ))) ;) })) (expression_statement "local_36 = *(undefined1 *)\n              (*(int *)(*(int *)(BYTE_ARRAY_003a4e59 + unaff_EDI + 0x86) + 8) + 0x38e9);" (assignment_expression "local_36 = *(undefined1 *)\n              (*(int *)(*(int *)(BYTE_ARRAY_003a4e59 + unaff_EDI + 0x86) + 8) + 0x38e9)" identifier = (pointer_expression "*(undefined1 *)\n              (*(int *)(*(int *)(BYTE_ARRAY_003a4e59 + unaff_EDI + 0x86) + 8) + 0x38e9)" * (cast_expression "(undefined1 *)\n              (*(int *)(*(int *)(BYTE_ARRAY_003a4e59 + unaff_EDI + 0x86) + 8) + 0x38e9)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(*(int *)(BYTE_ARRAY_003a4e59 + unaff_EDI + 0x86) + 8) + 0x38e9)" ( (binary_expression "*(int *)(*(int *)(BYTE_ARRAY_003a4e59 + unaff_EDI + 0x86) + 8) + 0x38e9" (pointer_expression "*(int *)(*(int *)(BYTE_ARRAY_003a4e59 + unaff_EDI + 0x86) + 8)" * (cast_expression "(int *)(*(int *)(BYTE_ARRAY_003a4e59 + unaff_EDI + 0x86) + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(BYTE_ARRAY_003a4e59 + unaff_EDI + 0x86) + 8)" ( (binary_expression "*(int *)(BYTE_ARRAY_003a4e59 + unaff_EDI + 0x86) + 8" (pointer_expression "*(int *)(BYTE_ARRAY_003a4e59 + unaff_EDI + 0x86)" * (cast_expression "(int *)(BYTE_ARRAY_003a4e59 + unaff_EDI + 0x86)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(BYTE_ARRAY_003a4e59 + unaff_EDI + 0x86)" ( (binary_expression "BYTE_ARRAY_003a4e59 + unaff_EDI + 0x86" (binary_expression "BYTE_ARRAY_003a4e59 + unaff_EDI" identifier + identifier) + number_literal) )))) + number_literal) )))) + number_literal) ))))) ;) (expression_statement "local_34 = 0;" (assignment_expression "local_34 = 0" identifier = number_literal) ;) (expression_statement "local_30 = 0;" (assignment_expression "local_30 = 0" identifier = number_literal) ;) (expression_statement "uVar13 = *(uint *)(iVar5 + 0xa8);" (assignment_expression "uVar13 = *(uint *)(iVar5 + 0xa8)" identifier = (pointer_expression "*(uint *)(iVar5 + 0xa8)" * (cast_expression "(uint *)(iVar5 + 0xa8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 0xa8)" ( (binary_expression "iVar5 + 0xa8" identifier + number_literal) ))))) ;) (expression_statement "local_2c = 0;" (assignment_expression "local_2c = 0" identifier = number_literal) ;) (expression_statement "local_28 = 0;" (assignment_expression "local_28 = 0" identifier = number_literal) ;) (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 "local_20 = 0;" (assignment_expression "local_20 = 0" identifier = number_literal) ;) (expression_statement "local_68 = (int *)0x0;" (assignment_expression "local_68 = (int *)0x0" identifier = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_60 = (int *)0x0;" (assignment_expression "local_60 = (int *)0x0" identifier = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_38 = (byte)(uVar13 >> 0x1f);" (assignment_expression "local_38 = (byte)(uVar13 >> 0x1f)" identifier = (call_expression "(byte)(uVar13 >> 0x1f)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(uVar13 >> 0x1f)" ( (binary_expression "uVar13 >> 0x1f" identifier >> number_literal) )))) ;) (expression_statement "local_48[3] = ((int)uVar13 >> 0x1f ^ uVar13) - ((int)uVar13 >> 0x1f);" (assignment_expression "local_48[3] = ((int)uVar13 >> 0x1f ^ uVar13) - ((int)uVar13 >> 0x1f)" (subscript_expression "local_48[3]" identifier [ number_literal ]) = (binary_expression "((int)uVar13 >> 0x1f ^ uVar13) - ((int)uVar13 >> 0x1f)" (parenthesized_expression "((int)uVar13 >> 0x1f ^ uVar13)" ( (binary_expression "(int)uVar13 >> 0x1f ^ uVar13" (binary_expression "(int)uVar13 >> 0x1f" (cast_expression "(int)uVar13" ( (type_descriptor "int" primitive_type) ) identifier) >> number_literal) ^ identifier) )) - (parenthesized_expression "((int)uVar13 >> 0x1f)" ( (binary_expression "(int)uVar13 >> 0x1f" (cast_expression "(int)uVar13" ( (type_descriptor "int" primitive_type) ) identifier) >> number_literal) )))) ;) (expression_statement "local_5c = (int *)0x0;" (assignment_expression "local_5c = (int *)0x0" identifier = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_58 = (int *)0x0;" (assignment_expression "local_58 = (int *)0x0" identifier = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_54 = (int *)0x0;" (assignment_expression "local_54 = (int *)0x0" identifier = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (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)) ;) (expression_statement "local_4c = 0;" (assignment_expression "local_4c = 0" identifier = number_literal) ;) (expression_statement "FUN_0010bb60((int)((ulonglong)uVar18 >> 0x20),&local_54);" (call_expression "FUN_0010bb60((int)((ulonglong)uVar18 >> 0x20),&local_54)" identifier (argument_list "((int)((ulonglong)uVar18 >> 0x20),&local_54)" ( (cast_expression "(int)((ulonglong)uVar18 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)uVar18 >> 0x20)" ( (binary_expression "(ulonglong)uVar18 >> 0x20" (cast_expression "(ulonglong)uVar18" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) ))) , (pointer_expression "&local_54" & identifier) ))) ;) (expression_statement "FUN_000aba90(&local_74,(int)local_50 - (int)local_54 >> 2);" (call_expression "FUN_000aba90(&local_74,(int)local_50 - (int)local_54 >> 2)" identifier (argument_list "(&local_74,(int)local_50 - (int)local_54 >> 2)" ( (pointer_expression "&local_74" & identifier) , (binary_expression "(int)local_50 - (int)local_54 >> 2" (binary_expression "(int)local_50 - (int)local_54" (cast_expression "(int)local_50" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)local_54" ( (type_descriptor "int" primitive_type) ) identifier)) >> number_literal) ))) ;) (if_statement "if (local_74 == 0) {\n                    \n    FUN_0006eab0();\n  }\n  else {\n                    \n    FUN_0006f540(local_70,0);\n  }" if (parenthesized_expression "(local_74 == 0)" ( (binary_expression "local_74 == 0" identifier == number_literal) )) (compound_statement "{\n                    \n    FUN_0006eab0();\n  }" { (expression_statement "FUN_0006eab0();" (call_expression "FUN_0006eab0()" identifier (argument_list "()" ( ))) ;) }) (else_clause "else {\n                    \n    FUN_0006f540(local_70,0);\n  }" else (compound_statement "{\n                    \n    FUN_0006f540(local_70,0);\n  }" { (expression_statement "FUN_0006f540(local_70,0);" (call_expression "FUN_0006f540(local_70,0)" identifier (argument_list "(local_70,0)" ( identifier , number_literal ))) ;) }))) (expression_statement "FUN_002481e0(local_74,*(undefined4 *)(BYTE_ARRAY_003a4975 + unaff_EDI + 0x2e));" (call_expression "FUN_002481e0(local_74,*(undefined4 *)(BYTE_ARRAY_003a4975 + unaff_EDI + 0x2e))" identifier (argument_list "(local_74,*(undefined4 *)(BYTE_ARRAY_003a4975 + unaff_EDI + 0x2e))" ( identifier , (pointer_expression "*(undefined4 *)(BYTE_ARRAY_003a4975 + unaff_EDI + 0x2e)" * (cast_expression "(undefined4 *)(BYTE_ARRAY_003a4975 + unaff_EDI + 0x2e)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(BYTE_ARRAY_003a4975 + unaff_EDI + 0x2e)" ( (binary_expression "BYTE_ARRAY_003a4975 + unaff_EDI + 0x2e" (binary_expression "BYTE_ARRAY_003a4975 + unaff_EDI" identifier + identifier) + number_literal) )))) ))) ;) (expression_statement "local_7c = local_54;" (assignment_expression "local_7c = local_54" identifier = identifier) ;) (if_statement "if (local_54 != local_50) {\n    do {\n      iVar7 = *local_7c;\n      piVar15 = *(int **)(iVar7 + 0x6c);\n      if (piVar15 != *(int **)(iVar7 + 0x70)) {\n        do {\n          if (2 < *piVar15 + 3U) {\n            iVar7 = FUN_0015c600(piVar15);\n            uVar13 = FUN_0015c690(piVar15);\n            bVar17 = false;\n            if (uVar13 < (uint)((*(int *)(iVar7 + 0x19c) - *(int *)(iVar7 + 0x194)) +\n                               (*(int *)(iVar7 + 0x198) - *(int *)(iVar7 + 400)) * 8)) {\n              bVar17 = (*(uint *)(*(int *)(iVar7 + 400) + (uVar13 >> 5) * 4) &\n                       1 << ((byte)uVar13 & 0x1f)) != 0;\n            }\n            cVar4 = FUN_0004fea0(bVar17);\n            if (cVar4 == '\0') {\n              *local_68 = local_20;\n              local_68[1] = (int)local_24;\n              local_20 = *local_7c;\n              local_68 = (int *)0x0;\n              local_24 = piVar15;\nLAB_0006f76a:\n                    \n              local_68 = (int *)FUN_00246670(8);\n              *local_68 = 0;\n              local_68[1] = 0;\n              if (local_5c == local_58) {\n                FUN_00055630();\n              }\n              else {\n                *local_5c = (int)local_68;\n                local_5c = local_5c + 1;\n              }\n            }\n            else if (local_68 == (int *)0x0) goto LAB_0006f76a;\n            iVar12 = (int)local_5c - (int)local_60;\n            uVar13 = FUN_0015c690(piVar15);\n            iVar14 = *(int *)(iVar7 + 0x1a4);\n            iVar11 = *(int *)(iVar7 + 0x1a8);\n            uVar6 = iVar11 - iVar14 >> 2;\n            if (uVar6 <= uVar13) {\n              uVar1 = uVar13 + 1;\n              local_48[0] = -1;\n              if (uVar6 < uVar1) {\n                FUN_000aab90(iVar7 + 0x1a4,iVar11,uVar1 - uVar6,local_48);\n                iVar14 = *(int *)(iVar7 + 0x1a4);\n              }\n              else if ((uVar1 < uVar6) && (iVar2 = iVar14 + uVar1 * 4, iVar11 != iVar2)) {\n                *(int *)(iVar7 + 0x1a8) = iVar2;\n              }\n            }\n            *(int *)(iVar14 + uVar13 * 4) = (iVar12 >> 2) + -1;\n            iVar7 = *local_7c;\n          }\n          piVar15 = piVar15 + 6;\n        } while (*(int **)(iVar7 + 0x70) != piVar15);\n      }\n      local_7c = local_7c + 1;\n    } while (local_50 != local_7c);\n  }" if (parenthesized_expression "(local_54 != local_50)" ( (binary_expression "local_54 != local_50" identifier != identifier) )) (compound_statement "{\n    do {\n      iVar7 = *local_7c;\n      piVar15 = *(int **)(iVar7 + 0x6c);\n      if (piVar15 != *(int **)(iVar7 + 0x70)) {\n        do {\n          if (2 < *piVar15 + 3U) {\n            iVar7 = FUN_0015c600(piVar15);\n            uVar13 = FUN_0015c690(piVar15);\n            bVar17 = false;\n            if (uVar13 < (uint)((*(int *)(iVar7 + 0x19c) - *(int *)(iVar7 + 0x194)) +\n                               (*(int *)(iVar7 + 0x198) - *(int *)(iVar7 + 400)) * 8)) {\n              bVar17 = (*(uint *)(*(int *)(iVar7 + 400) + (uVar13 >> 5) * 4) &\n                       1 << ((byte)uVar13 & 0x1f)) != 0;\n            }\n            cVar4 = FUN_0004fea0(bVar17);\n            if (cVar4 == '\0') {\n              *local_68 = local_20;\n              local_68[1] = (int)local_24;\n              local_20 = *local_7c;\n              local_68 = (int *)0x0;\n              local_24 = piVar15;\nLAB_0006f76a:\n                    \n              local_68 = (int *)FUN_00246670(8);\n              *local_68 = 0;\n              local_68[1] = 0;\n              if (local_5c == local_58) {\n                FUN_00055630();\n              }\n              else {\n                *local_5c = (int)local_68;\n                local_5c = local_5c + 1;\n              }\n            }\n            else if (local_68 == (int *)0x0) goto LAB_0006f76a;\n            iVar12 = (int)local_5c - (int)local_60;\n            uVar13 = FUN_0015c690(piVar15);\n            iVar14 = *(int *)(iVar7 + 0x1a4);\n            iVar11 = *(int *)(iVar7 + 0x1a8);\n            uVar6 = iVar11 - iVar14 >> 2;\n            if (uVar6 <= uVar13) {\n              uVar1 = uVar13 + 1;\n              local_48[0] = -1;\n              if (uVar6 < uVar1) {\n                FUN_000aab90(iVar7 + 0x1a4,iVar11,uVar1 - uVar6,local_48);\n                iVar14 = *(int *)(iVar7 + 0x1a4);\n              }\n              else if ((uVar1 < uVar6) && (iVar2 = iVar14 + uVar1 * 4, iVar11 != iVar2)) {\n                *(int *)(iVar7 + 0x1a8) = iVar2;\n              }\n            }\n            *(int *)(iVar14 + uVar13 * 4) = (iVar12 >> 2) + -1;\n            iVar7 = *local_7c;\n          }\n          piVar15 = piVar15 + 6;\n        } while (*(int **)(iVar7 + 0x70) != piVar15);\n      }\n      local_7c = local_7c + 1;\n    } while (local_50 != local_7c);\n  }" { (do_statement "do {\n      iVar7 = *local_7c;\n      piVar15 = *(int **)(iVar7 + 0x6c);\n      if (piVar15 != *(int **)(iVar7 + 0x70)) {\n        do {\n          if (2 < *piVar15 + 3U) {\n            iVar7 = FUN_0015c600(piVar15);\n            uVar13 = FUN_0015c690(piVar15);\n            bVar17 = false;\n            if (uVar13 < (uint)((*(int *)(iVar7 + 0x19c) - *(int *)(iVar7 + 0x194)) +\n                               (*(int *)(iVar7 + 0x198) - *(int *)(iVar7 + 400)) * 8)) {\n              bVar17 = (*(uint *)(*(int *)(iVar7 + 400) + (uVar13 >> 5) * 4) &\n                       1 << ((byte)uVar13 & 0x1f)) != 0;\n            }\n            cVar4 = FUN_0004fea0(bVar17);\n            if (cVar4 == '\0') {\n              *local_68 = local_20;\n              local_68[1] = (int)local_24;\n              local_20 = *local_7c;\n              local_68 = (int *)0x0;\n              local_24 = piVar15;\nLAB_0006f76a:\n                    \n              local_68 = (int *)FUN_00246670(8);\n              *local_68 = 0;\n              local_68[1] = 0;\n              if (local_5c == local_58) {\n                FUN_00055630();\n              }\n              else {\n                *local_5c = (int)local_68;\n                local_5c = local_5c + 1;\n              }\n            }\n            else if (local_68 == (int *)0x0) goto LAB_0006f76a;\n            iVar12 = (int)local_5c - (int)local_60;\n            uVar13 = FUN_0015c690(piVar15);\n            iVar14 = *(int *)(iVar7 + 0x1a4);\n            iVar11 = *(int *)(iVar7 + 0x1a8);\n            uVar6 = iVar11 - iVar14 >> 2;\n            if (uVar6 <= uVar13) {\n              uVar1 = uVar13 + 1;\n              local_48[0] = -1;\n              if (uVar6 < uVar1) {\n                FUN_000aab90(iVar7 + 0x1a4,iVar11,uVar1 - uVar6,local_48);\n                iVar14 = *(int *)(iVar7 + 0x1a4);\n              }\n              else if ((uVar1 < uVar6) && (iVar2 = iVar14 + uVar1 * 4, iVar11 != iVar2)) {\n                *(int *)(iVar7 + 0x1a8) = iVar2;\n              }\n            }\n            *(int *)(iVar14 + uVar13 * 4) = (iVar12 >> 2) + -1;\n            iVar7 = *local_7c;\n          }\n          piVar15 = piVar15 + 6;\n        } while (*(int **)(iVar7 + 0x70) != piVar15);\n      }\n      local_7c = local_7c + 1;\n    } while (local_50 != local_7c);" do (compound_statement "{\n      iVar7 = *local_7c;\n      piVar15 = *(int **)(iVar7 + 0x6c);\n      if (piVar15 != *(int **)(iVar7 + 0x70)) {\n        do {\n          if (2 < *piVar15 + 3U) {\n            iVar7 = FUN_0015c600(piVar15);\n            uVar13 = FUN_0015c690(piVar15);\n            bVar17 = false;\n            if (uVar13 < (uint)((*(int *)(iVar7 + 0x19c) - *(int *)(iVar7 + 0x194)) +\n                               (*(int *)(iVar7 + 0x198) - *(int *)(iVar7 + 400)) * 8)) {\n              bVar17 = (*(uint *)(*(int *)(iVar7 + 400) + (uVar13 >> 5) * 4) &\n                       1 << ((byte)uVar13 & 0x1f)) != 0;\n            }\n            cVar4 = FUN_0004fea0(bVar17);\n            if (cVar4 == '\0') {\n              *local_68 = local_20;\n              local_68[1] = (int)local_24;\n              local_20 = *local_7c;\n              local_68 = (int *)0x0;\n              local_24 = piVar15;\nLAB_0006f76a:\n                    \n              local_68 = (int *)FUN_00246670(8);\n              *local_68 = 0;\n              local_68[1] = 0;\n              if (local_5c == local_58) {\n                FUN_00055630();\n              }\n              else {\n                *local_5c = (int)local_68;\n                local_5c = local_5c + 1;\n              }\n            }\n            else if (local_68 == (int *)0x0) goto LAB_0006f76a;\n            iVar12 = (int)local_5c - (int)local_60;\n            uVar13 = FUN_0015c690(piVar15);\n            iVar14 = *(int *)(iVar7 + 0x1a4);\n            iVar11 = *(int *)(iVar7 + 0x1a8);\n            uVar6 = iVar11 - iVar14 >> 2;\n            if (uVar6 <= uVar13) {\n              uVar1 = uVar13 + 1;\n              local_48[0] = -1;\n              if (uVar6 < uVar1) {\n                FUN_000aab90(iVar7 + 0x1a4,iVar11,uVar1 - uVar6,local_48);\n                iVar14 = *(int *)(iVar7 + 0x1a4);\n              }\n              else if ((uVar1 < uVar6) && (iVar2 = iVar14 + uVar1 * 4, iVar11 != iVar2)) {\n                *(int *)(iVar7 + 0x1a8) = iVar2;\n              }\n            }\n            *(int *)(iVar14 + uVar13 * 4) = (iVar12 >> 2) + -1;\n            iVar7 = *local_7c;\n          }\n          piVar15 = piVar15 + 6;\n        } while (*(int **)(iVar7 + 0x70) != piVar15);\n      }\n      local_7c = local_7c + 1;\n    }" { (expression_statement "iVar7 = *local_7c;" (assignment_expression "iVar7 = *local_7c" identifier = (pointer_expression "*local_7c" * identifier)) ;) (expression_statement "piVar15 = *(int **)(iVar7 + 0x6c);" (assignment_expression "piVar15 = *(int **)(iVar7 + 0x6c)" identifier = (pointer_expression "*(int **)(iVar7 + 0x6c)" * (cast_expression "(int **)(iVar7 + 0x6c)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar7 + 0x6c)" ( (binary_expression "iVar7 + 0x6c" identifier + number_literal) ))))) ;) (if_statement "if (piVar15 != *(int **)(iVar7 + 0x70)) {\n        do {\n          if (2 < *piVar15 + 3U) {\n            iVar7 = FUN_0015c600(piVar15);\n            uVar13 = FUN_0015c690(piVar15);\n            bVar17 = false;\n            if (uVar13 < (uint)((*(int *)(iVar7 + 0x19c) - *(int *)(iVar7 + 0x194)) +\n                               (*(int *)(iVar7 + 0x198) - *(int *)(iVar7 + 400)) * 8)) {\n              bVar17 = (*(uint *)(*(int *)(iVar7 + 400) + (uVar13 >> 5) * 4) &\n                       1 << ((byte)uVar13 & 0x1f)) != 0;\n            }\n            cVar4 = FUN_0004fea0(bVar17);\n            if (cVar4 == '\0') {\n              *local_68 = local_20;\n              local_68[1] = (int)local_24;\n              local_20 = *local_7c;\n              local_68 = (int *)0x0;\n              local_24 = piVar15;\nLAB_0006f76a:\n                    \n              local_68 = (int *)FUN_00246670(8);\n              *local_68 = 0;\n              local_68[1] = 0;\n              if (local_5c == local_58) {\n                FUN_00055630();\n              }\n              else {\n                *local_5c = (int)local_68;\n                local_5c = local_5c + 1;\n              }\n            }\n            else if (local_68 == (int *)0x0) goto LAB_0006f76a;\n            iVar12 = (int)local_5c - (int)local_60;\n            uVar13 = FUN_0015c690(piVar15);\n            iVar14 = *(int *)(iVar7 + 0x1a4);\n            iVar11 = *(int *)(iVar7 + 0x1a8);\n            uVar6 = iVar11 - iVar14 >> 2;\n            if (uVar6 <= uVar13) {\n              uVar1 = uVar13 + 1;\n              local_48[0] = -1;\n              if (uVar6 < uVar1) {\n                FUN_000aab90(iVar7 + 0x1a4,iVar11,uVar1 - uVar6,local_48);\n                iVar14 = *(int *)(iVar7 + 0x1a4);\n              }\n              else if ((uVar1 < uVar6) && (iVar2 = iVar14 + uVar1 * 4, iVar11 != iVar2)) {\n                *(int *)(iVar7 + 0x1a8) = iVar2;\n              }\n            }\n            *(int *)(iVar14 + uVar13 * 4) = (iVar12 >> 2) + -1;\n            iVar7 = *local_7c;\n          }\n          piVar15 = piVar15 + 6;\n        } while (*(int **)(iVar7 + 0x70) != piVar15);\n      }" if (parenthesized_expression "(piVar15 != *(int **)(iVar7 + 0x70))" ( (binary_expression "piVar15 != *(int **)(iVar7 + 0x70)" identifier != (pointer_expression "*(int **)(iVar7 + 0x70)" * (cast_expression "(int **)(iVar7 + 0x70)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar7 + 0x70)" ( (binary_expression "iVar7 + 0x70" identifier + number_literal) ))))) )) (compound_statement "{\n        do {\n          if (2 < *piVar15 + 3U) {\n            iVar7 = FUN_0015c600(piVar15);\n            uVar13 = FUN_0015c690(piVar15);\n            bVar17 = false;\n            if (uVar13 < (uint)((*(int *)(iVar7 + 0x19c) - *(int *)(iVar7 + 0x194)) +\n                               (*(int *)(iVar7 + 0x198) - *(int *)(iVar7 + 400)) * 8)) {\n              bVar17 = (*(uint *)(*(int *)(iVar7 + 400) + (uVar13 >> 5) * 4) &\n                       1 << ((byte)uVar13 & 0x1f)) != 0;\n            }\n            cVar4 = FUN_0004fea0(bVar17);\n            if (cVar4 == '\0') {\n              *local_68 = local_20;\n              local_68[1] = (int)local_24;\n              local_20 = *local_7c;\n              local_68 = (int *)0x0;\n              local_24 = piVar15;\nLAB_0006f76a:\n                    \n              local_68 = (int *)FUN_00246670(8);\n              *local_68 = 0;\n              local_68[1] = 0;\n              if (local_5c == local_58) {\n                FUN_00055630();\n              }\n              else {\n                *local_5c = (int)local_68;\n                local_5c = local_5c + 1;\n              }\n            }\n            else if (local_68 == (int *)0x0) goto LAB_0006f76a;\n            iVar12 = (int)local_5c - (int)local_60;\n            uVar13 = FUN_0015c690(piVar15);\n            iVar14 = *(int *)(iVar7 + 0x1a4);\n            iVar11 = *(int *)(iVar7 + 0x1a8);\n            uVar6 = iVar11 - iVar14 >> 2;\n            if (uVar6 <= uVar13) {\n              uVar1 = uVar13 + 1;\n              local_48[0] = -1;\n              if (uVar6 < uVar1) {\n                FUN_000aab90(iVar7 + 0x1a4,iVar11,uVar1 - uVar6,local_48);\n                iVar14 = *(int *)(iVar7 + 0x1a4);\n              }\n              else if ((uVar1 < uVar6) && (iVar2 = iVar14 + uVar1 * 4, iVar11 != iVar2)) {\n                *(int *)(iVar7 + 0x1a8) = iVar2;\n              }\n            }\n            *(int *)(iVar14 + uVar13 * 4) = (iVar12 >> 2) + -1;\n            iVar7 = *local_7c;\n          }\n          piVar15 = piVar15 + 6;\n        } while (*(int **)(iVar7 + 0x70) != piVar15);\n      }" { (do_statement "do {\n          if (2 < *piVar15 + 3U) {\n            iVar7 = FUN_0015c600(piVar15);\n            uVar13 = FUN_0015c690(piVar15);\n            bVar17 = false;\n            if (uVar13 < (uint)((*(int *)(iVar7 + 0x19c) - *(int *)(iVar7 + 0x194)) +\n                               (*(int *)(iVar7 + 0x198) - *(int *)(iVar7 + 400)) * 8)) {\n              bVar17 = (*(uint *)(*(int *)(iVar7 + 400) + (uVar13 >> 5) * 4) &\n                       1 << ((byte)uVar13 & 0x1f)) != 0;\n            }\n            cVar4 = FUN_0004fea0(bVar17);\n            if (cVar4 == '\0') {\n              *local_68 = local_20;\n              local_68[1] = (int)local_24;\n              local_20 = *local_7c;\n              local_68 = (int *)0x0;\n              local_24 = piVar15;\nLAB_0006f76a:\n                    \n              local_68 = (int *)FUN_00246670(8);\n              *local_68 = 0;\n              local_68[1] = 0;\n              if (local_5c == local_58) {\n                FUN_00055630();\n              }\n              else {\n                *local_5c = (int)local_68;\n                local_5c = local_5c + 1;\n              }\n            }\n            else if (local_68 == (int *)0x0) goto LAB_0006f76a;\n            iVar12 = (int)local_5c - (int)local_60;\n            uVar13 = FUN_0015c690(piVar15);\n            iVar14 = *(int *)(iVar7 + 0x1a4);\n            iVar11 = *(int *)(iVar7 + 0x1a8);\n            uVar6 = iVar11 - iVar14 >> 2;\n            if (uVar6 <= uVar13) {\n              uVar1 = uVar13 + 1;\n              local_48[0] = -1;\n              if (uVar6 < uVar1) {\n                FUN_000aab90(iVar7 + 0x1a4,iVar11,uVar1 - uVar6,local_48);\n                iVar14 = *(int *)(iVar7 + 0x1a4);\n              }\n              else if ((uVar1 < uVar6) && (iVar2 = iVar14 + uVar1 * 4, iVar11 != iVar2)) {\n                *(int *)(iVar7 + 0x1a8) = iVar2;\n              }\n            }\n            *(int *)(iVar14 + uVar13 * 4) = (iVar12 >> 2) + -1;\n            iVar7 = *local_7c;\n          }\n          piVar15 = piVar15 + 6;\n        } while (*(int **)(iVar7 + 0x70) != piVar15);" do (compound_statement "{\n          if (2 < *piVar15 + 3U) {\n            iVar7 = FUN_0015c600(piVar15);\n            uVar13 = FUN_0015c690(piVar15);\n            bVar17 = false;\n            if (uVar13 < (uint)((*(int *)(iVar7 + 0x19c) - *(int *)(iVar7 + 0x194)) +\n                               (*(int *)(iVar7 + 0x198) - *(int *)(iVar7 + 400)) * 8)) {\n              bVar17 = (*(uint *)(*(int *)(iVar7 + 400) + (uVar13 >> 5) * 4) &\n                       1 << ((byte)uVar13 & 0x1f)) != 0;\n            }\n            cVar4 = FUN_0004fea0(bVar17);\n            if (cVar4 == '\0') {\n              *local_68 = local_20;\n              local_68[1] = (int)local_24;\n              local_20 = *local_7c;\n              local_68 = (int *)0x0;\n              local_24 = piVar15;\nLAB_0006f76a:\n                    \n              local_68 = (int *)FUN_00246670(8);\n              *local_68 = 0;\n              local_68[1] = 0;\n              if (local_5c == local_58) {\n                FUN_00055630();\n              }\n              else {\n                *local_5c = (int)local_68;\n                local_5c = local_5c + 1;\n              }\n            }\n            else if (local_68 == (int *)0x0) goto LAB_0006f76a;\n            iVar12 = (int)local_5c - (int)local_60;\n            uVar13 = FUN_0015c690(piVar15);\n            iVar14 = *(int *)(iVar7 + 0x1a4);\n            iVar11 = *(int *)(iVar7 + 0x1a8);\n            uVar6 = iVar11 - iVar14 >> 2;\n            if (uVar6 <= uVar13) {\n              uVar1 = uVar13 + 1;\n              local_48[0] = -1;\n              if (uVar6 < uVar1) {\n                FUN_000aab90(iVar7 + 0x1a4,iVar11,uVar1 - uVar6,local_48);\n                iVar14 = *(int *)(iVar7 + 0x1a4);\n              }\n              else if ((uVar1 < uVar6) && (iVar2 = iVar14 + uVar1 * 4, iVar11 != iVar2)) {\n                *(int *)(iVar7 + 0x1a8) = iVar2;\n              }\n            }\n            *(int *)(iVar14 + uVar13 * 4) = (iVar12 >> 2) + -1;\n            iVar7 = *local_7c;\n          }\n          piVar15 = piVar15 + 6;\n        }" { (if_statement "if (2 < *piVar15 + 3U) {\n            iVar7 = FUN_0015c600(piVar15);\n            uVar13 = FUN_0015c690(piVar15);\n            bVar17 = false;\n            if (uVar13 < (uint)((*(int *)(iVar7 + 0x19c) - *(int *)(iVar7 + 0x194)) +\n                               (*(int *)(iVar7 + 0x198) - *(int *)(iVar7 + 400)) * 8)) {\n              bVar17 = (*(uint *)(*(int *)(iVar7 + 400) + (uVar13 >> 5) * 4) &\n                       1 << ((byte)uVar13 & 0x1f)) != 0;\n            }\n            cVar4 = FUN_0004fea0(bVar17);\n            if (cVar4 == '\0') {\n              *local_68 = local_20;\n              local_68[1] = (int)local_24;\n              local_20 = *local_7c;\n              local_68 = (int *)0x0;\n              local_24 = piVar15;\nLAB_0006f76a:\n                    \n              local_68 = (int *)FUN_00246670(8);\n              *local_68 = 0;\n              local_68[1] = 0;\n              if (local_5c == local_58) {\n                FUN_00055630();\n              }\n              else {\n                *local_5c = (int)local_68;\n                local_5c = local_5c + 1;\n              }\n            }\n            else if (local_68 == (int *)0x0) goto LAB_0006f76a;\n            iVar12 = (int)local_5c - (int)local_60;\n            uVar13 = FUN_0015c690(piVar15);\n            iVar14 = *(int *)(iVar7 + 0x1a4);\n            iVar11 = *(int *)(iVar7 + 0x1a8);\n            uVar6 = iVar11 - iVar14 >> 2;\n            if (uVar6 <= uVar13) {\n              uVar1 = uVar13 + 1;\n              local_48[0] = -1;\n              if (uVar6 < uVar1) {\n                FUN_000aab90(iVar7 + 0x1a4,iVar11,uVar1 - uVar6,local_48);\n                iVar14 = *(int *)(iVar7 + 0x1a4);\n              }\n              else if ((uVar1 < uVar6) && (iVar2 = iVar14 + uVar1 * 4, iVar11 != iVar2)) {\n                *(int *)(iVar7 + 0x1a8) = iVar2;\n              }\n            }\n            *(int *)(iVar14 + uVar13 * 4) = (iVar12 >> 2) + -1;\n            iVar7 = *local_7c;\n          }" if (parenthesized_expression "(2 < *piVar15 + 3U)" ( (binary_expression "2 < *piVar15 + 3U" number_literal < (binary_expression "*piVar15 + 3U" (pointer_expression "*piVar15" * identifier) + number_literal)) )) (compound_statement "{\n            iVar7 = FUN_0015c600(piVar15);\n            uVar13 = FUN_0015c690(piVar15);\n            bVar17 = false;\n            if (uVar13 < (uint)((*(int *)(iVar7 + 0x19c) - *(int *)(iVar7 + 0x194)) +\n                               (*(int *)(iVar7 + 0x198) - *(int *)(iVar7 + 400)) * 8)) {\n              bVar17 = (*(uint *)(*(int *)(iVar7 + 400) + (uVar13 >> 5) * 4) &\n                       1 << ((byte)uVar13 & 0x1f)) != 0;\n            }\n            cVar4 = FUN_0004fea0(bVar17);\n            if (cVar4 == '\0') {\n              *local_68 = local_20;\n              local_68[1] = (int)local_24;\n              local_20 = *local_7c;\n              local_68 = (int *)0x0;\n              local_24 = piVar15;\nLAB_0006f76a:\n                    \n              local_68 = (int *)FUN_00246670(8);\n              *local_68 = 0;\n              local_68[1] = 0;\n              if (local_5c == local_58) {\n                FUN_00055630();\n              }\n              else {\n                *local_5c = (int)local_68;\n                local_5c = local_5c + 1;\n              }\n            }\n            else if (local_68 == (int *)0x0) goto LAB_0006f76a;\n            iVar12 = (int)local_5c - (int)local_60;\n            uVar13 = FUN_0015c690(piVar15);\n            iVar14 = *(int *)(iVar7 + 0x1a4);\n            iVar11 = *(int *)(iVar7 + 0x1a8);\n            uVar6 = iVar11 - iVar14 >> 2;\n            if (uVar6 <= uVar13) {\n              uVar1 = uVar13 + 1;\n              local_48[0] = -1;\n              if (uVar6 < uVar1) {\n                FUN_000aab90(iVar7 + 0x1a4,iVar11,uVar1 - uVar6,local_48);\n                iVar14 = *(int *)(iVar7 + 0x1a4);\n              }\n              else if ((uVar1 < uVar6) && (iVar2 = iVar14 + uVar1 * 4, iVar11 != iVar2)) {\n                *(int *)(iVar7 + 0x1a8) = iVar2;\n              }\n            }\n            *(int *)(iVar14 + uVar13 * 4) = (iVar12 >> 2) + -1;\n            iVar7 = *local_7c;\n          }" { (expression_statement "iVar7 = FUN_0015c600(piVar15);" (assignment_expression "iVar7 = FUN_0015c600(piVar15)" identifier = (call_expression "FUN_0015c600(piVar15)" identifier (argument_list "(piVar15)" ( identifier )))) ;) (expression_statement "uVar13 = FUN_0015c690(piVar15);" (assignment_expression "uVar13 = FUN_0015c690(piVar15)" identifier = (call_expression "FUN_0015c690(piVar15)" identifier (argument_list "(piVar15)" ( identifier )))) ;) (expression_statement "bVar17 = false;" (assignment_expression "bVar17 = false" identifier = false) ;) (if_statement "if (uVar13 < (uint)((*(int *)(iVar7 + 0x19c) - *(int *)(iVar7 + 0x194)) +\n                               (*(int *)(iVar7 + 0x198) - *(int *)(iVar7 + 400)) * 8)) {\n              bVar17 = (*(uint *)(*(int *)(iVar7 + 400) + (uVar13 >> 5) * 4) &\n                       1 << ((byte)uVar13 & 0x1f)) != 0;\n            }" if (parenthesized_expression "(uVar13 < (uint)((*(int *)(iVar7 + 0x19c) - *(int *)(iVar7 + 0x194)) +\n                               (*(int *)(iVar7 + 0x198) - *(int *)(iVar7 + 400)) * 8))" ( (binary_expression "uVar13 < (uint)((*(int *)(iVar7 + 0x19c) - *(int *)(iVar7 + 0x194)) +\n                               (*(int *)(iVar7 + 0x198) - *(int *)(iVar7 + 400)) * 8)" identifier < (call_expression "(uint)((*(int *)(iVar7 + 0x19c) - *(int *)(iVar7 + 0x194)) +\n                               (*(int *)(iVar7 + 0x198) - *(int *)(iVar7 + 400)) * 8)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((*(int *)(iVar7 + 0x19c) - *(int *)(iVar7 + 0x194)) +\n                               (*(int *)(iVar7 + 0x198) - *(int *)(iVar7 + 400)) * 8)" ( (binary_expression "(*(int *)(iVar7 + 0x19c) - *(int *)(iVar7 + 0x194)) +\n                               (*(int *)(iVar7 + 0x198) - *(int *)(iVar7 + 400)) * 8" (parenthesized_expression "(*(int *)(iVar7 + 0x19c) - *(int *)(iVar7 + 0x194))" ( (binary_expression "*(int *)(iVar7 + 0x19c) - *(int *)(iVar7 + 0x194)" (pointer_expression "*(int *)(iVar7 + 0x19c)" * (cast_expression "(int *)(iVar7 + 0x19c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 0x19c)" ( (binary_expression "iVar7 + 0x19c" identifier + number_literal) )))) - (pointer_expression "*(int *)(iVar7 + 0x194)" * (cast_expression "(int *)(iVar7 + 0x194)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 0x194)" ( (binary_expression "iVar7 + 0x194" identifier + number_literal) ))))) )) + (binary_expression "(*(int *)(iVar7 + 0x198) - *(int *)(iVar7 + 400)) * 8" (parenthesized_expression "(*(int *)(iVar7 + 0x198) - *(int *)(iVar7 + 400))" ( (binary_expression "*(int *)(iVar7 + 0x198) - *(int *)(iVar7 + 400)" (pointer_expression "*(int *)(iVar7 + 0x198)" * (cast_expression "(int *)(iVar7 + 0x198)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 0x198)" ( (binary_expression "iVar7 + 0x198" identifier + number_literal) )))) - (pointer_expression "*(int *)(iVar7 + 400)" * (cast_expression "(int *)(iVar7 + 400)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 400)" ( (binary_expression "iVar7 + 400" identifier + number_literal) ))))) )) * number_literal)) )))) )) (compound_statement "{\n              bVar17 = (*(uint *)(*(int *)(iVar7 + 400) + (uVar13 >> 5) * 4) &\n                       1 << ((byte)uVar13 & 0x1f)) != 0;\n            }" { (expression_statement "bVar17 = (*(uint *)(*(int *)(iVar7 + 400) + (uVar13 >> 5) * 4) &\n                       1 << ((byte)uVar13 & 0x1f)) != 0;" (assignment_expression "bVar17 = (*(uint *)(*(int *)(iVar7 + 400) + (uVar13 >> 5) * 4) &\n                       1 << ((byte)uVar13 & 0x1f)) != 0" identifier = (binary_expression "(*(uint *)(*(int *)(iVar7 + 400) + (uVar13 >> 5) * 4) &\n                       1 << ((byte)uVar13 & 0x1f)) != 0" (parenthesized_expression "(*(uint *)(*(int *)(iVar7 + 400) + (uVar13 >> 5) * 4) &\n                       1 << ((byte)uVar13 & 0x1f))" ( (binary_expression "*(uint *)(*(int *)(iVar7 + 400) + (uVar13 >> 5) * 4) &\n                       1 << ((byte)uVar13 & 0x1f)" (pointer_expression "*(uint *)(*(int *)(iVar7 + 400) + (uVar13 >> 5) * 4)" * (cast_expression "(uint *)(*(int *)(iVar7 + 400) + (uVar13 >> 5) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(iVar7 + 400) + (uVar13 >> 5) * 4)" ( (binary_expression "*(int *)(iVar7 + 400) + (uVar13 >> 5) * 4" (pointer_expression "*(int *)(iVar7 + 400)" * (cast_expression "(int *)(iVar7 + 400)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 400)" ( (binary_expression "iVar7 + 400" identifier + number_literal) )))) + (binary_expression "(uVar13 >> 5) * 4" (parenthesized_expression "(uVar13 >> 5)" ( (binary_expression "uVar13 >> 5" identifier >> number_literal) )) * number_literal)) )))) & (binary_expression "1 << ((byte)uVar13 & 0x1f)" number_literal << (parenthesized_expression "((byte)uVar13 & 0x1f)" ( (binary_expression "(byte)uVar13 & 0x1f" (cast_expression "(byte)uVar13" ( (type_descriptor "byte" type_identifier) ) identifier) & number_literal) )))) )) != number_literal)) ;) })) (expression_statement "cVar4 = FUN_0004fea0(bVar17);" (assignment_expression "cVar4 = FUN_0004fea0(bVar17)" identifier = (call_expression "FUN_0004fea0(bVar17)" identifier (argument_list "(bVar17)" ( identifier )))) ;) (if_statement "if (cVar4 == '\0') {\n              *local_68 = local_20;\n              local_68[1] = (int)local_24;\n              local_20 = *local_7c;\n              local_68 = (int *)0x0;\n              local_24 = piVar15;\nLAB_0006f76a:\n                    \n              local_68 = (int *)FUN_00246670(8);\n              *local_68 = 0;\n              local_68[1] = 0;\n              if (local_5c == local_58) {\n                FUN_00055630();\n              }\n              else {\n                *local_5c = (int)local_68;\n                local_5c = local_5c + 1;\n              }\n            }\n            else if (local_68 == (int *)0x0) goto LAB_0006f76a;" if (parenthesized_expression "(cVar4 == '\0')" ( (binary_expression "cVar4 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n              *local_68 = local_20;\n              local_68[1] = (int)local_24;\n              local_20 = *local_7c;\n              local_68 = (int *)0x0;\n              local_24 = piVar15;\nLAB_0006f76a:\n                    \n              local_68 = (int *)FUN_00246670(8);\n              *local_68 = 0;\n              local_68[1] = 0;\n              if (local_5c == local_58) {\n                FUN_00055630();\n              }\n              else {\n                *local_5c = (int)local_68;\n                local_5c = local_5c + 1;\n              }\n            }" { (expression_statement "*local_68 = local_20;" (assignment_expression "*local_68 = local_20" (pointer_expression "*local_68" * identifier) = identifier) ;) (expression_statement "local_68[1] = (int)local_24;" (assignment_expression "local_68[1] = (int)local_24" (subscript_expression "local_68[1]" identifier [ number_literal ]) = (cast_expression "(int)local_24" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "local_20 = *local_7c;" (assignment_expression "local_20 = *local_7c" identifier = (pointer_expression "*local_7c" * identifier)) ;) (expression_statement "local_68 = (int *)0x0;" (assignment_expression "local_68 = (int *)0x0" identifier = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_24 = piVar15;" (assignment_expression "local_24 = piVar15" identifier = identifier) ;) (labeled_statement "LAB_0006f76a:\n                    \n              local_68 = (int *)FUN_00246670(8);" statement_identifier : (expression_statement "local_68 = (int *)FUN_00246670(8);" (assignment_expression "local_68 = (int *)FUN_00246670(8)" identifier = (cast_expression "(int *)FUN_00246670(8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_00246670(8)" identifier (argument_list "(8)" ( number_literal ))))) ;)) (expression_statement "*local_68 = 0;" (assignment_expression "*local_68 = 0" (pointer_expression "*local_68" * identifier) = number_literal) ;) (expression_statement "local_68[1] = 0;" (assignment_expression "local_68[1] = 0" (subscript_expression "local_68[1]" identifier [ number_literal ]) = number_literal) ;) (if_statement "if (local_5c == local_58) {\n                FUN_00055630();\n              }\n              else {\n                *local_5c = (int)local_68;\n                local_5c = local_5c + 1;\n              }" if (parenthesized_expression "(local_5c == local_58)" ( (binary_expression "local_5c == local_58" identifier == identifier) )) (compound_statement "{\n                FUN_00055630();\n              }" { (expression_statement "FUN_00055630();" (call_expression "FUN_00055630()" identifier (argument_list "()" ( ))) ;) }) (else_clause "else {\n                *local_5c = (int)local_68;\n                local_5c = local_5c + 1;\n              }" else (compound_statement "{\n                *local_5c = (int)local_68;\n                local_5c = local_5c + 1;\n              }" { (expression_statement "*local_5c = (int)local_68;" (assignment_expression "*local_5c = (int)local_68" (pointer_expression "*local_5c" * identifier) = (cast_expression "(int)local_68" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "local_5c = local_5c + 1;" (assignment_expression "local_5c = local_5c + 1" identifier = (binary_expression "local_5c + 1" identifier + number_literal)) ;) }))) }) (else_clause "else if (local_68 == (int *)0x0) goto LAB_0006f76a;" else (if_statement "if (local_68 == (int *)0x0) goto LAB_0006f76a;" if (parenthesized_expression "(local_68 == (int *)0x0)" ( (binary_expression "local_68 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_0006f76a;" goto statement_identifier ;)))) (expression_statement "iVar12 = (int)local_5c - (int)local_60;" (assignment_expression "iVar12 = (int)local_5c - (int)local_60" identifier = (binary_expression "(int)local_5c - (int)local_60" (cast_expression "(int)local_5c" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)local_60" ( (type_descriptor "int" primitive_type) ) identifier))) ;) (expression_statement "uVar13 = FUN_0015c690(piVar15);" (assignment_expression "uVar13 = FUN_0015c690(piVar15)" identifier = (call_expression "FUN_0015c690(piVar15)" identifier (argument_list "(piVar15)" ( identifier )))) ;) (expression_statement "iVar14 = *(int *)(iVar7 + 0x1a4);" (assignment_expression "iVar14 = *(int *)(iVar7 + 0x1a4)" identifier = (pointer_expression "*(int *)(iVar7 + 0x1a4)" * (cast_expression "(int *)(iVar7 + 0x1a4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 0x1a4)" ( (binary_expression "iVar7 + 0x1a4" identifier + number_literal) ))))) ;) (expression_statement "iVar11 = *(int *)(iVar7 + 0x1a8);" (assignment_expression "iVar11 = *(int *)(iVar7 + 0x1a8)" identifier = (pointer_expression "*(int *)(iVar7 + 0x1a8)" * (cast_expression "(int *)(iVar7 + 0x1a8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 0x1a8)" ( (binary_expression "iVar7 + 0x1a8" identifier + number_literal) ))))) ;) (expression_statement "uVar6 = iVar11 - iVar14 >> 2;" (assignment_expression "uVar6 = iVar11 - iVar14 >> 2" identifier = (binary_expression "iVar11 - iVar14 >> 2" (binary_expression "iVar11 - iVar14" identifier - identifier) >> number_literal)) ;) (if_statement "if (uVar6 <= uVar13) {\n              uVar1 = uVar13 + 1;\n              local_48[0] = -1;\n              if (uVar6 < uVar1) {\n                FUN_000aab90(iVar7 + 0x1a4,iVar11,uVar1 - uVar6,local_48);\n                iVar14 = *(int *)(iVar7 + 0x1a4);\n              }\n              else if ((uVar1 < uVar6) && (iVar2 = iVar14 + uVar1 * 4, iVar11 != iVar2)) {\n                *(int *)(iVar7 + 0x1a8) = iVar2;\n              }\n            }" if (parenthesized_expression "(uVar6 <= uVar13)" ( (binary_expression "uVar6 <= uVar13" identifier <= identifier) )) (compound_statement "{\n              uVar1 = uVar13 + 1;\n              local_48[0] = -1;\n              if (uVar6 < uVar1) {\n                FUN_000aab90(iVar7 + 0x1a4,iVar11,uVar1 - uVar6,local_48);\n                iVar14 = *(int *)(iVar7 + 0x1a4);\n              }\n              else if ((uVar1 < uVar6) && (iVar2 = iVar14 + uVar1 * 4, iVar11 != iVar2)) {\n                *(int *)(iVar7 + 0x1a8) = iVar2;\n              }\n            }" { (expression_statement "uVar1 = uVar13 + 1;" (assignment_expression "uVar1 = uVar13 + 1" identifier = (binary_expression "uVar13 + 1" identifier + number_literal)) ;) (expression_statement "local_48[0] = -1;" (assignment_expression "local_48[0] = -1" (subscript_expression "local_48[0]" identifier [ number_literal ]) = number_literal) ;) (if_statement "if (uVar6 < uVar1) {\n                FUN_000aab90(iVar7 + 0x1a4,iVar11,uVar1 - uVar6,local_48);\n                iVar14 = *(int *)(iVar7 + 0x1a4);\n              }\n              else if ((uVar1 < uVar6) && (iVar2 = iVar14 + uVar1 * 4, iVar11 != iVar2)) {\n                *(int *)(iVar7 + 0x1a8) = iVar2;\n              }" if (parenthesized_expression "(uVar6 < uVar1)" ( (binary_expression "uVar6 < uVar1" identifier < identifier) )) (compound_statement "{\n                FUN_000aab90(iVar7 + 0x1a4,iVar11,uVar1 - uVar6,local_48);\n                iVar14 = *(int *)(iVar7 + 0x1a4);\n              }" { (expression_statement "FUN_000aab90(iVar7 + 0x1a4,iVar11,uVar1 - uVar6,local_48);" (call_expression "FUN_000aab90(iVar7 + 0x1a4,iVar11,uVar1 - uVar6,local_48)" identifier (argument_list "(iVar7 + 0x1a4,iVar11,uVar1 - uVar6,local_48)" ( (binary_expression "iVar7 + 0x1a4" identifier + number_literal) , identifier , (binary_expression "uVar1 - uVar6" identifier - identifier) , identifier ))) ;) (expression_statement "iVar14 = *(int *)(iVar7 + 0x1a4);" (assignment_expression "iVar14 = *(int *)(iVar7 + 0x1a4)" identifier = (pointer_expression "*(int *)(iVar7 + 0x1a4)" * (cast_expression "(int *)(iVar7 + 0x1a4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 0x1a4)" ( (binary_expression "iVar7 + 0x1a4" identifier + number_literal) ))))) ;) }) (else_clause "else if ((uVar1 < uVar6) && (iVar2 = iVar14 + uVar1 * 4, iVar11 != iVar2)) {\n                *(int *)(iVar7 + 0x1a8) = iVar2;\n              }" else (if_statement "if ((uVar1 < uVar6) && (iVar2 = iVar14 + uVar1 * 4, iVar11 != iVar2)) {\n                *(int *)(iVar7 + 0x1a8) = iVar2;\n              }" if (parenthesized_expression "((uVar1 < uVar6) && (iVar2 = iVar14 + uVar1 * 4, iVar11 != iVar2))" ( (binary_expression "(uVar1 < uVar6) && (iVar2 = iVar14 + uVar1 * 4, iVar11 != iVar2)" (parenthesized_expression "(uVar1 < uVar6)" ( (binary_expression "uVar1 < uVar6" identifier < identifier) )) && (parenthesized_expression "(iVar2 = iVar14 + uVar1 * 4, iVar11 != iVar2)" ( (comma_expression "iVar2 = iVar14 + uVar1 * 4, iVar11 != iVar2" (assignment_expression "iVar2 = iVar14 + uVar1 * 4" identifier = (binary_expression "iVar14 + uVar1 * 4" identifier + (binary_expression "uVar1 * 4" identifier * number_literal))) , (binary_expression "iVar11 != iVar2" identifier != identifier)) ))) )) (compound_statement "{\n                *(int *)(iVar7 + 0x1a8) = iVar2;\n              }" { (expression_statement "*(int *)(iVar7 + 0x1a8) = iVar2;" (assignment_expression "*(int *)(iVar7 + 0x1a8) = iVar2" (pointer_expression "*(int *)(iVar7 + 0x1a8)" * (cast_expression "(int *)(iVar7 + 0x1a8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 0x1a8)" ( (binary_expression "iVar7 + 0x1a8" identifier + number_literal) )))) = identifier) ;) })))) })) (expression_statement "*(int *)(iVar14 + uVar13 * 4) = (iVar12 >> 2) + -1;" (assignment_expression "*(int *)(iVar14 + uVar13 * 4) = (iVar12 >> 2) + -1" (pointer_expression "*(int *)(iVar14 + uVar13 * 4)" * (cast_expression "(int *)(iVar14 + uVar13 * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar14 + uVar13 * 4)" ( (binary_expression "iVar14 + uVar13 * 4" identifier + (binary_expression "uVar13 * 4" identifier * number_literal)) )))) = (binary_expression "(iVar12 >> 2) + -1" (parenthesized_expression "(iVar12 >> 2)" ( (binary_expression "iVar12 >> 2" identifier >> number_literal) )) + number_literal)) ;) (expression_statement "iVar7 = *local_7c;" (assignment_expression "iVar7 = *local_7c" identifier = (pointer_expression "*local_7c" * identifier)) ;) })) (expression_statement "piVar15 = piVar15 + 6;" (assignment_expression "piVar15 = piVar15 + 6" identifier = (binary_expression "piVar15 + 6" identifier + number_literal)) ;) }) while (parenthesized_expression "(*(int **)(iVar7 + 0x70) != piVar15)" ( (binary_expression "*(int **)(iVar7 + 0x70) != piVar15" (pointer_expression "*(int **)(iVar7 + 0x70)" * (cast_expression "(int **)(iVar7 + 0x70)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar7 + 0x70)" ( (binary_expression "iVar7 + 0x70" identifier + number_literal) )))) != identifier) )) ;) })) (expression_statement "local_7c = local_7c + 1;" (assignment_expression "local_7c = local_7c + 1" identifier = (binary_expression "local_7c + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(local_50 != local_7c)" ( (binary_expression "local_50 != local_7c" identifier != identifier) )) ;) })) (if_statement "if (local_68 != (int *)0x0) {\n    *local_68 = local_20;\n    local_68[1] = (int)local_24;\n  }" if (parenthesized_expression "(local_68 != (int *)0x0)" ( (binary_expression "local_68 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    *local_68 = local_20;\n    local_68[1] = (int)local_24;\n  }" { (expression_statement "*local_68 = local_20;" (assignment_expression "*local_68 = local_20" (pointer_expression "*local_68" * identifier) = identifier) ;) (expression_statement "local_68[1] = (int)local_24;" (assignment_expression "local_68[1] = (int)local_24" (subscript_expression "local_68[1]" identifier [ number_literal ]) = (cast_expression "(int)local_24" ( (type_descriptor "int" primitive_type) ) identifier)) ;) })) (expression_statement "local_7c = local_60;" (assignment_expression "local_7c = local_60" identifier = identifier) ;) (if_statement "if (local_60 != local_5c) {\n    do {\n      piVar15 = (int *)((undefined4 *)*local_7c)[1];\n      if (*piVar15 + 4U < 4) {\n        if (*piVar15 != -4) {\n                    \n                    \n          FUN_000da200(unaff_EDI + 0x28787b,0xcc1,unaff_EDI + 0x2866cf);\n        }\n        piVar8 = (int *)piVar15[4];\nLAB_0006f914:\n        puVar16 = *(undefined4 **)(iVar5 + 0x50);\n        if (puVar16 == *(undefined4 **)(iVar5 + 0x54)) goto LAB_0006fbb0;\nLAB_0006f926:\n        *puVar16 = piVar8;\n        *(undefined4 **)(iVar5 + 0x50) = puVar16 + 1;\n      }\n      else {\n        uVar3 = *(undefined4 *)*local_7c;\n        iVar7 = *(int *)(iVar5 + 0x50);\n        iVar14 = *(int *)(iVar5 + 0x4c);\n        piVar8 = (int *)FUN_00246670(0xb0);\n                    \n        piVar9 = (int *)FUN_0015c600(piVar15);\n        uVar10 = FUN_0015c690(piVar15);\n        uVar18 = (**(code **)(*piVar9 + 0x5c))(piVar9,uVar10);\n        iVar11 = FUN_0015c690(piVar15);\n        iVar12 = FUN_0015c600(piVar15);\n        piVar8[0xb] = iVar12;\n        *(byte *)(piVar8 + 7) = *(byte *)(piVar8 + 7) & 0xe0;\n        piVar8[9] = (int)uVar18;\n        piVar8[0xc] = iVar11;\n        piVar8[1] = 0;\n        piVar8[2] = 0;\n        piVar8[3] = 0;\n        piVar8[4] = 0;\n        piVar8[5] = -1;\n        piVar8[6] = -1;\n        piVar8[8] = 0;\n        piVar8[10] = (int)((ulonglong)uVar18 >> 0x20);\n        piVar8[0xd] = iVar5;\n        *piVar8 = unaff_EDI + 0x39d467;\n        uVar13 = 0;\n        do {\n          *(undefined4 *)((int)piVar8 + uVar13 + 0x38) = 0;\n          uVar13 = uVar13 + 4;\n        } while (uVar13 < 0x1c);\n        piVar8[0xf] = 1;\n        piVar8[0x10] = 0;\n        piVar8[0x11] = 0;\n        piVar8[0x12] = 0x3f800000;\n        piVar8[0x13] = 0;\n        piVar8[0x14] = 0;\n        piVar8[0xe] = (int)(piVar8 + 0x14);\n        uVar13 = 0;\n        do {\n          *(undefined4 *)((int)piVar8 + uVar13 + 0x54) = 0;\n          uVar13 = uVar13 + 4;\n        } while (uVar13 < 0x1c);\n        piVar8[0x16] = 1;\n        piVar8[0x15] = (int)(piVar8 + 0x1b);\n        piVar8[0x17] = 0;\n        piVar8[0x18] = 0;\n        piVar8[0x19] = 0x3f800000;\n        piVar8[0x1a] = 0;\n        piVar8[0x1b] = 0;\n                    \n        iVar11 = FUN_0015c560(piVar15);\n        piVar8[0x1c] = iVar11;\n        piVar8[0x1d] = 0;\n        piVar8[0x1e] = 0;\n        piVar8[0x1f] = 0;\n        piVar8[0x20] = 0;\n        piVar8[0x21] = 0;\n        piVar8[0x22] = 0;\n        *(undefined1 *)(piVar8 + 0x23) = 0;\n        piVar8[0x24] = iVar7 - iVar14 >> 2;\n        piVar8[0x25] = -1;\n        piVar8[0x26] = 0;\n        FUN_0015c3f0(piVar8,uVar3);\n        local_48[0] = 0;\n        local_48[1] = 0;\n        local_48[2] = 0;\n        local_64 = piVar8;\n                    \n        FUN_000abc70(local_48,&local_64);\n        FUN_00164400(uVar3,local_48);\n        if (local_48[0] == 0) goto LAB_0006f914;\n        FUN_00248220(local_48[0]);\n        puVar16 = *(undefined4 **)(iVar5 + 0x50);\n        if (puVar16 != *(undefined4 **)(iVar5 + 0x54)) goto LAB_0006f926;\nLAB_0006fbb0:\n        __src = *(undefined4 **)(iVar5 + 0x4c);\n        __n = (int)puVar16 - (int)__src;\n        uVar13 = (int)__n >> 2;\n        if (uVar13 == 0) {\n          local_8c = 4;\nLAB_0006fbe3:\n                    \n          __dest = (void *)FUN_00246670(local_8c);\n          local_8c = local_8c + (int)__dest;\n        }\n        else {\n          local_8c = -4;\n          uVar6 = uVar13 * 2;\n          if ((uVar6 < uVar13) || (0x3fffffff < uVar6)) goto LAB_0006fbe3;\n          if (uVar6 != 0) {\n            local_8c = uVar13 << 3;\n            goto LAB_0006fbe3;\n          }\n          local_8c = 0;\n          __dest = (void *)0x0;\n        }\n        *(int **)((int)__dest + __n) = piVar8;\n        if (puVar16 == __src) {\n          if (__src != (undefined4 *)0x0) goto LAB_0006fc33;\n        }\n        else {\n          memmove(__dest,__src,__n);\nLAB_0006fc33:\n          FUN_00248220(__src);\n        }\n        *(void **)(iVar5 + 0x4c) = __dest;\n        *(size_t *)(iVar5 + 0x50) = (int)__dest + __n + 4;\n        *(int *)(iVar5 + 0x54) = local_8c;\n      }\n      FUN_00248200(*local_7c,8);\n      local_7c = local_7c + 1;\n    } while (local_5c != local_7c);\n  }" if (parenthesized_expression "(local_60 != local_5c)" ( (binary_expression "local_60 != local_5c" identifier != identifier) )) (compound_statement "{\n    do {\n      piVar15 = (int *)((undefined4 *)*local_7c)[1];\n      if (*piVar15 + 4U < 4) {\n        if (*piVar15 != -4) {\n                    \n                    \n          FUN_000da200(unaff_EDI + 0x28787b,0xcc1,unaff_EDI + 0x2866cf);\n        }\n        piVar8 = (int *)piVar15[4];\nLAB_0006f914:\n        puVar16 = *(undefined4 **)(iVar5 + 0x50);\n        if (puVar16 == *(undefined4 **)(iVar5 + 0x54)) goto LAB_0006fbb0;\nLAB_0006f926:\n        *puVar16 = piVar8;\n        *(undefined4 **)(iVar5 + 0x50) = puVar16 + 1;\n      }\n      else {\n        uVar3 = *(undefined4 *)*local_7c;\n        iVar7 = *(int *)(iVar5 + 0x50);\n        iVar14 = *(int *)(iVar5 + 0x4c);\n        piVar8 = (int *)FUN_00246670(0xb0);\n                    \n        piVar9 = (int *)FUN_0015c600(piVar15);\n        uVar10 = FUN_0015c690(piVar15);\n        uVar18 = (**(code **)(*piVar9 + 0x5c))(piVar9,uVar10);\n        iVar11 = FUN_0015c690(piVar15);\n        iVar12 = FUN_0015c600(piVar15);\n        piVar8[0xb] = iVar12;\n        *(byte *)(piVar8 + 7) = *(byte *)(piVar8 + 7) & 0xe0;\n        piVar8[9] = (int)uVar18;\n        piVar8[0xc] = iVar11;\n        piVar8[1] = 0;\n        piVar8[2] = 0;\n        piVar8[3] = 0;\n        piVar8[4] = 0;\n        piVar8[5] = -1;\n        piVar8[6] = -1;\n        piVar8[8] = 0;\n        piVar8[10] = (int)((ulonglong)uVar18 >> 0x20);\n        piVar8[0xd] = iVar5;\n        *piVar8 = unaff_EDI + 0x39d467;\n        uVar13 = 0;\n        do {\n          *(undefined4 *)((int)piVar8 + uVar13 + 0x38) = 0;\n          uVar13 = uVar13 + 4;\n        } while (uVar13 < 0x1c);\n        piVar8[0xf] = 1;\n        piVar8[0x10] = 0;\n        piVar8[0x11] = 0;\n        piVar8[0x12] = 0x3f800000;\n        piVar8[0x13] = 0;\n        piVar8[0x14] = 0;\n        piVar8[0xe] = (int)(piVar8 + 0x14);\n        uVar13 = 0;\n        do {\n          *(undefined4 *)((int)piVar8 + uVar13 + 0x54) = 0;\n          uVar13 = uVar13 + 4;\n        } while (uVar13 < 0x1c);\n        piVar8[0x16] = 1;\n        piVar8[0x15] = (int)(piVar8 + 0x1b);\n        piVar8[0x17] = 0;\n        piVar8[0x18] = 0;\n        piVar8[0x19] = 0x3f800000;\n        piVar8[0x1a] = 0;\n        piVar8[0x1b] = 0;\n                    \n        iVar11 = FUN_0015c560(piVar15);\n        piVar8[0x1c] = iVar11;\n        piVar8[0x1d] = 0;\n        piVar8[0x1e] = 0;\n        piVar8[0x1f] = 0;\n        piVar8[0x20] = 0;\n        piVar8[0x21] = 0;\n        piVar8[0x22] = 0;\n        *(undefined1 *)(piVar8 + 0x23) = 0;\n        piVar8[0x24] = iVar7 - iVar14 >> 2;\n        piVar8[0x25] = -1;\n        piVar8[0x26] = 0;\n        FUN_0015c3f0(piVar8,uVar3);\n        local_48[0] = 0;\n        local_48[1] = 0;\n        local_48[2] = 0;\n        local_64 = piVar8;\n                    \n        FUN_000abc70(local_48,&local_64);\n        FUN_00164400(uVar3,local_48);\n        if (local_48[0] == 0) goto LAB_0006f914;\n        FUN_00248220(local_48[0]);\n        puVar16 = *(undefined4 **)(iVar5 + 0x50);\n        if (puVar16 != *(undefined4 **)(iVar5 + 0x54)) goto LAB_0006f926;\nLAB_0006fbb0:\n        __src = *(undefined4 **)(iVar5 + 0x4c);\n        __n = (int)puVar16 - (int)__src;\n        uVar13 = (int)__n >> 2;\n        if (uVar13 == 0) {\n          local_8c = 4;\nLAB_0006fbe3:\n                    \n          __dest = (void *)FUN_00246670(local_8c);\n          local_8c = local_8c + (int)__dest;\n        }\n        else {\n          local_8c = -4;\n          uVar6 = uVar13 * 2;\n          if ((uVar6 < uVar13) || (0x3fffffff < uVar6)) goto LAB_0006fbe3;\n          if (uVar6 != 0) {\n            local_8c = uVar13 << 3;\n            goto LAB_0006fbe3;\n          }\n          local_8c = 0;\n          __dest = (void *)0x0;\n        }\n        *(int **)((int)__dest + __n) = piVar8;\n        if (puVar16 == __src) {\n          if (__src != (undefined4 *)0x0) goto LAB_0006fc33;\n        }\n        else {\n          memmove(__dest,__src,__n);\nLAB_0006fc33:\n          FUN_00248220(__src);\n        }\n        *(void **)(iVar5 + 0x4c) = __dest;\n        *(size_t *)(iVar5 + 0x50) = (int)__dest + __n + 4;\n        *(int *)(iVar5 + 0x54) = local_8c;\n      }\n      FUN_00248200(*local_7c,8);\n      local_7c = local_7c + 1;\n    } while (local_5c != local_7c);\n  }" { (do_statement "do {\n      piVar15 = (int *)((undefined4 *)*local_7c)[1];\n      if (*piVar15 + 4U < 4) {\n        if (*piVar15 != -4) {\n                    \n                    \n          FUN_000da200(unaff_EDI + 0x28787b,0xcc1,unaff_EDI + 0x2866cf);\n        }\n        piVar8 = (int *)piVar15[4];\nLAB_0006f914:\n        puVar16 = *(undefined4 **)(iVar5 + 0x50);\n        if (puVar16 == *(undefined4 **)(iVar5 + 0x54)) goto LAB_0006fbb0;\nLAB_0006f926:\n        *puVar16 = piVar8;\n        *(undefined4 **)(iVar5 + 0x50) = puVar16 + 1;\n      }\n      else {\n        uVar3 = *(undefined4 *)*local_7c;\n        iVar7 = *(int *)(iVar5 + 0x50);\n        iVar14 = *(int *)(iVar5 + 0x4c);\n        piVar8 = (int *)FUN_00246670(0xb0);\n                    \n        piVar9 = (int *)FUN_0015c600(piVar15);\n        uVar10 = FUN_0015c690(piVar15);\n        uVar18 = (**(code **)(*piVar9 + 0x5c))(piVar9,uVar10);\n        iVar11 = FUN_0015c690(piVar15);\n        iVar12 = FUN_0015c600(piVar15);\n        piVar8[0xb] = iVar12;\n        *(byte *)(piVar8 + 7) = *(byte *)(piVar8 + 7) & 0xe0;\n        piVar8[9] = (int)uVar18;\n        piVar8[0xc] = iVar11;\n        piVar8[1] = 0;\n        piVar8[2] = 0;\n        piVar8[3] = 0;\n        piVar8[4] = 0;\n        piVar8[5] = -1;\n        piVar8[6] = -1;\n        piVar8[8] = 0;\n        piVar8[10] = (int)((ulonglong)uVar18 >> 0x20);\n        piVar8[0xd] = iVar5;\n        *piVar8 = unaff_EDI + 0x39d467;\n        uVar13 = 0;\n        do {\n          *(undefined4 *)((int)piVar8 + uVar13 + 0x38) = 0;\n          uVar13 = uVar13 + 4;\n        } while (uVar13 < 0x1c);\n        piVar8[0xf] = 1;\n        piVar8[0x10] = 0;\n        piVar8[0x11] = 0;\n        piVar8[0x12] = 0x3f800000;\n        piVar8[0x13] = 0;\n        piVar8[0x14] = 0;\n        piVar8[0xe] = (int)(piVar8 + 0x14);\n        uVar13 = 0;\n        do {\n          *(undefined4 *)((int)piVar8 + uVar13 + 0x54) = 0;\n          uVar13 = uVar13 + 4;\n        } while (uVar13 < 0x1c);\n        piVar8[0x16] = 1;\n        piVar8[0x15] = (int)(piVar8 + 0x1b);\n        piVar8[0x17] = 0;\n        piVar8[0x18] = 0;\n        piVar8[0x19] = 0x3f800000;\n        piVar8[0x1a] = 0;\n        piVar8[0x1b] = 0;\n                    \n        iVar11 = FUN_0015c560(piVar15);\n        piVar8[0x1c] = iVar11;\n        piVar8[0x1d] = 0;\n        piVar8[0x1e] = 0;\n        piVar8[0x1f] = 0;\n        piVar8[0x20] = 0;\n        piVar8[0x21] = 0;\n        piVar8[0x22] = 0;\n        *(undefined1 *)(piVar8 + 0x23) = 0;\n        piVar8[0x24] = iVar7 - iVar14 >> 2;\n        piVar8[0x25] = -1;\n        piVar8[0x26] = 0;\n        FUN_0015c3f0(piVar8,uVar3);\n        local_48[0] = 0;\n        local_48[1] = 0;\n        local_48[2] = 0;\n        local_64 = piVar8;\n                    \n        FUN_000abc70(local_48,&local_64);\n        FUN_00164400(uVar3,local_48);\n        if (local_48[0] == 0) goto LAB_0006f914;\n        FUN_00248220(local_48[0]);\n        puVar16 = *(undefined4 **)(iVar5 + 0x50);\n        if (puVar16 != *(undefined4 **)(iVar5 + 0x54)) goto LAB_0006f926;\nLAB_0006fbb0:\n        __src = *(undefined4 **)(iVar5 + 0x4c);\n        __n = (int)puVar16 - (int)__src;\n        uVar13 = (int)__n >> 2;\n        if (uVar13 == 0) {\n          local_8c = 4;\nLAB_0006fbe3:\n                    \n          __dest = (void *)FUN_00246670(local_8c);\n          local_8c = local_8c + (int)__dest;\n        }\n        else {\n          local_8c = -4;\n          uVar6 = uVar13 * 2;\n          if ((uVar6 < uVar13) || (0x3fffffff < uVar6)) goto LAB_0006fbe3;\n          if (uVar6 != 0) {\n            local_8c = uVar13 << 3;\n            goto LAB_0006fbe3;\n          }\n          local_8c = 0;\n          __dest = (void *)0x0;\n        }\n        *(int **)((int)__dest + __n) = piVar8;\n        if (puVar16 == __src) {\n          if (__src != (undefined4 *)0x0) goto LAB_0006fc33;\n        }\n        else {\n          memmove(__dest,__src,__n);\nLAB_0006fc33:\n          FUN_00248220(__src);\n        }\n        *(void **)(iVar5 + 0x4c) = __dest;\n        *(size_t *)(iVar5 + 0x50) = (int)__dest + __n + 4;\n        *(int *)(iVar5 + 0x54) = local_8c;\n      }\n      FUN_00248200(*local_7c,8);\n      local_7c = local_7c + 1;\n    } while (local_5c != local_7c);" do (compound_statement "{\n      piVar15 = (int *)((undefined4 *)*local_7c)[1];\n      if (*piVar15 + 4U < 4) {\n        if (*piVar15 != -4) {\n                    \n                    \n          FUN_000da200(unaff_EDI + 0x28787b,0xcc1,unaff_EDI + 0x2866cf);\n        }\n        piVar8 = (int *)piVar15[4];\nLAB_0006f914:\n        puVar16 = *(undefined4 **)(iVar5 + 0x50);\n        if (puVar16 == *(undefined4 **)(iVar5 + 0x54)) goto LAB_0006fbb0;\nLAB_0006f926:\n        *puVar16 = piVar8;\n        *(undefined4 **)(iVar5 + 0x50) = puVar16 + 1;\n      }\n      else {\n        uVar3 = *(undefined4 *)*local_7c;\n        iVar7 = *(int *)(iVar5 + 0x50);\n        iVar14 = *(int *)(iVar5 + 0x4c);\n        piVar8 = (int *)FUN_00246670(0xb0);\n                    \n        piVar9 = (int *)FUN_0015c600(piVar15);\n        uVar10 = FUN_0015c690(piVar15);\n        uVar18 = (**(code **)(*piVar9 + 0x5c))(piVar9,uVar10);\n        iVar11 = FUN_0015c690(piVar15);\n        iVar12 = FUN_0015c600(piVar15);\n        piVar8[0xb] = iVar12;\n        *(byte *)(piVar8 + 7) = *(byte *)(piVar8 + 7) & 0xe0;\n        piVar8[9] = (int)uVar18;\n        piVar8[0xc] = iVar11;\n        piVar8[1] = 0;\n        piVar8[2] = 0;\n        piVar8[3] = 0;\n        piVar8[4] = 0;\n        piVar8[5] = -1;\n        piVar8[6] = -1;\n        piVar8[8] = 0;\n        piVar8[10] = (int)((ulonglong)uVar18 >> 0x20);\n        piVar8[0xd] = iVar5;\n        *piVar8 = unaff_EDI + 0x39d467;\n        uVar13 = 0;\n        do {\n          *(undefined4 *)((int)piVar8 + uVar13 + 0x38) = 0;\n          uVar13 = uVar13 + 4;\n        } while (uVar13 < 0x1c);\n        piVar8[0xf] = 1;\n        piVar8[0x10] = 0;\n        piVar8[0x11] = 0;\n        piVar8[0x12] = 0x3f800000;\n        piVar8[0x13] = 0;\n        piVar8[0x14] = 0;\n        piVar8[0xe] = (int)(piVar8 + 0x14);\n        uVar13 = 0;\n        do {\n          *(undefined4 *)((int)piVar8 + uVar13 + 0x54) = 0;\n          uVar13 = uVar13 + 4;\n        } while (uVar13 < 0x1c);\n        piVar8[0x16] = 1;\n        piVar8[0x15] = (int)(piVar8 + 0x1b);\n        piVar8[0x17] = 0;\n        piVar8[0x18] = 0;\n        piVar8[0x19] = 0x3f800000;\n        piVar8[0x1a] = 0;\n        piVar8[0x1b] = 0;\n                    \n        iVar11 = FUN_0015c560(piVar15);\n        piVar8[0x1c] = iVar11;\n        piVar8[0x1d] = 0;\n        piVar8[0x1e] = 0;\n        piVar8[0x1f] = 0;\n        piVar8[0x20] = 0;\n        piVar8[0x21] = 0;\n        piVar8[0x22] = 0;\n        *(undefined1 *)(piVar8 + 0x23) = 0;\n        piVar8[0x24] = iVar7 - iVar14 >> 2;\n        piVar8[0x25] = -1;\n        piVar8[0x26] = 0;\n        FUN_0015c3f0(piVar8,uVar3);\n        local_48[0] = 0;\n        local_48[1] = 0;\n        local_48[2] = 0;\n        local_64 = piVar8;\n                    \n        FUN_000abc70(local_48,&local_64);\n        FUN_00164400(uVar3,local_48);\n        if (local_48[0] == 0) goto LAB_0006f914;\n        FUN_00248220(local_48[0]);\n        puVar16 = *(undefined4 **)(iVar5 + 0x50);\n        if (puVar16 != *(undefined4 **)(iVar5 + 0x54)) goto LAB_0006f926;\nLAB_0006fbb0:\n        __src = *(undefined4 **)(iVar5 + 0x4c);\n        __n = (int)puVar16 - (int)__src;\n        uVar13 = (int)__n >> 2;\n        if (uVar13 == 0) {\n          local_8c = 4;\nLAB_0006fbe3:\n                    \n          __dest = (void *)FUN_00246670(local_8c);\n          local_8c = local_8c + (int)__dest;\n        }\n        else {\n          local_8c = -4;\n          uVar6 = uVar13 * 2;\n          if ((uVar6 < uVar13) || (0x3fffffff < uVar6)) goto LAB_0006fbe3;\n          if (uVar6 != 0) {\n            local_8c = uVar13 << 3;\n            goto LAB_0006fbe3;\n          }\n          local_8c = 0;\n          __dest = (void *)0x0;\n        }\n        *(int **)((int)__dest + __n) = piVar8;\n        if (puVar16 == __src) {\n          if (__src != (undefined4 *)0x0) goto LAB_0006fc33;\n        }\n        else {\n          memmove(__dest,__src,__n);\nLAB_0006fc33:\n          FUN_00248220(__src);\n        }\n        *(void **)(iVar5 + 0x4c) = __dest;\n        *(size_t *)(iVar5 + 0x50) = (int)__dest + __n + 4;\n        *(int *)(iVar5 + 0x54) = local_8c;\n      }\n      FUN_00248200(*local_7c,8);\n      local_7c = local_7c + 1;\n    }" { (expression_statement "piVar15 = (int *)((undefined4 *)*local_7c)[1];" (assignment_expression "piVar15 = (int *)((undefined4 *)*local_7c)[1]" identifier = (cast_expression "(int *)((undefined4 *)*local_7c)[1]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "((undefined4 *)*local_7c)[1]" (parenthesized_expression "((undefined4 *)*local_7c)" ( (cast_expression "(undefined4 *)*local_7c" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*local_7c" * identifier)) )) [ number_literal ]))) ;) (if_statement "if (*piVar15 + 4U < 4) {\n        if (*piVar15 != -4) {\n                    \n                    \n          FUN_000da200(unaff_EDI + 0x28787b,0xcc1,unaff_EDI + 0x2866cf);\n        }\n        piVar8 = (int *)piVar15[4];\nLAB_0006f914:\n        puVar16 = *(undefined4 **)(iVar5 + 0x50);\n        if (puVar16 == *(undefined4 **)(iVar5 + 0x54)) goto LAB_0006fbb0;\nLAB_0006f926:\n        *puVar16 = piVar8;\n        *(undefined4 **)(iVar5 + 0x50) = puVar16 + 1;\n      }\n      else {\n        uVar3 = *(undefined4 *)*local_7c;\n        iVar7 = *(int *)(iVar5 + 0x50);\n        iVar14 = *(int *)(iVar5 + 0x4c);\n        piVar8 = (int *)FUN_00246670(0xb0);\n                    \n        piVar9 = (int *)FUN_0015c600(piVar15);\n        uVar10 = FUN_0015c690(piVar15);\n        uVar18 = (**(code **)(*piVar9 + 0x5c))(piVar9,uVar10);\n        iVar11 = FUN_0015c690(piVar15);\n        iVar12 = FUN_0015c600(piVar15);\n        piVar8[0xb] = iVar12;\n        *(byte *)(piVar8 + 7) = *(byte *)(piVar8 + 7) & 0xe0;\n        piVar8[9] = (int)uVar18;\n        piVar8[0xc] = iVar11;\n        piVar8[1] = 0;\n        piVar8[2] = 0;\n        piVar8[3] = 0;\n        piVar8[4] = 0;\n        piVar8[5] = -1;\n        piVar8[6] = -1;\n        piVar8[8] = 0;\n        piVar8[10] = (int)((ulonglong)uVar18 >> 0x20);\n        piVar8[0xd] = iVar5;\n        *piVar8 = unaff_EDI + 0x39d467;\n        uVar13 = 0;\n        do {\n          *(undefined4 *)((int)piVar8 + uVar13 + 0x38) = 0;\n          uVar13 = uVar13 + 4;\n        } while (uVar13 < 0x1c);\n        piVar8[0xf] = 1;\n        piVar8[0x10] = 0;\n        piVar8[0x11] = 0;\n        piVar8[0x12] = 0x3f800000;\n        piVar8[0x13] = 0;\n        piVar8[0x14] = 0;\n        piVar8[0xe] = (int)(piVar8 + 0x14);\n        uVar13 = 0;\n        do {\n          *(undefined4 *)((int)piVar8 + uVar13 + 0x54) = 0;\n          uVar13 = uVar13 + 4;\n        } while (uVar13 < 0x1c);\n        piVar8[0x16] = 1;\n        piVar8[0x15] = (int)(piVar8 + 0x1b);\n        piVar8[0x17] = 0;\n        piVar8[0x18] = 0;\n        piVar8[0x19] = 0x3f800000;\n        piVar8[0x1a] = 0;\n        piVar8[0x1b] = 0;\n                    \n        iVar11 = FUN_0015c560(piVar15);\n        piVar8[0x1c] = iVar11;\n        piVar8[0x1d] = 0;\n        piVar8[0x1e] = 0;\n        piVar8[0x1f] = 0;\n        piVar8[0x20] = 0;\n        piVar8[0x21] = 0;\n        piVar8[0x22] = 0;\n        *(undefined1 *)(piVar8 + 0x23) = 0;\n        piVar8[0x24] = iVar7 - iVar14 >> 2;\n        piVar8[0x25] = -1;\n        piVar8[0x26] = 0;\n        FUN_0015c3f0(piVar8,uVar3);\n        local_48[0] = 0;\n        local_48[1] = 0;\n        local_48[2] = 0;\n        local_64 = piVar8;\n                    \n        FUN_000abc70(local_48,&local_64);\n        FUN_00164400(uVar3,local_48);\n        if (local_48[0] == 0) goto LAB_0006f914;\n        FUN_00248220(local_48[0]);\n        puVar16 = *(undefined4 **)(iVar5 + 0x50);\n        if (puVar16 != *(undefined4 **)(iVar5 + 0x54)) goto LAB_0006f926;\nLAB_0006fbb0:\n        __src = *(undefined4 **)(iVar5 + 0x4c);\n        __n = (int)puVar16 - (int)__src;\n        uVar13 = (int)__n >> 2;\n        if (uVar13 == 0) {\n          local_8c = 4;\nLAB_0006fbe3:\n                    \n          __dest = (void *)FUN_00246670(local_8c);\n          local_8c = local_8c + (int)__dest;\n        }\n        else {\n          local_8c = -4;\n          uVar6 = uVar13 * 2;\n          if ((uVar6 < uVar13) || (0x3fffffff < uVar6)) goto LAB_0006fbe3;\n          if (uVar6 != 0) {\n            local_8c = uVar13 << 3;\n            goto LAB_0006fbe3;\n          }\n          local_8c = 0;\n          __dest = (void *)0x0;\n        }\n        *(int **)((int)__dest + __n) = piVar8;\n        if (puVar16 == __src) {\n          if (__src != (undefined4 *)0x0) goto LAB_0006fc33;\n        }\n        else {\n          memmove(__dest,__src,__n);\nLAB_0006fc33:\n          FUN_00248220(__src);\n        }\n        *(void **)(iVar5 + 0x4c) = __dest;\n        *(size_t *)(iVar5 + 0x50) = (int)__dest + __n + 4;\n        *(int *)(iVar5 + 0x54) = local_8c;\n      }" if (parenthesized_expression "(*piVar15 + 4U < 4)" ( (binary_expression "*piVar15 + 4U < 4" (binary_expression "*piVar15 + 4U" (pointer_expression "*piVar15" * identifier) + number_literal) < number_literal) )) (compound_statement "{\n        if (*piVar15 != -4) {\n                    \n                    \n          FUN_000da200(unaff_EDI + 0x28787b,0xcc1,unaff_EDI + 0x2866cf);\n        }\n        piVar8 = (int *)piVar15[4];\nLAB_0006f914:\n        puVar16 = *(undefined4 **)(iVar5 + 0x50);\n        if (puVar16 == *(undefined4 **)(iVar5 + 0x54)) goto LAB_0006fbb0;\nLAB_0006f926:\n        *puVar16 = piVar8;\n        *(undefined4 **)(iVar5 + 0x50) = puVar16 + 1;\n      }" { (if_statement "if (*piVar15 != -4) {\n                    \n                    \n          FUN_000da200(unaff_EDI + 0x28787b,0xcc1,unaff_EDI + 0x2866cf);\n        }" if (parenthesized_expression "(*piVar15 != -4)" ( (binary_expression "*piVar15 != -4" (pointer_expression "*piVar15" * identifier) != number_literal) )) (compound_statement "{\n                    \n                    \n          FUN_000da200(unaff_EDI + 0x28787b,0xcc1,unaff_EDI + 0x2866cf);\n        }" { (expression_statement "FUN_000da200(unaff_EDI + 0x28787b,0xcc1,unaff_EDI + 0x2866cf);" (call_expression "FUN_000da200(unaff_EDI + 0x28787b,0xcc1,unaff_EDI + 0x2866cf)" identifier (argument_list "(unaff_EDI + 0x28787b,0xcc1,unaff_EDI + 0x2866cf)" ( (binary_expression "unaff_EDI + 0x28787b" identifier + number_literal) , number_literal , (binary_expression "unaff_EDI + 0x2866cf" identifier + number_literal) ))) ;) })) (expression_statement "piVar8 = (int *)piVar15[4];" (assignment_expression "piVar8 = (int *)piVar15[4]" identifier = (cast_expression "(int *)piVar15[4]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar15[4]" identifier [ number_literal ]))) ;) (labeled_statement "LAB_0006f914:\n        puVar16 = *(undefined4 **)(iVar5 + 0x50);" statement_identifier : (expression_statement "puVar16 = *(undefined4 **)(iVar5 + 0x50);" (assignment_expression "puVar16 = *(undefined4 **)(iVar5 + 0x50)" identifier = (pointer_expression "*(undefined4 **)(iVar5 + 0x50)" * (cast_expression "(undefined4 **)(iVar5 + 0x50)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar5 + 0x50)" ( (binary_expression "iVar5 + 0x50" identifier + number_literal) ))))) ;)) (if_statement "if (puVar16 == *(undefined4 **)(iVar5 + 0x54)) goto LAB_0006fbb0;" if (parenthesized_expression "(puVar16 == *(undefined4 **)(iVar5 + 0x54))" ( (binary_expression "puVar16 == *(undefined4 **)(iVar5 + 0x54)" identifier == (pointer_expression "*(undefined4 **)(iVar5 + 0x54)" * (cast_expression "(undefined4 **)(iVar5 + 0x54)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar5 + 0x54)" ( (binary_expression "iVar5 + 0x54" identifier + number_literal) ))))) )) (goto_statement "goto LAB_0006fbb0;" goto statement_identifier ;)) (labeled_statement "LAB_0006f926:\n        *puVar16 = piVar8;" statement_identifier : (expression_statement "*puVar16 = piVar8;" (assignment_expression "*puVar16 = piVar8" (pointer_expression "*puVar16" * identifier) = identifier) ;)) (expression_statement "*(undefined4 **)(iVar5 + 0x50) = puVar16 + 1;" (assignment_expression "*(undefined4 **)(iVar5 + 0x50) = puVar16 + 1" (pointer_expression "*(undefined4 **)(iVar5 + 0x50)" * (cast_expression "(undefined4 **)(iVar5 + 0x50)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar5 + 0x50)" ( (binary_expression "iVar5 + 0x50" identifier + number_literal) )))) = (binary_expression "puVar16 + 1" identifier + number_literal)) ;) }) (else_clause "else {\n        uVar3 = *(undefined4 *)*local_7c;\n        iVar7 = *(int *)(iVar5 + 0x50);\n        iVar14 = *(int *)(iVar5 + 0x4c);\n        piVar8 = (int *)FUN_00246670(0xb0);\n                    \n        piVar9 = (int *)FUN_0015c600(piVar15);\n        uVar10 = FUN_0015c690(piVar15);\n        uVar18 = (**(code **)(*piVar9 + 0x5c))(piVar9,uVar10);\n        iVar11 = FUN_0015c690(piVar15);\n        iVar12 = FUN_0015c600(piVar15);\n        piVar8[0xb] = iVar12;\n        *(byte *)(piVar8 + 7) = *(byte *)(piVar8 + 7) & 0xe0;\n        piVar8[9] = (int)uVar18;\n        piVar8[0xc] = iVar11;\n        piVar8[1] = 0;\n        piVar8[2] = 0;\n        piVar8[3] = 0;\n        piVar8[4] = 0;\n        piVar8[5] = -1;\n        piVar8[6] = -1;\n        piVar8[8] = 0;\n        piVar8[10] = (int)((ulonglong)uVar18 >> 0x20);\n        piVar8[0xd] = iVar5;\n        *piVar8 = unaff_EDI + 0x39d467;\n        uVar13 = 0;\n        do {\n          *(undefined4 *)((int)piVar8 + uVar13 + 0x38) = 0;\n          uVar13 = uVar13 + 4;\n        } while (uVar13 < 0x1c);\n        piVar8[0xf] = 1;\n        piVar8[0x10] = 0;\n        piVar8[0x11] = 0;\n        piVar8[0x12] = 0x3f800000;\n        piVar8[0x13] = 0;\n        piVar8[0x14] = 0;\n        piVar8[0xe] = (int)(piVar8 + 0x14);\n        uVar13 = 0;\n        do {\n          *(undefined4 *)((int)piVar8 + uVar13 + 0x54) = 0;\n          uVar13 = uVar13 + 4;\n        } while (uVar13 < 0x1c);\n        piVar8[0x16] = 1;\n        piVar8[0x15] = (int)(piVar8 + 0x1b);\n        piVar8[0x17] = 0;\n        piVar8[0x18] = 0;\n        piVar8[0x19] = 0x3f800000;\n        piVar8[0x1a] = 0;\n        piVar8[0x1b] = 0;\n                    \n        iVar11 = FUN_0015c560(piVar15);\n        piVar8[0x1c] = iVar11;\n        piVar8[0x1d] = 0;\n        piVar8[0x1e] = 0;\n        piVar8[0x1f] = 0;\n        piVar8[0x20] = 0;\n        piVar8[0x21] = 0;\n        piVar8[0x22] = 0;\n        *(undefined1 *)(piVar8 + 0x23) = 0;\n        piVar8[0x24] = iVar7 - iVar14 >> 2;\n        piVar8[0x25] = -1;\n        piVar8[0x26] = 0;\n        FUN_0015c3f0(piVar8,uVar3);\n        local_48[0] = 0;\n        local_48[1] = 0;\n        local_48[2] = 0;\n        local_64 = piVar8;\n                    \n        FUN_000abc70(local_48,&local_64);\n        FUN_00164400(uVar3,local_48);\n        if (local_48[0] == 0) goto LAB_0006f914;\n        FUN_00248220(local_48[0]);\n        puVar16 = *(undefined4 **)(iVar5 + 0x50);\n        if (puVar16 != *(undefined4 **)(iVar5 + 0x54)) goto LAB_0006f926;\nLAB_0006fbb0:\n        __src = *(undefined4 **)(iVar5 + 0x4c);\n        __n = (int)puVar16 - (int)__src;\n        uVar13 = (int)__n >> 2;\n        if (uVar13 == 0) {\n          local_8c = 4;\nLAB_0006fbe3:\n                    \n          __dest = (void *)FUN_00246670(local_8c);\n          local_8c = local_8c + (int)__dest;\n        }\n        else {\n          local_8c = -4;\n          uVar6 = uVar13 * 2;\n          if ((uVar6 < uVar13) || (0x3fffffff < uVar6)) goto LAB_0006fbe3;\n          if (uVar6 != 0) {\n            local_8c = uVar13 << 3;\n            goto LAB_0006fbe3;\n          }\n          local_8c = 0;\n          __dest = (void *)0x0;\n        }\n        *(int **)((int)__dest + __n) = piVar8;\n        if (puVar16 == __src) {\n          if (__src != (undefined4 *)0x0) goto LAB_0006fc33;\n        }\n        else {\n          memmove(__dest,__src,__n);\nLAB_0006fc33:\n          FUN_00248220(__src);\n        }\n        *(void **)(iVar5 + 0x4c) = __dest;\n        *(size_t *)(iVar5 + 0x50) = (int)__dest + __n + 4;\n        *(int *)(iVar5 + 0x54) = local_8c;\n      }" else (compound_statement "{\n        uVar3 = *(undefined4 *)*local_7c;\n        iVar7 = *(int *)(iVar5 + 0x50);\n        iVar14 = *(int *)(iVar5 + 0x4c);\n        piVar8 = (int *)FUN_00246670(0xb0);\n                    \n        piVar9 = (int *)FUN_0015c600(piVar15);\n        uVar10 = FUN_0015c690(piVar15);\n        uVar18 = (**(code **)(*piVar9 + 0x5c))(piVar9,uVar10);\n        iVar11 = FUN_0015c690(piVar15);\n        iVar12 = FUN_0015c600(piVar15);\n        piVar8[0xb] = iVar12;\n        *(byte *)(piVar8 + 7) = *(byte *)(piVar8 + 7) & 0xe0;\n        piVar8[9] = (int)uVar18;\n        piVar8[0xc] = iVar11;\n        piVar8[1] = 0;\n        piVar8[2] = 0;\n        piVar8[3] = 0;\n        piVar8[4] = 0;\n        piVar8[5] = -1;\n        piVar8[6] = -1;\n        piVar8[8] = 0;\n        piVar8[10] = (int)((ulonglong)uVar18 >> 0x20);\n        piVar8[0xd] = iVar5;\n        *piVar8 = unaff_EDI + 0x39d467;\n        uVar13 = 0;\n        do {\n          *(undefined4 *)((int)piVar8 + uVar13 + 0x38) = 0;\n          uVar13 = uVar13 + 4;\n        } while (uVar13 < 0x1c);\n        piVar8[0xf] = 1;\n        piVar8[0x10] = 0;\n        piVar8[0x11] = 0;\n        piVar8[0x12] = 0x3f800000;\n        piVar8[0x13] = 0;\n        piVar8[0x14] = 0;\n        piVar8[0xe] = (int)(piVar8 + 0x14);\n        uVar13 = 0;\n        do {\n          *(undefined4 *)((int)piVar8 + uVar13 + 0x54) = 0;\n          uVar13 = uVar13 + 4;\n        } while (uVar13 < 0x1c);\n        piVar8[0x16] = 1;\n        piVar8[0x15] = (int)(piVar8 + 0x1b);\n        piVar8[0x17] = 0;\n        piVar8[0x18] = 0;\n        piVar8[0x19] = 0x3f800000;\n        piVar8[0x1a] = 0;\n        piVar8[0x1b] = 0;\n                    \n        iVar11 = FUN_0015c560(piVar15);\n        piVar8[0x1c] = iVar11;\n        piVar8[0x1d] = 0;\n        piVar8[0x1e] = 0;\n        piVar8[0x1f] = 0;\n        piVar8[0x20] = 0;\n        piVar8[0x21] = 0;\n        piVar8[0x22] = 0;\n        *(undefined1 *)(piVar8 + 0x23) = 0;\n        piVar8[0x24] = iVar7 - iVar14 >> 2;\n        piVar8[0x25] = -1;\n        piVar8[0x26] = 0;\n        FUN_0015c3f0(piVar8,uVar3);\n        local_48[0] = 0;\n        local_48[1] = 0;\n        local_48[2] = 0;\n        local_64 = piVar8;\n                    \n        FUN_000abc70(local_48,&local_64);\n        FUN_00164400(uVar3,local_48);\n        if (local_48[0] == 0) goto LAB_0006f914;\n        FUN_00248220(local_48[0]);\n        puVar16 = *(undefined4 **)(iVar5 + 0x50);\n        if (puVar16 != *(undefined4 **)(iVar5 + 0x54)) goto LAB_0006f926;\nLAB_0006fbb0:\n        __src = *(undefined4 **)(iVar5 + 0x4c);\n        __n = (int)puVar16 - (int)__src;\n        uVar13 = (int)__n >> 2;\n        if (uVar13 == 0) {\n          local_8c = 4;\nLAB_0006fbe3:\n                    \n          __dest = (void *)FUN_00246670(local_8c);\n          local_8c = local_8c + (int)__dest;\n        }\n        else {\n          local_8c = -4;\n          uVar6 = uVar13 * 2;\n          if ((uVar6 < uVar13) || (0x3fffffff < uVar6)) goto LAB_0006fbe3;\n          if (uVar6 != 0) {\n            local_8c = uVar13 << 3;\n            goto LAB_0006fbe3;\n          }\n          local_8c = 0;\n          __dest = (void *)0x0;\n        }\n        *(int **)((int)__dest + __n) = piVar8;\n        if (puVar16 == __src) {\n          if (__src != (undefined4 *)0x0) goto LAB_0006fc33;\n        }\n        else {\n          memmove(__dest,__src,__n);\nLAB_0006fc33:\n          FUN_00248220(__src);\n        }\n        *(void **)(iVar5 + 0x4c) = __dest;\n        *(size_t *)(iVar5 + 0x50) = (int)__dest + __n + 4;\n        *(int *)(iVar5 + 0x54) = local_8c;\n      }" { (expression_statement "uVar3 = *(undefined4 *)*local_7c;" (assignment_expression "uVar3 = *(undefined4 *)*local_7c" identifier = (pointer_expression "*(undefined4 *)*local_7c" * (cast_expression "(undefined4 *)*local_7c" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*local_7c" * identifier)))) ;) (expression_statement "iVar7 = *(int *)(iVar5 + 0x50);" (assignment_expression "iVar7 = *(int *)(iVar5 + 0x50)" identifier = (pointer_expression "*(int *)(iVar5 + 0x50)" * (cast_expression "(int *)(iVar5 + 0x50)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 0x50)" ( (binary_expression "iVar5 + 0x50" identifier + number_literal) ))))) ;) (expression_statement "iVar14 = *(int *)(iVar5 + 0x4c);" (assignment_expression "iVar14 = *(int *)(iVar5 + 0x4c)" identifier = (pointer_expression "*(int *)(iVar5 + 0x4c)" * (cast_expression "(int *)(iVar5 + 0x4c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 0x4c)" ( (binary_expression "iVar5 + 0x4c" identifier + number_literal) ))))) ;) (expression_statement "piVar8 = (int *)FUN_00246670(0xb0);" (assignment_expression "piVar8 = (int *)FUN_00246670(0xb0)" identifier = (cast_expression "(int *)FUN_00246670(0xb0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_00246670(0xb0)" identifier (argument_list "(0xb0)" ( number_literal ))))) ;) (expression_statement "piVar9 = (int *)FUN_0015c600(piVar15);" (assignment_expression "piVar9 = (int *)FUN_0015c600(piVar15)" identifier = (cast_expression "(int *)FUN_0015c600(piVar15)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_0015c600(piVar15)" identifier (argument_list "(piVar15)" ( identifier ))))) ;) (expression_statement "uVar10 = FUN_0015c690(piVar15);" (assignment_expression "uVar10 = FUN_0015c690(piVar15)" identifier = (call_expression "FUN_0015c690(piVar15)" identifier (argument_list "(piVar15)" ( identifier )))) ;) (expression_statement "uVar18 = (**(code **)(*piVar9 + 0x5c))(piVar9,uVar10);" (assignment_expression "uVar18 = (**(code **)(*piVar9 + 0x5c))(piVar9,uVar10)" identifier = (call_expression "(**(code **)(*piVar9 + 0x5c))(piVar9,uVar10)" (parenthesized_expression "(**(code **)(*piVar9 + 0x5c))" ( (pointer_expression "**(code **)(*piVar9 + 0x5c)" * (pointer_expression "*(code **)(*piVar9 + 0x5c)" * (cast_expression "(code **)(*piVar9 + 0x5c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*piVar9 + 0x5c)" ( (binary_expression "*piVar9 + 0x5c" (pointer_expression "*piVar9" * identifier) + number_literal) ))))) )) (argument_list "(piVar9,uVar10)" ( identifier , identifier )))) ;) (expression_statement "iVar11 = FUN_0015c690(piVar15);" (assignment_expression "iVar11 = FUN_0015c690(piVar15)" identifier = (call_expression "FUN_0015c690(piVar15)" identifier (argument_list "(piVar15)" ( identifier )))) ;) (expression_statement "iVar12 = FUN_0015c600(piVar15);" (assignment_expression "iVar12 = FUN_0015c600(piVar15)" identifier = (call_expression "FUN_0015c600(piVar15)" identifier (argument_list "(piVar15)" ( identifier )))) ;) (expression_statement "piVar8[0xb] = iVar12;" (assignment_expression "piVar8[0xb] = iVar12" (subscript_expression "piVar8[0xb]" identifier [ number_literal ]) = identifier) ;) (expression_statement "*(byte *)(piVar8 + 7) = *(byte *)(piVar8 + 7) & 0xe0;" (assignment_expression "*(byte *)(piVar8 + 7) = *(byte *)(piVar8 + 7) & 0xe0" (pointer_expression "*(byte *)(piVar8 + 7)" * (cast_expression "(byte *)(piVar8 + 7)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar8 + 7)" ( (binary_expression "piVar8 + 7" identifier + number_literal) )))) = (binary_expression "*(byte *)(piVar8 + 7) & 0xe0" (pointer_expression "*(byte *)(piVar8 + 7)" * (cast_expression "(byte *)(piVar8 + 7)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar8 + 7)" ( (binary_expression "piVar8 + 7" identifier + number_literal) )))) & number_literal)) ;) (expression_statement "piVar8[9] = (int)uVar18;" (assignment_expression "piVar8[9] = (int)uVar18" (subscript_expression "piVar8[9]" identifier [ number_literal ]) = (cast_expression "(int)uVar18" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "piVar8[0xc] = iVar11;" (assignment_expression "piVar8[0xc] = iVar11" (subscript_expression "piVar8[0xc]" identifier [ number_literal ]) = identifier) ;) (expression_statement "piVar8[1] = 0;" (assignment_expression "piVar8[1] = 0" (subscript_expression "piVar8[1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar8[2] = 0;" (assignment_expression "piVar8[2] = 0" (subscript_expression "piVar8[2]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar8[3] = 0;" (assignment_expression "piVar8[3] = 0" (subscript_expression "piVar8[3]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar8[4] = 0;" (assignment_expression "piVar8[4] = 0" (subscript_expression "piVar8[4]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar8[5] = -1;" (assignment_expression "piVar8[5] = -1" (subscript_expression "piVar8[5]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar8[6] = -1;" (assignment_expression "piVar8[6] = -1" (subscript_expression "piVar8[6]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar8[8] = 0;" (assignment_expression "piVar8[8] = 0" (subscript_expression "piVar8[8]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar8[10] = (int)((ulonglong)uVar18 >> 0x20);" (assignment_expression "piVar8[10] = (int)((ulonglong)uVar18 >> 0x20)" (subscript_expression "piVar8[10]" identifier [ number_literal ]) = (cast_expression "(int)((ulonglong)uVar18 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)uVar18 >> 0x20)" ( (binary_expression "(ulonglong)uVar18 >> 0x20" (cast_expression "(ulonglong)uVar18" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) )))) ;) (expression_statement "piVar8[0xd] = iVar5;" (assignment_expression "piVar8[0xd] = iVar5" (subscript_expression "piVar8[0xd]" identifier [ number_literal ]) = identifier) ;) (expression_statement "*piVar8 = unaff_EDI + 0x39d467;" (assignment_expression "*piVar8 = unaff_EDI + 0x39d467" (pointer_expression "*piVar8" * identifier) = (binary_expression "unaff_EDI + 0x39d467" identifier + number_literal)) ;) (expression_statement "uVar13 = 0;" (assignment_expression "uVar13 = 0" identifier = number_literal) ;) (do_statement "do {\n          *(undefined4 *)((int)piVar8 + uVar13 + 0x38) = 0;\n          uVar13 = uVar13 + 4;\n        } while (uVar13 < 0x1c);" do (compound_statement "{\n          *(undefined4 *)((int)piVar8 + uVar13 + 0x38) = 0;\n          uVar13 = uVar13 + 4;\n        }" { (expression_statement "*(undefined4 *)((int)piVar8 + uVar13 + 0x38) = 0;" (assignment_expression "*(undefined4 *)((int)piVar8 + uVar13 + 0x38) = 0" (pointer_expression "*(undefined4 *)((int)piVar8 + uVar13 + 0x38)" * (cast_expression "(undefined4 *)((int)piVar8 + uVar13 + 0x38)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar8 + uVar13 + 0x38)" ( (binary_expression "(int)piVar8 + uVar13 + 0x38" (binary_expression "(int)piVar8 + uVar13" (cast_expression "(int)piVar8" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + number_literal) )))) = number_literal) ;) (expression_statement "uVar13 = uVar13 + 4;" (assignment_expression "uVar13 = uVar13 + 4" identifier = (binary_expression "uVar13 + 4" identifier + number_literal)) ;) }) while (parenthesized_expression "(uVar13 < 0x1c)" ( (binary_expression "uVar13 < 0x1c" identifier < number_literal) )) ;) (expression_statement "piVar8[0xf] = 1;" (assignment_expression "piVar8[0xf] = 1" (subscript_expression "piVar8[0xf]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar8[0x10] = 0;" (assignment_expression "piVar8[0x10] = 0" (subscript_expression "piVar8[0x10]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar8[0x11] = 0;" (assignment_expression "piVar8[0x11] = 0" (subscript_expression "piVar8[0x11]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar8[0x12] = 0x3f800000;" (assignment_expression "piVar8[0x12] = 0x3f800000" (subscript_expression "piVar8[0x12]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar8[0x13] = 0;" (assignment_expression "piVar8[0x13] = 0" (subscript_expression "piVar8[0x13]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar8[0x14] = 0;" (assignment_expression "piVar8[0x14] = 0" (subscript_expression "piVar8[0x14]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar8[0xe] = (int)(piVar8 + 0x14);" (assignment_expression "piVar8[0xe] = (int)(piVar8 + 0x14)" (subscript_expression "piVar8[0xe]" identifier [ number_literal ]) = (cast_expression "(int)(piVar8 + 0x14)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(piVar8 + 0x14)" ( (binary_expression "piVar8 + 0x14" identifier + number_literal) )))) ;) (expression_statement "uVar13 = 0;" (assignment_expression "uVar13 = 0" identifier = number_literal) ;) (do_statement "do {\n          *(undefined4 *)((int)piVar8 + uVar13 + 0x54) = 0;\n          uVar13 = uVar13 + 4;\n        } while (uVar13 < 0x1c);" do (compound_statement "{\n          *(undefined4 *)((int)piVar8 + uVar13 + 0x54) = 0;\n          uVar13 = uVar13 + 4;\n        }" { (expression_statement "*(undefined4 *)((int)piVar8 + uVar13 + 0x54) = 0;" (assignment_expression "*(undefined4 *)((int)piVar8 + uVar13 + 0x54) = 0" (pointer_expression "*(undefined4 *)((int)piVar8 + uVar13 + 0x54)" * (cast_expression "(undefined4 *)((int)piVar8 + uVar13 + 0x54)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar8 + uVar13 + 0x54)" ( (binary_expression "(int)piVar8 + uVar13 + 0x54" (binary_expression "(int)piVar8 + uVar13" (cast_expression "(int)piVar8" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + number_literal) )))) = number_literal) ;) (expression_statement "uVar13 = uVar13 + 4;" (assignment_expression "uVar13 = uVar13 + 4" identifier = (binary_expression "uVar13 + 4" identifier + number_literal)) ;) }) while (parenthesized_expression "(uVar13 < 0x1c)" ( (binary_expression "uVar13 < 0x1c" identifier < number_literal) )) ;) (expression_statement "piVar8[0x16] = 1;" (assignment_expression "piVar8[0x16] = 1" (subscript_expression "piVar8[0x16]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar8[0x15] = (int)(piVar8 + 0x1b);" (assignment_expression "piVar8[0x15] = (int)(piVar8 + 0x1b)" (subscript_expression "piVar8[0x15]" identifier [ number_literal ]) = (cast_expression "(int)(piVar8 + 0x1b)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(piVar8 + 0x1b)" ( (binary_expression "piVar8 + 0x1b" identifier + number_literal) )))) ;) (expression_statement "piVar8[0x17] = 0;" (assignment_expression "piVar8[0x17] = 0" (subscript_expression "piVar8[0x17]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar8[0x18] = 0;" (assignment_expression "piVar8[0x18] = 0" (subscript_expression "piVar8[0x18]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar8[0x19] = 0x3f800000;" (assignment_expression "piVar8[0x19] = 0x3f800000" (subscript_expression "piVar8[0x19]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar8[0x1a] = 0;" (assignment_expression "piVar8[0x1a] = 0" (subscript_expression "piVar8[0x1a]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar8[0x1b] = 0;" (assignment_expression "piVar8[0x1b] = 0" (subscript_expression "piVar8[0x1b]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "iVar11 = FUN_0015c560(piVar15);" (assignment_expression "iVar11 = FUN_0015c560(piVar15)" identifier = (call_expression "FUN_0015c560(piVar15)" identifier (argument_list "(piVar15)" ( identifier )))) ;) (expression_statement "piVar8[0x1c] = iVar11;" (assignment_expression "piVar8[0x1c] = iVar11" (subscript_expression "piVar8[0x1c]" identifier [ number_literal ]) = identifier) ;) (expression_statement "piVar8[0x1d] = 0;" (assignment_expression "piVar8[0x1d] = 0" (subscript_expression "piVar8[0x1d]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar8[0x1e] = 0;" (assignment_expression "piVar8[0x1e] = 0" (subscript_expression "piVar8[0x1e]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar8[0x1f] = 0;" (assignment_expression "piVar8[0x1f] = 0" (subscript_expression "piVar8[0x1f]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar8[0x20] = 0;" (assignment_expression "piVar8[0x20] = 0" (subscript_expression "piVar8[0x20]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar8[0x21] = 0;" (assignment_expression "piVar8[0x21] = 0" (subscript_expression "piVar8[0x21]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar8[0x22] = 0;" (assignment_expression "piVar8[0x22] = 0" (subscript_expression "piVar8[0x22]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "*(undefined1 *)(piVar8 + 0x23) = 0;" (assignment_expression "*(undefined1 *)(piVar8 + 0x23) = 0" (pointer_expression "*(undefined1 *)(piVar8 + 0x23)" * (cast_expression "(undefined1 *)(piVar8 + 0x23)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar8 + 0x23)" ( (binary_expression "piVar8 + 0x23" identifier + number_literal) )))) = number_literal) ;) (expression_statement "piVar8[0x24] = iVar7 - iVar14 >> 2;" (assignment_expression "piVar8[0x24] = iVar7 - iVar14 >> 2" (subscript_expression "piVar8[0x24]" identifier [ number_literal ]) = (binary_expression "iVar7 - iVar14 >> 2" (binary_expression "iVar7 - iVar14" identifier - identifier) >> number_literal)) ;) (expression_statement "piVar8[0x25] = -1;" (assignment_expression "piVar8[0x25] = -1" (subscript_expression "piVar8[0x25]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar8[0x26] = 0;" (assignment_expression "piVar8[0x26] = 0" (subscript_expression "piVar8[0x26]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "FUN_0015c3f0(piVar8,uVar3);" (call_expression "FUN_0015c3f0(piVar8,uVar3)" identifier (argument_list "(piVar8,uVar3)" ( identifier , identifier ))) ;) (expression_statement "local_48[0] = 0;" (assignment_expression "local_48[0] = 0" (subscript_expression "local_48[0]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_48[1] = 0;" (assignment_expression "local_48[1] = 0" (subscript_expression "local_48[1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_48[2] = 0;" (assignment_expression "local_48[2] = 0" (subscript_expression "local_48[2]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_64 = piVar8;" (assignment_expression "local_64 = piVar8" identifier = identifier) ;) (expression_statement "FUN_000abc70(local_48,&local_64);" (call_expression "FUN_000abc70(local_48,&local_64)" identifier (argument_list "(local_48,&local_64)" ( identifier , (pointer_expression "&local_64" & identifier) ))) ;) (expression_statement "FUN_00164400(uVar3,local_48);" (call_expression "FUN_00164400(uVar3,local_48)" identifier (argument_list "(uVar3,local_48)" ( identifier , identifier ))) ;) (if_statement "if (local_48[0] == 0) goto LAB_0006f914;" if (parenthesized_expression "(local_48[0] == 0)" ( (binary_expression "local_48[0] == 0" (subscript_expression "local_48[0]" identifier [ number_literal ]) == number_literal) )) (goto_statement "goto LAB_0006f914;" goto statement_identifier ;)) (expression_statement "FUN_00248220(local_48[0]);" (call_expression "FUN_00248220(local_48[0])" identifier (argument_list "(local_48[0])" ( (subscript_expression "local_48[0]" identifier [ number_literal ]) ))) ;) (expression_statement "puVar16 = *(undefined4 **)(iVar5 + 0x50);" (assignment_expression "puVar16 = *(undefined4 **)(iVar5 + 0x50)" identifier = (pointer_expression "*(undefined4 **)(iVar5 + 0x50)" * (cast_expression "(undefined4 **)(iVar5 + 0x50)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar5 + 0x50)" ( (binary_expression "iVar5 + 0x50" identifier + number_literal) ))))) ;) (if_statement "if (puVar16 != *(undefined4 **)(iVar5 + 0x54)) goto LAB_0006f926;" if (parenthesized_expression "(puVar16 != *(undefined4 **)(iVar5 + 0x54))" ( (binary_expression "puVar16 != *(undefined4 **)(iVar5 + 0x54)" identifier != (pointer_expression "*(undefined4 **)(iVar5 + 0x54)" * (cast_expression "(undefined4 **)(iVar5 + 0x54)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar5 + 0x54)" ( (binary_expression "iVar5 + 0x54" identifier + number_literal) ))))) )) (goto_statement "goto LAB_0006f926;" goto statement_identifier ;)) (labeled_statement "LAB_0006fbb0:\n        __src = *(undefined4 **)(iVar5 + 0x4c);" statement_identifier : (expression_statement "__src = *(undefined4 **)(iVar5 + 0x4c);" (assignment_expression "__src = *(undefined4 **)(iVar5 + 0x4c)" identifier = (pointer_expression "*(undefined4 **)(iVar5 + 0x4c)" * (cast_expression "(undefined4 **)(iVar5 + 0x4c)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar5 + 0x4c)" ( (binary_expression "iVar5 + 0x4c" identifier + number_literal) ))))) ;)) (expression_statement "__n = (int)puVar16 - (int)__src;" (assignment_expression "__n = (int)puVar16 - (int)__src" identifier = (binary_expression "(int)puVar16 - (int)__src" (cast_expression "(int)puVar16" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)__src" ( (type_descriptor "int" primitive_type) ) identifier))) ;) (expression_statement "uVar13 = (int)__n >> 2;" (assignment_expression "uVar13 = (int)__n >> 2" identifier = (binary_expression "(int)__n >> 2" (cast_expression "(int)__n" ( (type_descriptor "int" primitive_type) ) identifier) >> number_literal)) ;) (if_statement "if (uVar13 == 0) {\n          local_8c = 4;\nLAB_0006fbe3:\n                    \n          __dest = (void *)FUN_00246670(local_8c);\n          local_8c = local_8c + (int)__dest;\n        }\n        else {\n          local_8c = -4;\n          uVar6 = uVar13 * 2;\n          if ((uVar6 < uVar13) || (0x3fffffff < uVar6)) goto LAB_0006fbe3;\n          if (uVar6 != 0) {\n            local_8c = uVar13 << 3;\n            goto LAB_0006fbe3;\n          }\n          local_8c = 0;\n          __dest = (void *)0x0;\n        }" if (parenthesized_expression "(uVar13 == 0)" ( (binary_expression "uVar13 == 0" identifier == number_literal) )) (compound_statement "{\n          local_8c = 4;\nLAB_0006fbe3:\n                    \n          __dest = (void *)FUN_00246670(local_8c);\n          local_8c = local_8c + (int)__dest;\n        }" { (expression_statement "local_8c = 4;" (assignment_expression "local_8c = 4" identifier = number_literal) ;) (labeled_statement "LAB_0006fbe3:\n                    \n          __dest = (void *)FUN_00246670(local_8c);" statement_identifier : (expression_statement "__dest = (void *)FUN_00246670(local_8c);" (assignment_expression "__dest = (void *)FUN_00246670(local_8c)" identifier = (cast_expression "(void *)FUN_00246670(local_8c)" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_00246670(local_8c)" identifier (argument_list "(local_8c)" ( identifier ))))) ;)) (expression_statement "local_8c = local_8c + (int)__dest;" (assignment_expression "local_8c = local_8c + (int)__dest" identifier = (binary_expression "local_8c + (int)__dest" identifier + (cast_expression "(int)__dest" ( (type_descriptor "int" primitive_type) ) identifier))) ;) }) (else_clause "else {\n          local_8c = -4;\n          uVar6 = uVar13 * 2;\n          if ((uVar6 < uVar13) || (0x3fffffff < uVar6)) goto LAB_0006fbe3;\n          if (uVar6 != 0) {\n            local_8c = uVar13 << 3;\n            goto LAB_0006fbe3;\n          }\n          local_8c = 0;\n          __dest = (void *)0x0;\n        }" else (compound_statement "{\n          local_8c = -4;\n          uVar6 = uVar13 * 2;\n          if ((uVar6 < uVar13) || (0x3fffffff < uVar6)) goto LAB_0006fbe3;\n          if (uVar6 != 0) {\n            local_8c = uVar13 << 3;\n            goto LAB_0006fbe3;\n          }\n          local_8c = 0;\n          __dest = (void *)0x0;\n        }" { (expression_statement "local_8c = -4;" (assignment_expression "local_8c = -4" identifier = number_literal) ;) (expression_statement "uVar6 = uVar13 * 2;" (assignment_expression "uVar6 = uVar13 * 2" identifier = (binary_expression "uVar13 * 2" identifier * number_literal)) ;) (if_statement "if ((uVar6 < uVar13) || (0x3fffffff < uVar6)) goto LAB_0006fbe3;" if (parenthesized_expression "((uVar6 < uVar13) || (0x3fffffff < uVar6))" ( (binary_expression "(uVar6 < uVar13) || (0x3fffffff < uVar6)" (parenthesized_expression "(uVar6 < uVar13)" ( (binary_expression "uVar6 < uVar13" identifier < identifier) )) || (parenthesized_expression "(0x3fffffff < uVar6)" ( (binary_expression "0x3fffffff < uVar6" number_literal < identifier) ))) )) (goto_statement "goto LAB_0006fbe3;" goto statement_identifier ;)) (if_statement "if (uVar6 != 0) {\n            local_8c = uVar13 << 3;\n            goto LAB_0006fbe3;\n          }" if (parenthesized_expression "(uVar6 != 0)" ( (binary_expression "uVar6 != 0" identifier != number_literal) )) (compound_statement "{\n            local_8c = uVar13 << 3;\n            goto LAB_0006fbe3;\n          }" { (expression_statement "local_8c = uVar13 << 3;" (assignment_expression "local_8c = uVar13 << 3" identifier = (binary_expression "uVar13 << 3" identifier << number_literal)) ;) (goto_statement "goto LAB_0006fbe3;" goto statement_identifier ;) })) (expression_statement "local_8c = 0;" (assignment_expression "local_8c = 0" identifier = number_literal) ;) (expression_statement "__dest = (void *)0x0;" (assignment_expression "__dest = (void *)0x0" identifier = (cast_expression "(void *)0x0" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }))) (expression_statement "*(int **)((int)__dest + __n) = piVar8;" (assignment_expression "*(int **)((int)__dest + __n) = piVar8" (pointer_expression "*(int **)((int)__dest + __n)" * (cast_expression "(int **)((int)__dest + __n)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)__dest + __n)" ( (binary_expression "(int)__dest + __n" (cast_expression "(int)__dest" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) )))) = identifier) ;) (if_statement "if (puVar16 == __src) {\n          if (__src != (undefined4 *)0x0) goto LAB_0006fc33;\n        }\n        else {\n          memmove(__dest,__src,__n);\nLAB_0006fc33:\n          FUN_00248220(__src);\n        }" if (parenthesized_expression "(puVar16 == __src)" ( (binary_expression "puVar16 == __src" identifier == identifier) )) (compound_statement "{\n          if (__src != (undefined4 *)0x0) goto LAB_0006fc33;\n        }" { (if_statement "if (__src != (undefined4 *)0x0) goto LAB_0006fc33;" if (parenthesized_expression "(__src != (undefined4 *)0x0)" ( (binary_expression "__src != (undefined4 *)0x0" identifier != (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_0006fc33;" goto statement_identifier ;)) }) (else_clause "else {\n          memmove(__dest,__src,__n);\nLAB_0006fc33:\n          FUN_00248220(__src);\n        }" else (compound_statement "{\n          memmove(__dest,__src,__n);\nLAB_0006fc33:\n          FUN_00248220(__src);\n        }" { (expression_statement "memmove(__dest,__src,__n);" (call_expression "memmove(__dest,__src,__n)" identifier (argument_list "(__dest,__src,__n)" ( identifier , identifier , identifier ))) ;) (labeled_statement "LAB_0006fc33:\n          FUN_00248220(__src);" statement_identifier : (expression_statement "FUN_00248220(__src);" (call_expression "FUN_00248220(__src)" identifier (argument_list "(__src)" ( identifier ))) ;)) }))) (expression_statement "*(void **)(iVar5 + 0x4c) = __dest;" (assignment_expression "*(void **)(iVar5 + 0x4c) = __dest" (pointer_expression "*(void **)(iVar5 + 0x4c)" * (cast_expression "(void **)(iVar5 + 0x4c)" ( (type_descriptor "void **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar5 + 0x4c)" ( (binary_expression "iVar5 + 0x4c" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(size_t *)(iVar5 + 0x50) = (int)__dest + __n + 4;" (assignment_expression "*(size_t *)(iVar5 + 0x50) = (int)__dest + __n + 4" (pointer_expression "*(size_t *)(iVar5 + 0x50)" * (cast_expression "(size_t *)(iVar5 + 0x50)" ( (type_descriptor "size_t *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 0x50)" ( (binary_expression "iVar5 + 0x50" identifier + number_literal) )))) = (binary_expression "(int)__dest + __n + 4" (binary_expression "(int)__dest + __n" (cast_expression "(int)__dest" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + number_literal)) ;) (expression_statement "*(int *)(iVar5 + 0x54) = local_8c;" (assignment_expression "*(int *)(iVar5 + 0x54) = local_8c" (pointer_expression "*(int *)(iVar5 + 0x54)" * (cast_expression "(int *)(iVar5 + 0x54)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 0x54)" ( (binary_expression "iVar5 + 0x54" identifier + number_literal) )))) = identifier) ;) }))) (expression_statement "FUN_00248200(*local_7c,8);" (call_expression "FUN_00248200(*local_7c,8)" identifier (argument_list "(*local_7c,8)" ( (pointer_expression "*local_7c" * identifier) , number_literal ))) ;) (expression_statement "local_7c = local_7c + 1;" (assignment_expression "local_7c = local_7c + 1" identifier = (binary_expression "local_7c + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(local_5c != local_7c)" ( (binary_expression "local_5c != local_7c" identifier != identifier) )) ;) })) (if_statement "if (local_54 != (int *)0x0) {\n    FUN_00248220(local_54);\n  }" if (parenthesized_expression "(local_54 != (int *)0x0)" ( (binary_expression "local_54 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    FUN_00248220(local_54);\n  }" { (expression_statement "FUN_00248220(local_54);" (call_expression "FUN_00248220(local_54)" identifier (argument_list "(local_54)" ( identifier ))) ;) })) (if_statement "if (local_60 != (int *)0x0) {\n    FUN_00248220(local_60);\n  }" if (parenthesized_expression "(local_60 != (int *)0x0)" ( (binary_expression "local_60 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    FUN_00248220(local_60);\n  }" { (expression_statement "FUN_00248220(local_60);" (call_expression "FUN_00248220(local_60)" identifier (argument_list "(local_60)" ( identifier ))) ;) })) (return_statement "return;" return ;) })))
(translation_unit (function_definition TYPE (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE) ))) (compound_statement { (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression IDENT + IDENT) + LIT) )))) + LIT) )))) == LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (binary_expression IDENT + LIT) , LIT , (binary_expression IDENT + LIT) , LIT ))) ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression IDENT + IDENT) + LIT) )))) + LIT) )))) + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT >> LIT) )))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) >> LIT) ^ IDENT) )) - (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) >> LIT) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) >> LIT) ))) , (pointer_expression & IDENT) ))) ;) (expression_statement (call_expression IDENT (argument_list ( (pointer_expression & IDENT) , (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) - (cast_expression ( (type_descriptor TYPE) ) IDENT)) >> LIT) ))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( ))) ;) }) (else_clause else (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT , LIT ))) ;) }))) (expression_statement (call_expression IDENT (argument_list ( IDENT , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression IDENT + 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 IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (compound_statement { (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression LIT < (binary_expression (pointer_expression * IDENT) + LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression IDENT = BOOL) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) - (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) + (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) - (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) * LIT)) )))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + (binary_expression (parenthesized_expression ( (binary_expression IDENT >> LIT) )) * LIT)) )))) & (binary_expression LIT << (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) & LIT) )))) )) != LIT)) ;) })) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( LIT ))))) ;)) (expression_statement (assignment_expression (pointer_expression * IDENT) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == IDENT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( ))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }))) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (goto_statement goto statement_identifier ;)))) (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) - (cast_expression ( (type_descriptor TYPE) ) IDENT))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT - IDENT) >> LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT <= IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < IDENT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (binary_expression IDENT + LIT) , IDENT , (binary_expression IDENT - IDENT) , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT < IDENT) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (binary_expression IDENT + (binary_expression IDENT * LIT))) , (binary_expression IDENT != IDENT)) ))) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) })))) })) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + (binary_expression IDENT * LIT)) )))) = (binary_expression (parenthesized_expression ( (binary_expression IDENT >> LIT) )) + LIT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != IDENT) )) ;) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_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 * IDENT) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) })) (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 IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression (parenthesized_expression ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT)) )) [ LIT ]))) ;) (if_statement if (parenthesized_expression ( (binary_expression (binary_expression (pointer_expression * IDENT) + LIT) < LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) != LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (binary_expression IDENT + LIT) , LIT , (binary_expression IDENT + LIT) ))) ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (goto_statement goto statement_identifier ;)) (labeled_statement statement_identifier : (expression_statement (assignment_expression (pointer_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) )))) = (binary_expression IDENT + LIT)) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT)))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( LIT ))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( IDENT ))))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) + LIT) ))))) )) (argument_list ( IDENT , IDENT )))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (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) )))) = (binary_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 ]) = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (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 (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) >> LIT) )))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (binary_expression IDENT + 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 ]) = 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 ]) = (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression IDENT + 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 ]) = (cast_expression ( (type_descriptor TYPE) ) (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 IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (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 (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 ]) = (binary_expression (binary_expression IDENT - IDENT) >> LIT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;) (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 = IDENT) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , (pointer_expression & IDENT) ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (call_expression IDENT (argument_list ( (subscript_expression IDENT [ LIT ]) ))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (goto_statement goto statement_identifier ;)) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;)) (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) - (cast_expression ( (type_descriptor TYPE) ) IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) >> LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( IDENT ))))) ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (cast_expression ( (type_descriptor TYPE) ) IDENT))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT * LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT < IDENT) )) || (parenthesized_expression ( (binary_expression LIT < IDENT) ))) )) (goto_statement goto statement_identifier ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT << LIT)) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) }))) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT) )))) = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == IDENT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (goto_statement goto statement_identifier ;)) }) (else_clause else (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT ))) ;) (labeled_statement statement_identifier : (expression_statement (call_expression IDENT (argument_list ( 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) )))) = (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + 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 (call_expression IDENT (argument_list ( (pointer_expression * IDENT) , LIT ))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_expression IDENT != IDENT) )) ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) })) (return_statement return ;) })))
(function_definition "void FUN_0006f600(void)\n\n{\n  uint uVar1;\n  int iVar2;\n  undefined4 uVar3;\n  undefined4 *__src;\n  char cVar4;\n  int iVar5;\n  uint uVar6;\n  int iVar7;\n  int *piVar8;\n  int *piVar9;\n  undefined4 uVar10;\n  int iVar11;\n  int iVar12;\n  uint uVar13;\n  size_t __n;\n  void *__dest;\n  int iVar14;\n  int *piVar15;\n  int unaff_EDI;\n  undefined4 *puVar16;\n  bool bVar17;\n  undefined8 uVar18;\n  int local_8c;\n  int *local_7c;\n  int local_74;\n  undefined4 local_70;\n  int *local_68;\n  int *local_64;\n  int *local_60;\n  int *local_5c;\n  int *local_58;\n  int *local_54;\n  int *local_50;\n  undefined4 local_4c;\n  int local_48 [4];\n  byte local_38;\n  undefined1 local_36;\n  undefined4 local_34;\n  undefined4 local_30;\n  undefined4 local_2c;\n  undefined4 local_28;\n  int *local_24;\n  int local_20;\n  \n  uVar18 = FUN_000b484e();\n  iVar5 = (int)uVar18;\n  if (*(int *)(*(int *)(BYTE_ARRAY_003a4e59 + unaff_EDI + 0x86) + 8) == 0) {\n                    \n    FUN_000da200(unaff_EDI + 0x272c64,0x5c,unaff_EDI + 0x286d9f,0);\n  }\n  local_36 = *(undefined1 *)\n              (*(int *)(*(int *)(BYTE_ARRAY_003a4e59 + unaff_EDI + 0x86) + 8) + 0x38e9);\n  local_34 = 0;\n  local_30 = 0;\n  uVar13 = *(uint *)(iVar5 + 0xa8);\n  local_2c = 0;\n  local_28 = 0;\n  local_24 = (int *)0x0;\n  local_20 = 0;\n  local_68 = (int *)0x0;\n  local_60 = (int *)0x0;\n  local_38 = (byte)(uVar13 >> 0x1f);\n  local_48[3] = ((int)uVar13 >> 0x1f ^ uVar13) - ((int)uVar13 >> 0x1f);\n  local_5c = (int *)0x0;\n  local_58 = (int *)0x0;\n  local_54 = (int *)0x0;\n  local_50 = (int *)0x0;\n  local_4c = 0;\n                    \n  FUN_0010bb60((int)((ulonglong)uVar18 >> 0x20),&local_54);\n  FUN_000aba90(&local_74,(int)local_50 - (int)local_54 >> 2);\n  if (local_74 == 0) {\n                    \n    FUN_0006eab0();\n  }\n  else {\n                    \n    FUN_0006f540(local_70,0);\n  }\n  FUN_002481e0(local_74,*(undefined4 *)(BYTE_ARRAY_003a4975 + unaff_EDI + 0x2e));\n  local_7c = local_54;\n  if (local_54 != local_50) {\n    do {\n      iVar7 = *local_7c;\n      piVar15 = *(int **)(iVar7 + 0x6c);\n      if (piVar15 != *(int **)(iVar7 + 0x70)) {\n        do {\n          if (2 < *piVar15 + 3U) {\n            iVar7 = FUN_0015c600(piVar15);\n            uVar13 = FUN_0015c690(piVar15);\n            bVar17 = false;\n            if (uVar13 < (uint)((*(int *)(iVar7 + 0x19c) - *(int *)(iVar7 + 0x194)) +\n                               (*(int *)(iVar7 + 0x198) - *(int *)(iVar7 + 400)) * 8)) {\n              bVar17 = (*(uint *)(*(int *)(iVar7 + 400) + (uVar13 >> 5) * 4) &\n                       1 << ((byte)uVar13 & 0x1f)) != 0;\n            }\n            cVar4 = FUN_0004fea0(bVar17);\n            if (cVar4 == '\0') {\n              *local_68 = local_20;\n              local_68[1] = (int)local_24;\n              local_20 = *local_7c;\n              local_68 = (int *)0x0;\n              local_24 = piVar15;\nLAB_0006f76a:\n                    \n              local_68 = (int *)FUN_00246670(8);\n              *local_68 = 0;\n              local_68[1] = 0;\n              if (local_5c == local_58) {\n                FUN_00055630();\n              }\n              else {\n                *local_5c = (int)local_68;\n                local_5c = local_5c + 1;\n              }\n            }\n            else if (local_68 == (int *)0x0) goto LAB_0006f76a;\n            iVar12 = (int)local_5c - (int)local_60;\n            uVar13 = FUN_0015c690(piVar15);\n            iVar14 = *(int *)(iVar7 + 0x1a4);\n            iVar11 = *(int *)(iVar7 + 0x1a8);\n            uVar6 = iVar11 - iVar14 >> 2;\n            if (uVar6 <= uVar13) {\n              uVar1 = uVar13 + 1;\n              local_48[0] = -1;\n              if (uVar6 < uVar1) {\n                FUN_000aab90(iVar7 + 0x1a4,iVar11,uVar1 - uVar6,local_48);\n                iVar14 = *(int *)(iVar7 + 0x1a4);\n              }\n              else if ((uVar1 < uVar6) && (iVar2 = iVar14 + uVar1 * 4, iVar11 != iVar2)) {\n                *(int *)(iVar7 + 0x1a8) = iVar2;\n              }\n            }\n            *(int *)(iVar14 + uVar13 * 4) = (iVar12 >> 2) + -1;\n            iVar7 = *local_7c;\n          }\n          piVar15 = piVar15 + 6;\n        } while (*(int **)(iVar7 + 0x70) != piVar15);\n      }\n      local_7c = local_7c + 1;\n    } while (local_50 != local_7c);\n  }\n  if (local_68 != (int *)0x0) {\n    *local_68 = local_20;\n    local_68[1] = (int)local_24;\n  }\n  local_7c = local_60;\n  if (local_60 != local_5c) {\n    do {\n      piVar15 = (int *)((undefined4 *)*local_7c)[1];\n      if (*piVar15 + 4U < 4) {\n        if (*piVar15 != -4) {\n                    \n                    \n          FUN_000da200(unaff_EDI + 0x28787b,0xcc1,unaff_EDI + 0x2866cf);\n        }\n        piVar8 = (int *)piVar15[4];\nLAB_0006f914:\n        puVar16 = *(undefined4 **)(iVar5 + 0x50);\n        if (puVar16 == *(undefined4 **)(iVar5 + 0x54)) goto LAB_0006fbb0;\nLAB_0006f926:\n        *puVar16 = piVar8;\n        *(undefined4 **)(iVar5 + 0x50) = puVar16 + 1;\n      }\n      else {\n        uVar3 = *(undefined4 *)*local_7c;\n        iVar7 = *(int *)(iVar5 + 0x50);\n        iVar14 = *(int *)(iVar5 + 0x4c);\n        piVar8 = (int *)FUN_00246670(0xb0);\n                    \n        piVar9 = (int *)FUN_0015c600(piVar15);\n        uVar10 = FUN_0015c690(piVar15);\n        uVar18 = (**(code **)(*piVar9 + 0x5c))(piVar9,uVar10);\n        iVar11 = FUN_0015c690(piVar15);\n        iVar12 = FUN_0015c600(piVar15);\n        piVar8[0xb] = iVar12;\n        *(byte *)(piVar8 + 7) = *(byte *)(piVar8 + 7) & 0xe0;\n        piVar8[9] = (int)uVar18;\n        piVar8[0xc] = iVar11;\n        piVar8[1] = 0;\n        piVar8[2] = 0;\n        piVar8[3] = 0;\n        piVar8[4] = 0;\n        piVar8[5] = -1;\n        piVar8[6] = -1;\n        piVar8[8] = 0;\n        piVar8[10] = (int)((ulonglong)uVar18 >> 0x20);\n        piVar8[0xd] = iVar5;\n        *piVar8 = unaff_EDI + 0x39d467;\n        uVar13 = 0;\n        do {\n          *(undefined4 *)((int)piVar8 + uVar13 + 0x38) = 0;\n          uVar13 = uVar13 + 4;\n        } while (uVar13 < 0x1c);\n        piVar8[0xf] = 1;\n        piVar8[0x10] = 0;\n        piVar8[0x11] = 0;\n        piVar8[0x12] = 0x3f800000;\n        piVar8[0x13] = 0;\n        piVar8[0x14] = 0;\n        piVar8[0xe] = (int)(piVar8 + 0x14);\n        uVar13 = 0;\n        do {\n          *(undefined4 *)((int)piVar8 + uVar13 + 0x54) = 0;\n          uVar13 = uVar13 + 4;\n        } while (uVar13 < 0x1c);\n        piVar8[0x16] = 1;\n        piVar8[0x15] = (int)(piVar8 + 0x1b);\n        piVar8[0x17] = 0;\n        piVar8[0x18] = 0;\n        piVar8[0x19] = 0x3f800000;\n        piVar8[0x1a] = 0;\n        piVar8[0x1b] = 0;\n                    \n        iVar11 = FUN_0015c560(piVar15);\n        piVar8[0x1c] = iVar11;\n        piVar8[0x1d] = 0;\n        piVar8[0x1e] = 0;\n        piVar8[0x1f] = 0;\n        piVar8[0x20] = 0;\n        piVar8[0x21] = 0;\n        piVar8[0x22] = 0;\n        *(undefined1 *)(piVar8 + 0x23) = 0;\n        piVar8[0x24] = iVar7 - iVar14 >> 2;\n        piVar8[0x25] = -1;\n        piVar8[0x26] = 0;\n        FUN_0015c3f0(piVar8,uVar3);\n        local_48[0] = 0;\n        local_48[1] = 0;\n        local_48[2] = 0;\n        local_64 = piVar8;\n                    \n        FUN_000abc70(local_48,&local_64);\n        FUN_00164400(uVar3,local_48);\n        if (local_48[0] == 0) goto LAB_0006f914;\n        FUN_00248220(local_48[0]);\n        puVar16 = *(undefined4 **)(iVar5 + 0x50);\n        if (puVar16 != *(undefined4 **)(iVar5 + 0x54)) goto LAB_0006f926;\nLAB_0006fbb0:\n        __src = *(undefined4 **)(iVar5 + 0x4c);\n        __n = (int)puVar16 - (int)__src;\n        uVar13 = (int)__n >> 2;\n        if (uVar13 == 0) {\n          local_8c = 4;\nLAB_0006fbe3:\n                    \n          __dest = (void *)FUN_00246670(local_8c);\n          local_8c = local_8c + (int)__dest;\n        }\n        else {\n          local_8c = -4;\n          uVar6 = uVar13 * 2;\n          if ((uVar6 < uVar13) || (0x3fffffff < uVar6)) goto LAB_0006fbe3;\n          if (uVar6 != 0) {\n            local_8c = uVar13 << 3;\n            goto LAB_0006fbe3;\n          }\n          local_8c = 0;\n          __dest = (void *)0x0;\n        }\n        *(int **)((int)__dest + __n) = piVar8;\n        if (puVar16 == __src) {\n          if (__src != (undefined4 *)0x0) goto LAB_0006fc33;\n        }\n        else {\n          memmove(__dest,__src,__n);\nLAB_0006fc33:\n          FUN_00248220(__src);\n        }\n        *(void **)(iVar5 + 0x4c) = __dest;\n        *(size_t *)(iVar5 + 0x50) = (int)__dest + __n + 4;\n        *(int *)(iVar5 + 0x54) = local_8c;\n      }\n      FUN_00248200(*local_7c,8);\n      local_7c = local_7c + 1;\n    } while (local_5c != local_7c);\n  }\n  if (local_54 != (int *)0x0) {\n    FUN_00248220(local_54);\n  }\n  if (local_60 != (int *)0x0) {\n    FUN_00248220(local_60);\n  }\n  return;\n}" (primitive_type "void") (function_declarator "FUN_0006f600(void)" (identifier "FUN_0006f600") (parameter_list "(void)" (( "(") (parameter_declaration "void" (primitive_type "void")) () ")"))) (compound_statement "{\n  uint uVar1;\n  int iVar2;\n  undefined4 uVar3;\n  undefined4 *__src;\n  char cVar4;\n  int iVar5;\n  uint uVar6;\n  int iVar7;\n  int *piVar8;\n  int *piVar9;\n  undefined4 uVar10;\n  int iVar11;\n  int iVar12;\n  uint uVar13;\n  size_t __n;\n  void *__dest;\n  int iVar14;\n  int *piVar15;\n  int unaff_EDI;\n  undefined4 *puVar16;\n  bool bVar17;\n  undefined8 uVar18;\n  int local_8c;\n  int *local_7c;\n  int local_74;\n  undefined4 local_70;\n  int *local_68;\n  int *local_64;\n  int *local_60;\n  int *local_5c;\n  int *local_58;\n  int *local_54;\n  int *local_50;\n  undefined4 local_4c;\n  int local_48 [4];\n  byte local_38;\n  undefined1 local_36;\n  undefined4 local_34;\n  undefined4 local_30;\n  undefined4 local_2c;\n  undefined4 local_28;\n  int *local_24;\n  int local_20;\n  \n  uVar18 = FUN_000b484e();\n  iVar5 = (int)uVar18;\n  if (*(int *)(*(int *)(BYTE_ARRAY_003a4e59 + unaff_EDI + 0x86) + 8) == 0) {\n                    \n    FUN_000da200(unaff_EDI + 0x272c64,0x5c,unaff_EDI + 0x286d9f,0);\n  }\n  local_36 = *(undefined1 *)\n              (*(int *)(*(int *)(BYTE_ARRAY_003a4e59 + unaff_EDI + 0x86) + 8) + 0x38e9);\n  local_34 = 0;\n  local_30 = 0;\n  uVar13 = *(uint *)(iVar5 + 0xa8);\n  local_2c = 0;\n  local_28 = 0;\n  local_24 = (int *)0x0;\n  local_20 = 0;\n  local_68 = (int *)0x0;\n  local_60 = (int *)0x0;\n  local_38 = (byte)(uVar13 >> 0x1f);\n  local_48[3] = ((int)uVar13 >> 0x1f ^ uVar13) - ((int)uVar13 >> 0x1f);\n  local_5c = (int *)0x0;\n  local_58 = (int *)0x0;\n  local_54 = (int *)0x0;\n  local_50 = (int *)0x0;\n  local_4c = 0;\n                    \n  FUN_0010bb60((int)((ulonglong)uVar18 >> 0x20),&local_54);\n  FUN_000aba90(&local_74,(int)local_50 - (int)local_54 >> 2);\n  if (local_74 == 0) {\n                    \n    FUN_0006eab0();\n  }\n  else {\n                    \n    FUN_0006f540(local_70,0);\n  }\n  FUN_002481e0(local_74,*(undefined4 *)(BYTE_ARRAY_003a4975 + unaff_EDI + 0x2e));\n  local_7c = local_54;\n  if (local_54 != local_50) {\n    do {\n      iVar7 = *local_7c;\n      piVar15 = *(int **)(iVar7 + 0x6c);\n      if (piVar15 != *(int **)(iVar7 + 0x70)) {\n        do {\n          if (2 < *piVar15 + 3U) {\n            iVar7 = FUN_0015c600(piVar15);\n            uVar13 = FUN_0015c690(piVar15);\n            bVar17 = false;\n            if (uVar13 < (uint)((*(int *)(iVar7 + 0x19c) - *(int *)(iVar7 + 0x194)) +\n                               (*(int *)(iVar7 + 0x198) - *(int *)(iVar7 + 400)) * 8)) {\n              bVar17 = (*(uint *)(*(int *)(iVar7 + 400) + (uVar13 >> 5) * 4) &\n                       1 << ((byte)uVar13 & 0x1f)) != 0;\n            }\n            cVar4 = FUN_0004fea0(bVar17);\n            if (cVar4 == '\0') {\n              *local_68 = local_20;\n              local_68[1] = (int)local_24;\n              local_20 = *local_7c;\n              local_68 = (int *)0x0;\n              local_24 = piVar15;\nLAB_0006f76a:\n                    \n              local_68 = (int *)FUN_00246670(8);\n              *local_68 = 0;\n              local_68[1] = 0;\n              if (local_5c == local_58) {\n                FUN_00055630();\n              }\n              else {\n                *local_5c = (int)local_68;\n                local_5c = local_5c + 1;\n              }\n            }\n            else if (local_68 == (int *)0x0) goto LAB_0006f76a;\n            iVar12 = (int)local_5c - (int)local_60;\n            uVar13 = FUN_0015c690(piVar15);\n            iVar14 = *(int *)(iVar7 + 0x1a4);\n            iVar11 = *(int *)(iVar7 + 0x1a8);\n            uVar6 = iVar11 - iVar14 >> 2;\n            if (uVar6 <= uVar13) {\n              uVar1 = uVar13 + 1;\n              local_48[0] = -1;\n              if (uVar6 < uVar1) {\n                FUN_000aab90(iVar7 + 0x1a4,iVar11,uVar1 - uVar6,local_48);\n                iVar14 = *(int *)(iVar7 + 0x1a4);\n              }\n              else if ((uVar1 < uVar6) && (iVar2 = iVar14 + uVar1 * 4, iVar11 != iVar2)) {\n                *(int *)(iVar7 + 0x1a8) = iVar2;\n              }\n            }\n            *(int *)(iVar14 + uVar13 * 4) = (iVar12 >> 2) + -1;\n            iVar7 = *local_7c;\n          }\n          piVar15 = piVar15 + 6;\n        } while (*(int **)(iVar7 + 0x70) != piVar15);\n      }\n      local_7c = local_7c + 1;\n    } while (local_50 != local_7c);\n  }\n  if (local_68 != (int *)0x0) {\n    *local_68 = local_20;\n    local_68[1] = (int)local_24;\n  }\n  local_7c = local_60;\n  if (local_60 != local_5c) {\n    do {\n      piVar15 = (int *)((undefined4 *)*local_7c)[1];\n      if (*piVar15 + 4U < 4) {\n        if (*piVar15 != -4) {\n                    \n                    \n          FUN_000da200(unaff_EDI + 0x28787b,0xcc1,unaff_EDI + 0x2866cf);\n        }\n        piVar8 = (int *)piVar15[4];\nLAB_0006f914:\n        puVar16 = *(undefined4 **)(iVar5 + 0x50);\n        if (puVar16 == *(undefined4 **)(iVar5 + 0x54)) goto LAB_0006fbb0;\nLAB_0006f926:\n        *puVar16 = piVar8;\n        *(undefined4 **)(iVar5 + 0x50) = puVar16 + 1;\n      }\n      else {\n        uVar3 = *(undefined4 *)*local_7c;\n        iVar7 = *(int *)(iVar5 + 0x50);\n        iVar14 = *(int *)(iVar5 + 0x4c);\n        piVar8 = (int *)FUN_00246670(0xb0);\n                    \n        piVar9 = (int *)FUN_0015c600(piVar15);\n        uVar10 = FUN_0015c690(piVar15);\n        uVar18 = (**(code **)(*piVar9 + 0x5c))(piVar9,uVar10);\n        iVar11 = FUN_0015c690(piVar15);\n        iVar12 = FUN_0015c600(piVar15);\n        piVar8[0xb] = iVar12;\n        *(byte *)(piVar8 + 7) = *(byte *)(piVar8 + 7) & 0xe0;\n        piVar8[9] = (int)uVar18;\n        piVar8[0xc] = iVar11;\n        piVar8[1] = 0;\n        piVar8[2] = 0;\n        piVar8[3] = 0;\n        piVar8[4] = 0;\n        piVar8[5] = -1;\n        piVar8[6] = -1;\n        piVar8[8] = 0;\n        piVar8[10] = (int)((ulonglong)uVar18 >> 0x20);\n        piVar8[0xd] = iVar5;\n        *piVar8 = unaff_EDI + 0x39d467;\n        uVar13 = 0;\n        do {\n          *(undefined4 *)((int)piVar8 + uVar13 + 0x38) = 0;\n          uVar13 = uVar13 + 4;\n        } while (uVar13 < 0x1c);\n        piVar8[0xf] = 1;\n        piVar8[0x10] = 0;\n        piVar8[0x11] = 0;\n        piVar8[0x12] = 0x3f800000;\n        piVar8[0x13] = 0;\n        piVar8[0x14] = 0;\n        piVar8[0xe] = (int)(piVar8 + 0x14);\n        uVar13 = 0;\n        do {\n          *(undefined4 *)((int)piVar8 + uVar13 + 0x54) = 0;\n          uVar13 = uVar13 + 4;\n        } while (uVar13 < 0x1c);\n        piVar8[0x16] = 1;\n        piVar8[0x15] = (int)(piVar8 + 0x1b);\n        piVar8[0x17] = 0;\n        piVar8[0x18] = 0;\n        piVar8[0x19] = 0x3f800000;\n        piVar8[0x1a] = 0;\n        piVar8[0x1b] = 0;\n                    \n        iVar11 = FUN_0015c560(piVar15);\n        piVar8[0x1c] = iVar11;\n        piVar8[0x1d] = 0;\n        piVar8[0x1e] = 0;\n        piVar8[0x1f] = 0;\n        piVar8[0x20] = 0;\n        piVar8[0x21] = 0;\n        piVar8[0x22] = 0;\n        *(undefined1 *)(piVar8 + 0x23) = 0;\n        piVar8[0x24] = iVar7 - iVar14 >> 2;\n        piVar8[0x25] = -1;\n        piVar8[0x26] = 0;\n        FUN_0015c3f0(piVar8,uVar3);\n        local_48[0] = 0;\n        local_48[1] = 0;\n        local_48[2] = 0;\n        local_64 = piVar8;\n                    \n        FUN_000abc70(local_48,&local_64);\n        FUN_00164400(uVar3,local_48);\n        if (local_48[0] == 0) goto LAB_0006f914;\n        FUN_00248220(local_48[0]);\n        puVar16 = *(undefined4 **)(iVar5 + 0x50);\n        if (puVar16 != *(undefined4 **)(iVar5 + 0x54)) goto LAB_0006f926;\nLAB_0006fbb0:\n        __src = *(undefined4 **)(iVar5 + 0x4c);\n        __n = (int)puVar16 - (int)__src;\n        uVar13 = (int)__n >> 2;\n        if (uVar13 == 0) {\n          local_8c = 4;\nLAB_0006fbe3:\n                    \n          __dest = (void *)FUN_00246670(local_8c);\n          local_8c = local_8c + (int)__dest;\n        }\n        else {\n          local_8c = -4;\n          uVar6 = uVar13 * 2;\n          if ((uVar6 < uVar13) || (0x3fffffff < uVar6)) goto LAB_0006fbe3;\n          if (uVar6 != 0) {\n            local_8c = uVar13 << 3;\n            goto LAB_0006fbe3;\n          }\n          local_8c = 0;\n          __dest = (void *)0x0;\n        }\n        *(int **)((int)__dest + __n) = piVar8;\n        if (puVar16 == __src) {\n          if (__src != (undefined4 *)0x0) goto LAB_0006fc33;\n        }\n        else {\n          memmove(__dest,__src,__n);\nLAB_0006fc33:\n          FUN_00248220(__src);\n        }\n        *(void **)(iVar5 + 0x4c) = __dest;\n        *(size_t *)(iVar5 + 0x50) = (int)__dest + __n + 4;\n        *(int *)(iVar5 + 0x54) = local_8c;\n      }\n      FUN_00248200(*local_7c,8);\n      local_7c = local_7c + 1;\n    } while (local_5c != local_7c);\n  }\n  if (local_54 != (int *)0x0) {\n    FUN_00248220(local_54);\n  }\n  if (local_60 != (int *)0x0) {\n    FUN_00248220(local_60);\n  }\n  return;\n}" ({ "{") (declaration "uint uVar1;" (type_identifier "uint") (identifier "uVar1") (; ";")) (declaration "int iVar2;" (primitive_type "int") (identifier "iVar2") (; ";")) (declaration "undefined4 uVar3;" (type_identifier "undefined4") (identifier "uVar3") (; ";")) (declaration "undefined4 *__src;" (type_identifier "undefined4") (pointer_declarator "*__src" (* "*") (identifier "__src")) (; ";")) (declaration "char cVar4;" (primitive_type "char") (identifier "cVar4") (; ";")) (declaration "int iVar5;" (primitive_type "int") (identifier "iVar5") (; ";")) (declaration "uint uVar6;" (type_identifier "uint") (identifier "uVar6") (; ";")) (declaration "int iVar7;" (primitive_type "int") (identifier "iVar7") (; ";")) (declaration "int *piVar8;" (primitive_type "int") (pointer_declarator "*piVar8" (* "*") (identifier "piVar8")) (; ";")) (declaration "int *piVar9;" (primitive_type "int") (pointer_declarator "*piVar9" (* "*") (identifier "piVar9")) (; ";")) (declaration "undefined4 uVar10;" (type_identifier "undefined4") (identifier "uVar10") (; ";")) (declaration "int iVar11;" (primitive_type "int") (identifier "iVar11") (; ";")) (declaration "int iVar12;" (primitive_type "int") (identifier "iVar12") (; ";")) (declaration "uint uVar13;" (type_identifier "uint") (identifier "uVar13") (; ";")) (declaration "size_t __n;" (primitive_type "size_t") (identifier "__n") (; ";")) (declaration "void *__dest;" (primitive_type "void") (pointer_declarator "*__dest" (* "*") (identifier "__dest")) (; ";")) (declaration "int iVar14;" (primitive_type "int") (identifier "iVar14") (; ";")) (declaration "int *piVar15;" (primitive_type "int") (pointer_declarator "*piVar15" (* "*") (identifier "piVar15")) (; ";")) (declaration "int unaff_EDI;" (primitive_type "int") (identifier "unaff_EDI") (; ";")) (declaration "undefined4 *puVar16;" (type_identifier "undefined4") (pointer_declarator "*puVar16" (* "*") (identifier "puVar16")) (; ";")) (declaration "bool bVar17;" (primitive_type "bool") (identifier "bVar17") (; ";")) (declaration "undefined8 uVar18;" (type_identifier "undefined8") (identifier "uVar18") (; ";")) (declaration "int local_8c;" (primitive_type "int") (identifier "local_8c") (; ";")) (declaration "int *local_7c;" (primitive_type "int") (pointer_declarator "*local_7c" (* "*") (identifier "local_7c")) (; ";")) (declaration "int local_74;" (primitive_type "int") (identifier "local_74") (; ";")) (declaration "undefined4 local_70;" (type_identifier "undefined4") (identifier "local_70") (; ";")) (declaration "int *local_68;" (primitive_type "int") (pointer_declarator "*local_68" (* "*") (identifier "local_68")) (; ";")) (declaration "int *local_64;" (primitive_type "int") (pointer_declarator "*local_64" (* "*") (identifier "local_64")) (; ";")) (declaration "int *local_60;" (primitive_type "int") (pointer_declarator "*local_60" (* "*") (identifier "local_60")) (; ";")) (declaration "int *local_5c;" (primitive_type "int") (pointer_declarator "*local_5c" (* "*") (identifier "local_5c")) (; ";")) (declaration "int *local_58;" (primitive_type "int") (pointer_declarator "*local_58" (* "*") (identifier "local_58")) (; ";")) (declaration "int *local_54;" (primitive_type "int") (pointer_declarator "*local_54" (* "*") (identifier "local_54")) (; ";")) (declaration "int *local_50;" (primitive_type "int") (pointer_declarator "*local_50" (* "*") (identifier "local_50")) (; ";")) (declaration "undefined4 local_4c;" (type_identifier "undefined4") (identifier "local_4c") (; ";")) (declaration "int local_48 [4];" (primitive_type "int") (array_declarator "local_48 [4]" (identifier "local_48") ([ "[") (number_literal "4") (] "]")) (; ";")) (declaration "byte local_38;" (type_identifier "byte") (identifier "local_38") (; ";")) (declaration "undefined1 local_36;" (type_identifier "undefined1") (identifier "local_36") (; ";")) (declaration "undefined4 local_34;" (type_identifier "undefined4") (identifier "local_34") (; ";")) (declaration "undefined4 local_30;" (type_identifier "undefined4") (identifier "local_30") (; ";")) (declaration "undefined4 local_2c;" (type_identifier "undefined4") (identifier "local_2c") (; ";")) (declaration "undefined4 local_28;" (type_identifier "undefined4") (identifier "local_28") (; ";")) (declaration "int *local_24;" (primitive_type "int") (pointer_declarator "*local_24" (* "*") (identifier "local_24")) (; ";")) (declaration "int local_20;" (primitive_type "int") (identifier "local_20") (; ";")) (expression_statement "uVar18 = FUN_000b484e();" (assignment_expression "uVar18 = FUN_000b484e()" (identifier "uVar18") (= "=") (call_expression "FUN_000b484e()" (identifier "FUN_000b484e") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "iVar5 = (int)uVar18;" (assignment_expression "iVar5 = (int)uVar18" (identifier "iVar5") (= "=") (cast_expression "(int)uVar18" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "uVar18"))) (; ";")) (if_statement "if (*(int *)(*(int *)(BYTE_ARRAY_003a4e59 + unaff_EDI + 0x86) + 8) == 0) {\n                    \n    FUN_000da200(unaff_EDI + 0x272c64,0x5c,unaff_EDI + 0x286d9f,0);\n  }" (if "if") (parenthesized_expression "(*(int *)(*(int *)(BYTE_ARRAY_003a4e59 + unaff_EDI + 0x86) + 8) == 0)" (( "(") (binary_expression "*(int *)(*(int *)(BYTE_ARRAY_003a4e59 + unaff_EDI + 0x86) + 8) == 0" (pointer_expression "*(int *)(*(int *)(BYTE_ARRAY_003a4e59 + unaff_EDI + 0x86) + 8)" (* "*") (cast_expression "(int *)(*(int *)(BYTE_ARRAY_003a4e59 + unaff_EDI + 0x86) + 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(BYTE_ARRAY_003a4e59 + unaff_EDI + 0x86) + 8)" (( "(") (binary_expression "*(int *)(BYTE_ARRAY_003a4e59 + unaff_EDI + 0x86) + 8" (pointer_expression "*(int *)(BYTE_ARRAY_003a4e59 + unaff_EDI + 0x86)" (* "*") (cast_expression "(int *)(BYTE_ARRAY_003a4e59 + unaff_EDI + 0x86)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(BYTE_ARRAY_003a4e59 + unaff_EDI + 0x86)" (( "(") (binary_expression "BYTE_ARRAY_003a4e59 + unaff_EDI + 0x86" (binary_expression "BYTE_ARRAY_003a4e59 + unaff_EDI" (identifier "BYTE_ARRAY_003a4e59") (+ "+") (identifier "unaff_EDI")) (+ "+") (number_literal "0x86")) () ")")))) (+ "+") (number_literal "8")) () ")")))) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                    \n    FUN_000da200(unaff_EDI + 0x272c64,0x5c,unaff_EDI + 0x286d9f,0);\n  }" ({ "{") (expression_statement "FUN_000da200(unaff_EDI + 0x272c64,0x5c,unaff_EDI + 0x286d9f,0);" (call_expression "FUN_000da200(unaff_EDI + 0x272c64,0x5c,unaff_EDI + 0x286d9f,0)" (identifier "FUN_000da200") (argument_list "(unaff_EDI + 0x272c64,0x5c,unaff_EDI + 0x286d9f,0)" (( "(") (binary_expression "unaff_EDI + 0x272c64" (identifier "unaff_EDI") (+ "+") (number_literal "0x272c64")) (, ",") (number_literal "0x5c") (, ",") (binary_expression "unaff_EDI + 0x286d9f" (identifier "unaff_EDI") (+ "+") (number_literal "0x286d9f")) (, ",") (number_literal "0") () ")"))) (; ";")) (} "}"))) (expression_statement "local_36 = *(undefined1 *)\n              (*(int *)(*(int *)(BYTE_ARRAY_003a4e59 + unaff_EDI + 0x86) + 8) + 0x38e9);" (assignment_expression "local_36 = *(undefined1 *)\n              (*(int *)(*(int *)(BYTE_ARRAY_003a4e59 + unaff_EDI + 0x86) + 8) + 0x38e9)" (identifier "local_36") (= "=") (pointer_expression "*(undefined1 *)\n              (*(int *)(*(int *)(BYTE_ARRAY_003a4e59 + unaff_EDI + 0x86) + 8) + 0x38e9)" (* "*") (cast_expression "(undefined1 *)\n              (*(int *)(*(int *)(BYTE_ARRAY_003a4e59 + unaff_EDI + 0x86) + 8) + 0x38e9)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(*(int *)(BYTE_ARRAY_003a4e59 + unaff_EDI + 0x86) + 8) + 0x38e9)" (( "(") (binary_expression "*(int *)(*(int *)(BYTE_ARRAY_003a4e59 + unaff_EDI + 0x86) + 8) + 0x38e9" (pointer_expression "*(int *)(*(int *)(BYTE_ARRAY_003a4e59 + unaff_EDI + 0x86) + 8)" (* "*") (cast_expression "(int *)(*(int *)(BYTE_ARRAY_003a4e59 + unaff_EDI + 0x86) + 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(BYTE_ARRAY_003a4e59 + unaff_EDI + 0x86) + 8)" (( "(") (binary_expression "*(int *)(BYTE_ARRAY_003a4e59 + unaff_EDI + 0x86) + 8" (pointer_expression "*(int *)(BYTE_ARRAY_003a4e59 + unaff_EDI + 0x86)" (* "*") (cast_expression "(int *)(BYTE_ARRAY_003a4e59 + unaff_EDI + 0x86)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(BYTE_ARRAY_003a4e59 + unaff_EDI + 0x86)" (( "(") (binary_expression "BYTE_ARRAY_003a4e59 + unaff_EDI + 0x86" (binary_expression "BYTE_ARRAY_003a4e59 + unaff_EDI" (identifier "BYTE_ARRAY_003a4e59") (+ "+") (identifier "unaff_EDI")) (+ "+") (number_literal "0x86")) () ")")))) (+ "+") (number_literal "8")) () ")")))) (+ "+") (number_literal "0x38e9")) () ")"))))) (; ";")) (expression_statement "local_34 = 0;" (assignment_expression "local_34 = 0" (identifier "local_34") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_30 = 0;" (assignment_expression "local_30 = 0" (identifier "local_30") (= "=") (number_literal "0")) (; ";")) (expression_statement "uVar13 = *(uint *)(iVar5 + 0xa8);" (assignment_expression "uVar13 = *(uint *)(iVar5 + 0xa8)" (identifier "uVar13") (= "=") (pointer_expression "*(uint *)(iVar5 + 0xa8)" (* "*") (cast_expression "(uint *)(iVar5 + 0xa8)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar5 + 0xa8)" (( "(") (binary_expression "iVar5 + 0xa8" (identifier "iVar5") (+ "+") (number_literal "0xa8")) () ")"))))) (; ";")) (expression_statement "local_2c = 0;" (assignment_expression "local_2c = 0" (identifier "local_2c") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_28 = 0;" (assignment_expression "local_28 = 0" (identifier "local_28") (= "=") (number_literal "0")) (; ";")) (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 "local_20 = 0;" (assignment_expression "local_20 = 0" (identifier "local_20") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_68 = (int *)0x0;" (assignment_expression "local_68 = (int *)0x0" (identifier "local_68") (= "=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "local_60 = (int *)0x0;" (assignment_expression "local_60 = (int *)0x0" (identifier "local_60") (= "=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "local_38 = (byte)(uVar13 >> 0x1f);" (assignment_expression "local_38 = (byte)(uVar13 >> 0x1f)" (identifier "local_38") (= "=") (call_expression "(byte)(uVar13 >> 0x1f)" (parenthesized_expression "(byte)" (( "(") (identifier "byte") () ")")) (argument_list "(uVar13 >> 0x1f)" (( "(") (binary_expression "uVar13 >> 0x1f" (identifier "uVar13") (>> ">>") (number_literal "0x1f")) () ")")))) (; ";")) (expression_statement "local_48[3] = ((int)uVar13 >> 0x1f ^ uVar13) - ((int)uVar13 >> 0x1f);" (assignment_expression "local_48[3] = ((int)uVar13 >> 0x1f ^ uVar13) - ((int)uVar13 >> 0x1f)" (subscript_expression "local_48[3]" (identifier "local_48") ([ "[") (number_literal "3") (] "]")) (= "=") (binary_expression "((int)uVar13 >> 0x1f ^ uVar13) - ((int)uVar13 >> 0x1f)" (parenthesized_expression "((int)uVar13 >> 0x1f ^ uVar13)" (( "(") (binary_expression "(int)uVar13 >> 0x1f ^ uVar13" (binary_expression "(int)uVar13 >> 0x1f" (cast_expression "(int)uVar13" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "uVar13")) (>> ">>") (number_literal "0x1f")) (^ "^") (identifier "uVar13")) () ")")) (- "-") (parenthesized_expression "((int)uVar13 >> 0x1f)" (( "(") (binary_expression "(int)uVar13 >> 0x1f" (cast_expression "(int)uVar13" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "uVar13")) (>> ">>") (number_literal "0x1f")) () ")")))) (; ";")) (expression_statement "local_5c = (int *)0x0;" (assignment_expression "local_5c = (int *)0x0" (identifier "local_5c") (= "=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "local_58 = (int *)0x0;" (assignment_expression "local_58 = (int *)0x0" (identifier "local_58") (= "=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "local_54 = (int *)0x0;" (assignment_expression "local_54 = (int *)0x0" (identifier "local_54") (= "=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (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"))) (; ";")) (expression_statement "local_4c = 0;" (assignment_expression "local_4c = 0" (identifier "local_4c") (= "=") (number_literal "0")) (; ";")) (expression_statement "FUN_0010bb60((int)((ulonglong)uVar18 >> 0x20),&local_54);" (call_expression "FUN_0010bb60((int)((ulonglong)uVar18 >> 0x20),&local_54)" (identifier "FUN_0010bb60") (argument_list "((int)((ulonglong)uVar18 >> 0x20),&local_54)" (( "(") (cast_expression "(int)((ulonglong)uVar18 >> 0x20)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "((ulonglong)uVar18 >> 0x20)" (( "(") (binary_expression "(ulonglong)uVar18 >> 0x20" (cast_expression "(ulonglong)uVar18" (( "(") (type_descriptor "ulonglong" (type_identifier "ulonglong")) () ")") (identifier "uVar18")) (>> ">>") (number_literal "0x20")) () ")"))) (, ",") (pointer_expression "&local_54" (& "&") (identifier "local_54")) () ")"))) (; ";")) (expression_statement "FUN_000aba90(&local_74,(int)local_50 - (int)local_54 >> 2);" (call_expression "FUN_000aba90(&local_74,(int)local_50 - (int)local_54 >> 2)" (identifier "FUN_000aba90") (argument_list "(&local_74,(int)local_50 - (int)local_54 >> 2)" (( "(") (pointer_expression "&local_74" (& "&") (identifier "local_74")) (, ",") (binary_expression "(int)local_50 - (int)local_54 >> 2" (binary_expression "(int)local_50 - (int)local_54" (cast_expression "(int)local_50" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_50")) (- "-") (cast_expression "(int)local_54" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_54"))) (>> ">>") (number_literal "2")) () ")"))) (; ";")) (if_statement "if (local_74 == 0) {\n                    \n    FUN_0006eab0();\n  }\n  else {\n                    \n    FUN_0006f540(local_70,0);\n  }" (if "if") (parenthesized_expression "(local_74 == 0)" (( "(") (binary_expression "local_74 == 0" (identifier "local_74") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                    \n    FUN_0006eab0();\n  }" ({ "{") (expression_statement "FUN_0006eab0();" (call_expression "FUN_0006eab0()" (identifier "FUN_0006eab0") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}")) (else_clause "else {\n                    \n    FUN_0006f540(local_70,0);\n  }" (else "else") (compound_statement "{\n                    \n    FUN_0006f540(local_70,0);\n  }" ({ "{") (expression_statement "FUN_0006f540(local_70,0);" (call_expression "FUN_0006f540(local_70,0)" (identifier "FUN_0006f540") (argument_list "(local_70,0)" (( "(") (identifier "local_70") (, ",") (number_literal "0") () ")"))) (; ";")) (} "}")))) (expression_statement "FUN_002481e0(local_74,*(undefined4 *)(BYTE_ARRAY_003a4975 + unaff_EDI + 0x2e));" (call_expression "FUN_002481e0(local_74,*(undefined4 *)(BYTE_ARRAY_003a4975 + unaff_EDI + 0x2e))" (identifier "FUN_002481e0") (argument_list "(local_74,*(undefined4 *)(BYTE_ARRAY_003a4975 + unaff_EDI + 0x2e))" (( "(") (identifier "local_74") (, ",") (pointer_expression "*(undefined4 *)(BYTE_ARRAY_003a4975 + unaff_EDI + 0x2e)" (* "*") (cast_expression "(undefined4 *)(BYTE_ARRAY_003a4975 + unaff_EDI + 0x2e)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(BYTE_ARRAY_003a4975 + unaff_EDI + 0x2e)" (( "(") (binary_expression "BYTE_ARRAY_003a4975 + unaff_EDI + 0x2e" (binary_expression "BYTE_ARRAY_003a4975 + unaff_EDI" (identifier "BYTE_ARRAY_003a4975") (+ "+") (identifier "unaff_EDI")) (+ "+") (number_literal "0x2e")) () ")")))) () ")"))) (; ";")) (expression_statement "local_7c = local_54;" (assignment_expression "local_7c = local_54" (identifier "local_7c") (= "=") (identifier "local_54")) (; ";")) (if_statement "if (local_54 != local_50) {\n    do {\n      iVar7 = *local_7c;\n      piVar15 = *(int **)(iVar7 + 0x6c);\n      if (piVar15 != *(int **)(iVar7 + 0x70)) {\n        do {\n          if (2 < *piVar15 + 3U) {\n            iVar7 = FUN_0015c600(piVar15);\n            uVar13 = FUN_0015c690(piVar15);\n            bVar17 = false;\n            if (uVar13 < (uint)((*(int *)(iVar7 + 0x19c) - *(int *)(iVar7 + 0x194)) +\n                               (*(int *)(iVar7 + 0x198) - *(int *)(iVar7 + 400)) * 8)) {\n              bVar17 = (*(uint *)(*(int *)(iVar7 + 400) + (uVar13 >> 5) * 4) &\n                       1 << ((byte)uVar13 & 0x1f)) != 0;\n            }\n            cVar4 = FUN_0004fea0(bVar17);\n            if (cVar4 == '\0') {\n              *local_68 = local_20;\n              local_68[1] = (int)local_24;\n              local_20 = *local_7c;\n              local_68 = (int *)0x0;\n              local_24 = piVar15;\nLAB_0006f76a:\n                    \n              local_68 = (int *)FUN_00246670(8);\n              *local_68 = 0;\n              local_68[1] = 0;\n              if (local_5c == local_58) {\n                FUN_00055630();\n              }\n              else {\n                *local_5c = (int)local_68;\n                local_5c = local_5c + 1;\n              }\n            }\n            else if (local_68 == (int *)0x0) goto LAB_0006f76a;\n            iVar12 = (int)local_5c - (int)local_60;\n            uVar13 = FUN_0015c690(piVar15);\n            iVar14 = *(int *)(iVar7 + 0x1a4);\n            iVar11 = *(int *)(iVar7 + 0x1a8);\n            uVar6 = iVar11 - iVar14 >> 2;\n            if (uVar6 <= uVar13) {\n              uVar1 = uVar13 + 1;\n              local_48[0] = -1;\n              if (uVar6 < uVar1) {\n                FUN_000aab90(iVar7 + 0x1a4,iVar11,uVar1 - uVar6,local_48);\n                iVar14 = *(int *)(iVar7 + 0x1a4);\n              }\n              else if ((uVar1 < uVar6) && (iVar2 = iVar14 + uVar1 * 4, iVar11 != iVar2)) {\n                *(int *)(iVar7 + 0x1a8) = iVar2;\n              }\n            }\n            *(int *)(iVar14 + uVar13 * 4) = (iVar12 >> 2) + -1;\n            iVar7 = *local_7c;\n          }\n          piVar15 = piVar15 + 6;\n        } while (*(int **)(iVar7 + 0x70) != piVar15);\n      }\n      local_7c = local_7c + 1;\n    } while (local_50 != local_7c);\n  }" (if "if") (parenthesized_expression "(local_54 != local_50)" (( "(") (binary_expression "local_54 != local_50" (identifier "local_54") (!= "!=") (identifier "local_50")) () ")")) (compound_statement "{\n    do {\n      iVar7 = *local_7c;\n      piVar15 = *(int **)(iVar7 + 0x6c);\n      if (piVar15 != *(int **)(iVar7 + 0x70)) {\n        do {\n          if (2 < *piVar15 + 3U) {\n            iVar7 = FUN_0015c600(piVar15);\n            uVar13 = FUN_0015c690(piVar15);\n            bVar17 = false;\n            if (uVar13 < (uint)((*(int *)(iVar7 + 0x19c) - *(int *)(iVar7 + 0x194)) +\n                               (*(int *)(iVar7 + 0x198) - *(int *)(iVar7 + 400)) * 8)) {\n              bVar17 = (*(uint *)(*(int *)(iVar7 + 400) + (uVar13 >> 5) * 4) &\n                       1 << ((byte)uVar13 & 0x1f)) != 0;\n            }\n            cVar4 = FUN_0004fea0(bVar17);\n            if (cVar4 == '\0') {\n              *local_68 = local_20;\n              local_68[1] = (int)local_24;\n              local_20 = *local_7c;\n              local_68 = (int *)0x0;\n              local_24 = piVar15;\nLAB_0006f76a:\n                    \n              local_68 = (int *)FUN_00246670(8);\n              *local_68 = 0;\n              local_68[1] = 0;\n              if (local_5c == local_58) {\n                FUN_00055630();\n              }\n              else {\n                *local_5c = (int)local_68;\n                local_5c = local_5c + 1;\n              }\n            }\n            else if (local_68 == (int *)0x0) goto LAB_0006f76a;\n            iVar12 = (int)local_5c - (int)local_60;\n            uVar13 = FUN_0015c690(piVar15);\n            iVar14 = *(int *)(iVar7 + 0x1a4);\n            iVar11 = *(int *)(iVar7 + 0x1a8);\n            uVar6 = iVar11 - iVar14 >> 2;\n            if (uVar6 <= uVar13) {\n              uVar1 = uVar13 + 1;\n              local_48[0] = -1;\n              if (uVar6 < uVar1) {\n                FUN_000aab90(iVar7 + 0x1a4,iVar11,uVar1 - uVar6,local_48);\n                iVar14 = *(int *)(iVar7 + 0x1a4);\n              }\n              else if ((uVar1 < uVar6) && (iVar2 = iVar14 + uVar1 * 4, iVar11 != iVar2)) {\n                *(int *)(iVar7 + 0x1a8) = iVar2;\n              }\n            }\n            *(int *)(iVar14 + uVar13 * 4) = (iVar12 >> 2) + -1;\n            iVar7 = *local_7c;\n          }\n          piVar15 = piVar15 + 6;\n        } while (*(int **)(iVar7 + 0x70) != piVar15);\n      }\n      local_7c = local_7c + 1;\n    } while (local_50 != local_7c);\n  }" ({ "{") (do_statement "do {\n      iVar7 = *local_7c;\n      piVar15 = *(int **)(iVar7 + 0x6c);\n      if (piVar15 != *(int **)(iVar7 + 0x70)) {\n        do {\n          if (2 < *piVar15 + 3U) {\n            iVar7 = FUN_0015c600(piVar15);\n            uVar13 = FUN_0015c690(piVar15);\n            bVar17 = false;\n            if (uVar13 < (uint)((*(int *)(iVar7 + 0x19c) - *(int *)(iVar7 + 0x194)) +\n                               (*(int *)(iVar7 + 0x198) - *(int *)(iVar7 + 400)) * 8)) {\n              bVar17 = (*(uint *)(*(int *)(iVar7 + 400) + (uVar13 >> 5) * 4) &\n                       1 << ((byte)uVar13 & 0x1f)) != 0;\n            }\n            cVar4 = FUN_0004fea0(bVar17);\n            if (cVar4 == '\0') {\n              *local_68 = local_20;\n              local_68[1] = (int)local_24;\n              local_20 = *local_7c;\n              local_68 = (int *)0x0;\n              local_24 = piVar15;\nLAB_0006f76a:\n                    \n              local_68 = (int *)FUN_00246670(8);\n              *local_68 = 0;\n              local_68[1] = 0;\n              if (local_5c == local_58) {\n                FUN_00055630();\n              }\n              else {\n                *local_5c = (int)local_68;\n                local_5c = local_5c + 1;\n              }\n            }\n            else if (local_68 == (int *)0x0) goto LAB_0006f76a;\n            iVar12 = (int)local_5c - (int)local_60;\n            uVar13 = FUN_0015c690(piVar15);\n            iVar14 = *(int *)(iVar7 + 0x1a4);\n            iVar11 = *(int *)(iVar7 + 0x1a8);\n            uVar6 = iVar11 - iVar14 >> 2;\n            if (uVar6 <= uVar13) {\n              uVar1 = uVar13 + 1;\n              local_48[0] = -1;\n              if (uVar6 < uVar1) {\n                FUN_000aab90(iVar7 + 0x1a4,iVar11,uVar1 - uVar6,local_48);\n                iVar14 = *(int *)(iVar7 + 0x1a4);\n              }\n              else if ((uVar1 < uVar6) && (iVar2 = iVar14 + uVar1 * 4, iVar11 != iVar2)) {\n                *(int *)(iVar7 + 0x1a8) = iVar2;\n              }\n            }\n            *(int *)(iVar14 + uVar13 * 4) = (iVar12 >> 2) + -1;\n            iVar7 = *local_7c;\n          }\n          piVar15 = piVar15 + 6;\n        } while (*(int **)(iVar7 + 0x70) != piVar15);\n      }\n      local_7c = local_7c + 1;\n    } while (local_50 != local_7c);" (do "do") (compound_statement "{\n      iVar7 = *local_7c;\n      piVar15 = *(int **)(iVar7 + 0x6c);\n      if (piVar15 != *(int **)(iVar7 + 0x70)) {\n        do {\n          if (2 < *piVar15 + 3U) {\n            iVar7 = FUN_0015c600(piVar15);\n            uVar13 = FUN_0015c690(piVar15);\n            bVar17 = false;\n            if (uVar13 < (uint)((*(int *)(iVar7 + 0x19c) - *(int *)(iVar7 + 0x194)) +\n                               (*(int *)(iVar7 + 0x198) - *(int *)(iVar7 + 400)) * 8)) {\n              bVar17 = (*(uint *)(*(int *)(iVar7 + 400) + (uVar13 >> 5) * 4) &\n                       1 << ((byte)uVar13 & 0x1f)) != 0;\n            }\n            cVar4 = FUN_0004fea0(bVar17);\n            if (cVar4 == '\0') {\n              *local_68 = local_20;\n              local_68[1] = (int)local_24;\n              local_20 = *local_7c;\n              local_68 = (int *)0x0;\n              local_24 = piVar15;\nLAB_0006f76a:\n                    \n              local_68 = (int *)FUN_00246670(8);\n              *local_68 = 0;\n              local_68[1] = 0;\n              if (local_5c == local_58) {\n                FUN_00055630();\n              }\n              else {\n                *local_5c = (int)local_68;\n                local_5c = local_5c + 1;\n              }\n            }\n            else if (local_68 == (int *)0x0) goto LAB_0006f76a;\n            iVar12 = (int)local_5c - (int)local_60;\n            uVar13 = FUN_0015c690(piVar15);\n            iVar14 = *(int *)(iVar7 + 0x1a4);\n            iVar11 = *(int *)(iVar7 + 0x1a8);\n            uVar6 = iVar11 - iVar14 >> 2;\n            if (uVar6 <= uVar13) {\n              uVar1 = uVar13 + 1;\n              local_48[0] = -1;\n              if (uVar6 < uVar1) {\n                FUN_000aab90(iVar7 + 0x1a4,iVar11,uVar1 - uVar6,local_48);\n                iVar14 = *(int *)(iVar7 + 0x1a4);\n              }\n              else if ((uVar1 < uVar6) && (iVar2 = iVar14 + uVar1 * 4, iVar11 != iVar2)) {\n                *(int *)(iVar7 + 0x1a8) = iVar2;\n              }\n            }\n            *(int *)(iVar14 + uVar13 * 4) = (iVar12 >> 2) + -1;\n            iVar7 = *local_7c;\n          }\n          piVar15 = piVar15 + 6;\n        } while (*(int **)(iVar7 + 0x70) != piVar15);\n      }\n      local_7c = local_7c + 1;\n    }" ({ "{") (expression_statement "iVar7 = *local_7c;" (assignment_expression "iVar7 = *local_7c" (identifier "iVar7") (= "=") (pointer_expression "*local_7c" (* "*") (identifier "local_7c"))) (; ";")) (expression_statement "piVar15 = *(int **)(iVar7 + 0x6c);" (assignment_expression "piVar15 = *(int **)(iVar7 + 0x6c)" (identifier "piVar15") (= "=") (pointer_expression "*(int **)(iVar7 + 0x6c)" (* "*") (cast_expression "(int **)(iVar7 + 0x6c)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar7 + 0x6c)" (( "(") (binary_expression "iVar7 + 0x6c" (identifier "iVar7") (+ "+") (number_literal "0x6c")) () ")"))))) (; ";")) (if_statement "if (piVar15 != *(int **)(iVar7 + 0x70)) {\n        do {\n          if (2 < *piVar15 + 3U) {\n            iVar7 = FUN_0015c600(piVar15);\n            uVar13 = FUN_0015c690(piVar15);\n            bVar17 = false;\n            if (uVar13 < (uint)((*(int *)(iVar7 + 0x19c) - *(int *)(iVar7 + 0x194)) +\n                               (*(int *)(iVar7 + 0x198) - *(int *)(iVar7 + 400)) * 8)) {\n              bVar17 = (*(uint *)(*(int *)(iVar7 + 400) + (uVar13 >> 5) * 4) &\n                       1 << ((byte)uVar13 & 0x1f)) != 0;\n            }\n            cVar4 = FUN_0004fea0(bVar17);\n            if (cVar4 == '\0') {\n              *local_68 = local_20;\n              local_68[1] = (int)local_24;\n              local_20 = *local_7c;\n              local_68 = (int *)0x0;\n              local_24 = piVar15;\nLAB_0006f76a:\n                    \n              local_68 = (int *)FUN_00246670(8);\n              *local_68 = 0;\n              local_68[1] = 0;\n              if (local_5c == local_58) {\n                FUN_00055630();\n              }\n              else {\n                *local_5c = (int)local_68;\n                local_5c = local_5c + 1;\n              }\n            }\n            else if (local_68 == (int *)0x0) goto LAB_0006f76a;\n            iVar12 = (int)local_5c - (int)local_60;\n            uVar13 = FUN_0015c690(piVar15);\n            iVar14 = *(int *)(iVar7 + 0x1a4);\n            iVar11 = *(int *)(iVar7 + 0x1a8);\n            uVar6 = iVar11 - iVar14 >> 2;\n            if (uVar6 <= uVar13) {\n              uVar1 = uVar13 + 1;\n              local_48[0] = -1;\n              if (uVar6 < uVar1) {\n                FUN_000aab90(iVar7 + 0x1a4,iVar11,uVar1 - uVar6,local_48);\n                iVar14 = *(int *)(iVar7 + 0x1a4);\n              }\n              else if ((uVar1 < uVar6) && (iVar2 = iVar14 + uVar1 * 4, iVar11 != iVar2)) {\n                *(int *)(iVar7 + 0x1a8) = iVar2;\n              }\n            }\n            *(int *)(iVar14 + uVar13 * 4) = (iVar12 >> 2) + -1;\n            iVar7 = *local_7c;\n          }\n          piVar15 = piVar15 + 6;\n        } while (*(int **)(iVar7 + 0x70) != piVar15);\n      }" (if "if") (parenthesized_expression "(piVar15 != *(int **)(iVar7 + 0x70))" (( "(") (binary_expression "piVar15 != *(int **)(iVar7 + 0x70)" (identifier "piVar15") (!= "!=") (pointer_expression "*(int **)(iVar7 + 0x70)" (* "*") (cast_expression "(int **)(iVar7 + 0x70)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar7 + 0x70)" (( "(") (binary_expression "iVar7 + 0x70" (identifier "iVar7") (+ "+") (number_literal "0x70")) () ")"))))) () ")")) (compound_statement "{\n        do {\n          if (2 < *piVar15 + 3U) {\n            iVar7 = FUN_0015c600(piVar15);\n            uVar13 = FUN_0015c690(piVar15);\n            bVar17 = false;\n            if (uVar13 < (uint)((*(int *)(iVar7 + 0x19c) - *(int *)(iVar7 + 0x194)) +\n                               (*(int *)(iVar7 + 0x198) - *(int *)(iVar7 + 400)) * 8)) {\n              bVar17 = (*(uint *)(*(int *)(iVar7 + 400) + (uVar13 >> 5) * 4) &\n                       1 << ((byte)uVar13 & 0x1f)) != 0;\n            }\n            cVar4 = FUN_0004fea0(bVar17);\n            if (cVar4 == '\0') {\n              *local_68 = local_20;\n              local_68[1] = (int)local_24;\n              local_20 = *local_7c;\n              local_68 = (int *)0x0;\n              local_24 = piVar15;\nLAB_0006f76a:\n                    \n              local_68 = (int *)FUN_00246670(8);\n              *local_68 = 0;\n              local_68[1] = 0;\n              if (local_5c == local_58) {\n                FUN_00055630();\n              }\n              else {\n                *local_5c = (int)local_68;\n                local_5c = local_5c + 1;\n              }\n            }\n            else if (local_68 == (int *)0x0) goto LAB_0006f76a;\n            iVar12 = (int)local_5c - (int)local_60;\n            uVar13 = FUN_0015c690(piVar15);\n            iVar14 = *(int *)(iVar7 + 0x1a4);\n            iVar11 = *(int *)(iVar7 + 0x1a8);\n            uVar6 = iVar11 - iVar14 >> 2;\n            if (uVar6 <= uVar13) {\n              uVar1 = uVar13 + 1;\n              local_48[0] = -1;\n              if (uVar6 < uVar1) {\n                FUN_000aab90(iVar7 + 0x1a4,iVar11,uVar1 - uVar6,local_48);\n                iVar14 = *(int *)(iVar7 + 0x1a4);\n              }\n              else if ((uVar1 < uVar6) && (iVar2 = iVar14 + uVar1 * 4, iVar11 != iVar2)) {\n                *(int *)(iVar7 + 0x1a8) = iVar2;\n              }\n            }\n            *(int *)(iVar14 + uVar13 * 4) = (iVar12 >> 2) + -1;\n            iVar7 = *local_7c;\n          }\n          piVar15 = piVar15 + 6;\n        } while (*(int **)(iVar7 + 0x70) != piVar15);\n      }" ({ "{") (do_statement "do {\n          if (2 < *piVar15 + 3U) {\n            iVar7 = FUN_0015c600(piVar15);\n            uVar13 = FUN_0015c690(piVar15);\n            bVar17 = false;\n            if (uVar13 < (uint)((*(int *)(iVar7 + 0x19c) - *(int *)(iVar7 + 0x194)) +\n                               (*(int *)(iVar7 + 0x198) - *(int *)(iVar7 + 400)) * 8)) {\n              bVar17 = (*(uint *)(*(int *)(iVar7 + 400) + (uVar13 >> 5) * 4) &\n                       1 << ((byte)uVar13 & 0x1f)) != 0;\n            }\n            cVar4 = FUN_0004fea0(bVar17);\n            if (cVar4 == '\0') {\n              *local_68 = local_20;\n              local_68[1] = (int)local_24;\n              local_20 = *local_7c;\n              local_68 = (int *)0x0;\n              local_24 = piVar15;\nLAB_0006f76a:\n                    \n              local_68 = (int *)FUN_00246670(8);\n              *local_68 = 0;\n              local_68[1] = 0;\n              if (local_5c == local_58) {\n                FUN_00055630();\n              }\n              else {\n                *local_5c = (int)local_68;\n                local_5c = local_5c + 1;\n              }\n            }\n            else if (local_68 == (int *)0x0) goto LAB_0006f76a;\n            iVar12 = (int)local_5c - (int)local_60;\n            uVar13 = FUN_0015c690(piVar15);\n            iVar14 = *(int *)(iVar7 + 0x1a4);\n            iVar11 = *(int *)(iVar7 + 0x1a8);\n            uVar6 = iVar11 - iVar14 >> 2;\n            if (uVar6 <= uVar13) {\n              uVar1 = uVar13 + 1;\n              local_48[0] = -1;\n              if (uVar6 < uVar1) {\n                FUN_000aab90(iVar7 + 0x1a4,iVar11,uVar1 - uVar6,local_48);\n                iVar14 = *(int *)(iVar7 + 0x1a4);\n              }\n              else if ((uVar1 < uVar6) && (iVar2 = iVar14 + uVar1 * 4, iVar11 != iVar2)) {\n                *(int *)(iVar7 + 0x1a8) = iVar2;\n              }\n            }\n            *(int *)(iVar14 + uVar13 * 4) = (iVar12 >> 2) + -1;\n            iVar7 = *local_7c;\n          }\n          piVar15 = piVar15 + 6;\n        } while (*(int **)(iVar7 + 0x70) != piVar15);" (do "do") (compound_statement "{\n          if (2 < *piVar15 + 3U) {\n            iVar7 = FUN_0015c600(piVar15);\n            uVar13 = FUN_0015c690(piVar15);\n            bVar17 = false;\n            if (uVar13 < (uint)((*(int *)(iVar7 + 0x19c) - *(int *)(iVar7 + 0x194)) +\n                               (*(int *)(iVar7 + 0x198) - *(int *)(iVar7 + 400)) * 8)) {\n              bVar17 = (*(uint *)(*(int *)(iVar7 + 400) + (uVar13 >> 5) * 4) &\n                       1 << ((byte)uVar13 & 0x1f)) != 0;\n            }\n            cVar4 = FUN_0004fea0(bVar17);\n            if (cVar4 == '\0') {\n              *local_68 = local_20;\n              local_68[1] = (int)local_24;\n              local_20 = *local_7c;\n              local_68 = (int *)0x0;\n              local_24 = piVar15;\nLAB_0006f76a:\n                    \n              local_68 = (int *)FUN_00246670(8);\n              *local_68 = 0;\n              local_68[1] = 0;\n              if (local_5c == local_58) {\n                FUN_00055630();\n              }\n              else {\n                *local_5c = (int)local_68;\n                local_5c = local_5c + 1;\n              }\n            }\n            else if (local_68 == (int *)0x0) goto LAB_0006f76a;\n            iVar12 = (int)local_5c - (int)local_60;\n            uVar13 = FUN_0015c690(piVar15);\n            iVar14 = *(int *)(iVar7 + 0x1a4);\n            iVar11 = *(int *)(iVar7 + 0x1a8);\n            uVar6 = iVar11 - iVar14 >> 2;\n            if (uVar6 <= uVar13) {\n              uVar1 = uVar13 + 1;\n              local_48[0] = -1;\n              if (uVar6 < uVar1) {\n                FUN_000aab90(iVar7 + 0x1a4,iVar11,uVar1 - uVar6,local_48);\n                iVar14 = *(int *)(iVar7 + 0x1a4);\n              }\n              else if ((uVar1 < uVar6) && (iVar2 = iVar14 + uVar1 * 4, iVar11 != iVar2)) {\n                *(int *)(iVar7 + 0x1a8) = iVar2;\n              }\n            }\n            *(int *)(iVar14 + uVar13 * 4) = (iVar12 >> 2) + -1;\n            iVar7 = *local_7c;\n          }\n          piVar15 = piVar15 + 6;\n        }" ({ "{") (if_statement "if (2 < *piVar15 + 3U) {\n            iVar7 = FUN_0015c600(piVar15);\n            uVar13 = FUN_0015c690(piVar15);\n            bVar17 = false;\n            if (uVar13 < (uint)((*(int *)(iVar7 + 0x19c) - *(int *)(iVar7 + 0x194)) +\n                               (*(int *)(iVar7 + 0x198) - *(int *)(iVar7 + 400)) * 8)) {\n              bVar17 = (*(uint *)(*(int *)(iVar7 + 400) + (uVar13 >> 5) * 4) &\n                       1 << ((byte)uVar13 & 0x1f)) != 0;\n            }\n            cVar4 = FUN_0004fea0(bVar17);\n            if (cVar4 == '\0') {\n              *local_68 = local_20;\n              local_68[1] = (int)local_24;\n              local_20 = *local_7c;\n              local_68 = (int *)0x0;\n              local_24 = piVar15;\nLAB_0006f76a:\n                    \n              local_68 = (int *)FUN_00246670(8);\n              *local_68 = 0;\n              local_68[1] = 0;\n              if (local_5c == local_58) {\n                FUN_00055630();\n              }\n              else {\n                *local_5c = (int)local_68;\n                local_5c = local_5c + 1;\n              }\n            }\n            else if (local_68 == (int *)0x0) goto LAB_0006f76a;\n            iVar12 = (int)local_5c - (int)local_60;\n            uVar13 = FUN_0015c690(piVar15);\n            iVar14 = *(int *)(iVar7 + 0x1a4);\n            iVar11 = *(int *)(iVar7 + 0x1a8);\n            uVar6 = iVar11 - iVar14 >> 2;\n            if (uVar6 <= uVar13) {\n              uVar1 = uVar13 + 1;\n              local_48[0] = -1;\n              if (uVar6 < uVar1) {\n                FUN_000aab90(iVar7 + 0x1a4,iVar11,uVar1 - uVar6,local_48);\n                iVar14 = *(int *)(iVar7 + 0x1a4);\n              }\n              else if ((uVar1 < uVar6) && (iVar2 = iVar14 + uVar1 * 4, iVar11 != iVar2)) {\n                *(int *)(iVar7 + 0x1a8) = iVar2;\n              }\n            }\n            *(int *)(iVar14 + uVar13 * 4) = (iVar12 >> 2) + -1;\n            iVar7 = *local_7c;\n          }" (if "if") (parenthesized_expression "(2 < *piVar15 + 3U)" (( "(") (binary_expression "2 < *piVar15 + 3U" (number_literal "2") (< "<") (binary_expression "*piVar15 + 3U" (pointer_expression "*piVar15" (* "*") (identifier "piVar15")) (+ "+") (number_literal "3U"))) () ")")) (compound_statement "{\n            iVar7 = FUN_0015c600(piVar15);\n            uVar13 = FUN_0015c690(piVar15);\n            bVar17 = false;\n            if (uVar13 < (uint)((*(int *)(iVar7 + 0x19c) - *(int *)(iVar7 + 0x194)) +\n                               (*(int *)(iVar7 + 0x198) - *(int *)(iVar7 + 400)) * 8)) {\n              bVar17 = (*(uint *)(*(int *)(iVar7 + 400) + (uVar13 >> 5) * 4) &\n                       1 << ((byte)uVar13 & 0x1f)) != 0;\n            }\n            cVar4 = FUN_0004fea0(bVar17);\n            if (cVar4 == '\0') {\n              *local_68 = local_20;\n              local_68[1] = (int)local_24;\n              local_20 = *local_7c;\n              local_68 = (int *)0x0;\n              local_24 = piVar15;\nLAB_0006f76a:\n                    \n              local_68 = (int *)FUN_00246670(8);\n              *local_68 = 0;\n              local_68[1] = 0;\n              if (local_5c == local_58) {\n                FUN_00055630();\n              }\n              else {\n                *local_5c = (int)local_68;\n                local_5c = local_5c + 1;\n              }\n            }\n            else if (local_68 == (int *)0x0) goto LAB_0006f76a;\n            iVar12 = (int)local_5c - (int)local_60;\n            uVar13 = FUN_0015c690(piVar15);\n            iVar14 = *(int *)(iVar7 + 0x1a4);\n            iVar11 = *(int *)(iVar7 + 0x1a8);\n            uVar6 = iVar11 - iVar14 >> 2;\n            if (uVar6 <= uVar13) {\n              uVar1 = uVar13 + 1;\n              local_48[0] = -1;\n              if (uVar6 < uVar1) {\n                FUN_000aab90(iVar7 + 0x1a4,iVar11,uVar1 - uVar6,local_48);\n                iVar14 = *(int *)(iVar7 + 0x1a4);\n              }\n              else if ((uVar1 < uVar6) && (iVar2 = iVar14 + uVar1 * 4, iVar11 != iVar2)) {\n                *(int *)(iVar7 + 0x1a8) = iVar2;\n              }\n            }\n            *(int *)(iVar14 + uVar13 * 4) = (iVar12 >> 2) + -1;\n            iVar7 = *local_7c;\n          }" ({ "{") (expression_statement "iVar7 = FUN_0015c600(piVar15);" (assignment_expression "iVar7 = FUN_0015c600(piVar15)" (identifier "iVar7") (= "=") (call_expression "FUN_0015c600(piVar15)" (identifier "FUN_0015c600") (argument_list "(piVar15)" (( "(") (identifier "piVar15") () ")")))) (; ";")) (expression_statement "uVar13 = FUN_0015c690(piVar15);" (assignment_expression "uVar13 = FUN_0015c690(piVar15)" (identifier "uVar13") (= "=") (call_expression "FUN_0015c690(piVar15)" (identifier "FUN_0015c690") (argument_list "(piVar15)" (( "(") (identifier "piVar15") () ")")))) (; ";")) (expression_statement "bVar17 = false;" (assignment_expression "bVar17 = false" (identifier "bVar17") (= "=") (false "false")) (; ";")) (if_statement "if (uVar13 < (uint)((*(int *)(iVar7 + 0x19c) - *(int *)(iVar7 + 0x194)) +\n                               (*(int *)(iVar7 + 0x198) - *(int *)(iVar7 + 400)) * 8)) {\n              bVar17 = (*(uint *)(*(int *)(iVar7 + 400) + (uVar13 >> 5) * 4) &\n                       1 << ((byte)uVar13 & 0x1f)) != 0;\n            }" (if "if") (parenthesized_expression "(uVar13 < (uint)((*(int *)(iVar7 + 0x19c) - *(int *)(iVar7 + 0x194)) +\n                               (*(int *)(iVar7 + 0x198) - *(int *)(iVar7 + 400)) * 8))" (( "(") (binary_expression "uVar13 < (uint)((*(int *)(iVar7 + 0x19c) - *(int *)(iVar7 + 0x194)) +\n                               (*(int *)(iVar7 + 0x198) - *(int *)(iVar7 + 400)) * 8)" (identifier "uVar13") (< "<") (call_expression "(uint)((*(int *)(iVar7 + 0x19c) - *(int *)(iVar7 + 0x194)) +\n                               (*(int *)(iVar7 + 0x198) - *(int *)(iVar7 + 400)) * 8)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "((*(int *)(iVar7 + 0x19c) - *(int *)(iVar7 + 0x194)) +\n                               (*(int *)(iVar7 + 0x198) - *(int *)(iVar7 + 400)) * 8)" (( "(") (binary_expression "(*(int *)(iVar7 + 0x19c) - *(int *)(iVar7 + 0x194)) +\n                               (*(int *)(iVar7 + 0x198) - *(int *)(iVar7 + 400)) * 8" (parenthesized_expression "(*(int *)(iVar7 + 0x19c) - *(int *)(iVar7 + 0x194))" (( "(") (binary_expression "*(int *)(iVar7 + 0x19c) - *(int *)(iVar7 + 0x194)" (pointer_expression "*(int *)(iVar7 + 0x19c)" (* "*") (cast_expression "(int *)(iVar7 + 0x19c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar7 + 0x19c)" (( "(") (binary_expression "iVar7 + 0x19c" (identifier "iVar7") (+ "+") (number_literal "0x19c")) () ")")))) (- "-") (pointer_expression "*(int *)(iVar7 + 0x194)" (* "*") (cast_expression "(int *)(iVar7 + 0x194)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar7 + 0x194)" (( "(") (binary_expression "iVar7 + 0x194" (identifier "iVar7") (+ "+") (number_literal "0x194")) () ")"))))) () ")")) (+ "+") (binary_expression "(*(int *)(iVar7 + 0x198) - *(int *)(iVar7 + 400)) * 8" (parenthesized_expression "(*(int *)(iVar7 + 0x198) - *(int *)(iVar7 + 400))" (( "(") (binary_expression "*(int *)(iVar7 + 0x198) - *(int *)(iVar7 + 400)" (pointer_expression "*(int *)(iVar7 + 0x198)" (* "*") (cast_expression "(int *)(iVar7 + 0x198)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar7 + 0x198)" (( "(") (binary_expression "iVar7 + 0x198" (identifier "iVar7") (+ "+") (number_literal "0x198")) () ")")))) (- "-") (pointer_expression "*(int *)(iVar7 + 400)" (* "*") (cast_expression "(int *)(iVar7 + 400)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar7 + 400)" (( "(") (binary_expression "iVar7 + 400" (identifier "iVar7") (+ "+") (number_literal "400")) () ")"))))) () ")")) (* "*") (number_literal "8"))) () ")")))) () ")")) (compound_statement "{\n              bVar17 = (*(uint *)(*(int *)(iVar7 + 400) + (uVar13 >> 5) * 4) &\n                       1 << ((byte)uVar13 & 0x1f)) != 0;\n            }" ({ "{") (expression_statement "bVar17 = (*(uint *)(*(int *)(iVar7 + 400) + (uVar13 >> 5) * 4) &\n                       1 << ((byte)uVar13 & 0x1f)) != 0;" (assignment_expression "bVar17 = (*(uint *)(*(int *)(iVar7 + 400) + (uVar13 >> 5) * 4) &\n                       1 << ((byte)uVar13 & 0x1f)) != 0" (identifier "bVar17") (= "=") (binary_expression "(*(uint *)(*(int *)(iVar7 + 400) + (uVar13 >> 5) * 4) &\n                       1 << ((byte)uVar13 & 0x1f)) != 0" (parenthesized_expression "(*(uint *)(*(int *)(iVar7 + 400) + (uVar13 >> 5) * 4) &\n                       1 << ((byte)uVar13 & 0x1f))" (( "(") (binary_expression "*(uint *)(*(int *)(iVar7 + 400) + (uVar13 >> 5) * 4) &\n                       1 << ((byte)uVar13 & 0x1f)" (pointer_expression "*(uint *)(*(int *)(iVar7 + 400) + (uVar13 >> 5) * 4)" (* "*") (cast_expression "(uint *)(*(int *)(iVar7 + 400) + (uVar13 >> 5) * 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(iVar7 + 400) + (uVar13 >> 5) * 4)" (( "(") (binary_expression "*(int *)(iVar7 + 400) + (uVar13 >> 5) * 4" (pointer_expression "*(int *)(iVar7 + 400)" (* "*") (cast_expression "(int *)(iVar7 + 400)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar7 + 400)" (( "(") (binary_expression "iVar7 + 400" (identifier "iVar7") (+ "+") (number_literal "400")) () ")")))) (+ "+") (binary_expression "(uVar13 >> 5) * 4" (parenthesized_expression "(uVar13 >> 5)" (( "(") (binary_expression "uVar13 >> 5" (identifier "uVar13") (>> ">>") (number_literal "5")) () ")")) (* "*") (number_literal "4"))) () ")")))) (& "&") (binary_expression "1 << ((byte)uVar13 & 0x1f)" (number_literal "1") (<< "<<") (parenthesized_expression "((byte)uVar13 & 0x1f)" (( "(") (binary_expression "(byte)uVar13 & 0x1f" (cast_expression "(byte)uVar13" (( "(") (type_descriptor "byte" (type_identifier "byte")) () ")") (identifier "uVar13")) (& "&") (number_literal "0x1f")) () ")")))) () ")")) (!= "!=") (number_literal "0"))) (; ";")) (} "}"))) (expression_statement "cVar4 = FUN_0004fea0(bVar17);" (assignment_expression "cVar4 = FUN_0004fea0(bVar17)" (identifier "cVar4") (= "=") (call_expression "FUN_0004fea0(bVar17)" (identifier "FUN_0004fea0") (argument_list "(bVar17)" (( "(") (identifier "bVar17") () ")")))) (; ";")) (if_statement "if (cVar4 == '\0') {\n              *local_68 = local_20;\n              local_68[1] = (int)local_24;\n              local_20 = *local_7c;\n              local_68 = (int *)0x0;\n              local_24 = piVar15;\nLAB_0006f76a:\n                    \n              local_68 = (int *)FUN_00246670(8);\n              *local_68 = 0;\n              local_68[1] = 0;\n              if (local_5c == local_58) {\n                FUN_00055630();\n              }\n              else {\n                *local_5c = (int)local_68;\n                local_5c = local_5c + 1;\n              }\n            }\n            else if (local_68 == (int *)0x0) goto LAB_0006f76a;" (if "if") (parenthesized_expression "(cVar4 == '\0')" (( "(") (binary_expression "cVar4 == '\0'" (identifier "cVar4") (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n              *local_68 = local_20;\n              local_68[1] = (int)local_24;\n              local_20 = *local_7c;\n              local_68 = (int *)0x0;\n              local_24 = piVar15;\nLAB_0006f76a:\n                    \n              local_68 = (int *)FUN_00246670(8);\n              *local_68 = 0;\n              local_68[1] = 0;\n              if (local_5c == local_58) {\n                FUN_00055630();\n              }\n              else {\n                *local_5c = (int)local_68;\n                local_5c = local_5c + 1;\n              }\n            }" ({ "{") (expression_statement "*local_68 = local_20;" (assignment_expression "*local_68 = local_20" (pointer_expression "*local_68" (* "*") (identifier "local_68")) (= "=") (identifier "local_20")) (; ";")) (expression_statement "local_68[1] = (int)local_24;" (assignment_expression "local_68[1] = (int)local_24" (subscript_expression "local_68[1]" (identifier "local_68") ([ "[") (number_literal "1") (] "]")) (= "=") (cast_expression "(int)local_24" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_24"))) (; ";")) (expression_statement "local_20 = *local_7c;" (assignment_expression "local_20 = *local_7c" (identifier "local_20") (= "=") (pointer_expression "*local_7c" (* "*") (identifier "local_7c"))) (; ";")) (expression_statement "local_68 = (int *)0x0;" (assignment_expression "local_68 = (int *)0x0" (identifier "local_68") (= "=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "local_24 = piVar15;" (assignment_expression "local_24 = piVar15" (identifier "local_24") (= "=") (identifier "piVar15")) (; ";")) (labeled_statement "LAB_0006f76a:\n                    \n              local_68 = (int *)FUN_00246670(8);" (statement_identifier "LAB_0006f76a") (: ":") (expression_statement "local_68 = (int *)FUN_00246670(8);" (assignment_expression "local_68 = (int *)FUN_00246670(8)" (identifier "local_68") (= "=") (cast_expression "(int *)FUN_00246670(8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_00246670(8)" (identifier "FUN_00246670") (argument_list "(8)" (( "(") (number_literal "8") () ")"))))) (; ";"))) (expression_statement "*local_68 = 0;" (assignment_expression "*local_68 = 0" (pointer_expression "*local_68" (* "*") (identifier "local_68")) (= "=") (number_literal "0")) (; ";")) (expression_statement "local_68[1] = 0;" (assignment_expression "local_68[1] = 0" (subscript_expression "local_68[1]" (identifier "local_68") ([ "[") (number_literal "1") (] "]")) (= "=") (number_literal "0")) (; ";")) (if_statement "if (local_5c == local_58) {\n                FUN_00055630();\n              }\n              else {\n                *local_5c = (int)local_68;\n                local_5c = local_5c + 1;\n              }" (if "if") (parenthesized_expression "(local_5c == local_58)" (( "(") (binary_expression "local_5c == local_58" (identifier "local_5c") (== "==") (identifier "local_58")) () ")")) (compound_statement "{\n                FUN_00055630();\n              }" ({ "{") (expression_statement "FUN_00055630();" (call_expression "FUN_00055630()" (identifier "FUN_00055630") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}")) (else_clause "else {\n                *local_5c = (int)local_68;\n                local_5c = local_5c + 1;\n              }" (else "else") (compound_statement "{\n                *local_5c = (int)local_68;\n                local_5c = local_5c + 1;\n              }" ({ "{") (expression_statement "*local_5c = (int)local_68;" (assignment_expression "*local_5c = (int)local_68" (pointer_expression "*local_5c" (* "*") (identifier "local_5c")) (= "=") (cast_expression "(int)local_68" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_68"))) (; ";")) (expression_statement "local_5c = local_5c + 1;" (assignment_expression "local_5c = local_5c + 1" (identifier "local_5c") (= "=") (binary_expression "local_5c + 1" (identifier "local_5c") (+ "+") (number_literal "1"))) (; ";")) (} "}")))) (} "}")) (else_clause "else if (local_68 == (int *)0x0) goto LAB_0006f76a;" (else "else") (if_statement "if (local_68 == (int *)0x0) goto LAB_0006f76a;" (if "if") (parenthesized_expression "(local_68 == (int *)0x0)" (( "(") (binary_expression "local_68 == (int *)0x0" (identifier "local_68") (== "==") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (goto_statement "goto LAB_0006f76a;" (goto "goto") (statement_identifier "LAB_0006f76a") (; ";"))))) (expression_statement "iVar12 = (int)local_5c - (int)local_60;" (assignment_expression "iVar12 = (int)local_5c - (int)local_60" (identifier "iVar12") (= "=") (binary_expression "(int)local_5c - (int)local_60" (cast_expression "(int)local_5c" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_5c")) (- "-") (cast_expression "(int)local_60" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_60")))) (; ";")) (expression_statement "uVar13 = FUN_0015c690(piVar15);" (assignment_expression "uVar13 = FUN_0015c690(piVar15)" (identifier "uVar13") (= "=") (call_expression "FUN_0015c690(piVar15)" (identifier "FUN_0015c690") (argument_list "(piVar15)" (( "(") (identifier "piVar15") () ")")))) (; ";")) (expression_statement "iVar14 = *(int *)(iVar7 + 0x1a4);" (assignment_expression "iVar14 = *(int *)(iVar7 + 0x1a4)" (identifier "iVar14") (= "=") (pointer_expression "*(int *)(iVar7 + 0x1a4)" (* "*") (cast_expression "(int *)(iVar7 + 0x1a4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar7 + 0x1a4)" (( "(") (binary_expression "iVar7 + 0x1a4" (identifier "iVar7") (+ "+") (number_literal "0x1a4")) () ")"))))) (; ";")) (expression_statement "iVar11 = *(int *)(iVar7 + 0x1a8);" (assignment_expression "iVar11 = *(int *)(iVar7 + 0x1a8)" (identifier "iVar11") (= "=") (pointer_expression "*(int *)(iVar7 + 0x1a8)" (* "*") (cast_expression "(int *)(iVar7 + 0x1a8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar7 + 0x1a8)" (( "(") (binary_expression "iVar7 + 0x1a8" (identifier "iVar7") (+ "+") (number_literal "0x1a8")) () ")"))))) (; ";")) (expression_statement "uVar6 = iVar11 - iVar14 >> 2;" (assignment_expression "uVar6 = iVar11 - iVar14 >> 2" (identifier "uVar6") (= "=") (binary_expression "iVar11 - iVar14 >> 2" (binary_expression "iVar11 - iVar14" (identifier "iVar11") (- "-") (identifier "iVar14")) (>> ">>") (number_literal "2"))) (; ";")) (if_statement "if (uVar6 <= uVar13) {\n              uVar1 = uVar13 + 1;\n              local_48[0] = -1;\n              if (uVar6 < uVar1) {\n                FUN_000aab90(iVar7 + 0x1a4,iVar11,uVar1 - uVar6,local_48);\n                iVar14 = *(int *)(iVar7 + 0x1a4);\n              }\n              else if ((uVar1 < uVar6) && (iVar2 = iVar14 + uVar1 * 4, iVar11 != iVar2)) {\n                *(int *)(iVar7 + 0x1a8) = iVar2;\n              }\n            }" (if "if") (parenthesized_expression "(uVar6 <= uVar13)" (( "(") (binary_expression "uVar6 <= uVar13" (identifier "uVar6") (<= "<=") (identifier "uVar13")) () ")")) (compound_statement "{\n              uVar1 = uVar13 + 1;\n              local_48[0] = -1;\n              if (uVar6 < uVar1) {\n                FUN_000aab90(iVar7 + 0x1a4,iVar11,uVar1 - uVar6,local_48);\n                iVar14 = *(int *)(iVar7 + 0x1a4);\n              }\n              else if ((uVar1 < uVar6) && (iVar2 = iVar14 + uVar1 * 4, iVar11 != iVar2)) {\n                *(int *)(iVar7 + 0x1a8) = iVar2;\n              }\n            }" ({ "{") (expression_statement "uVar1 = uVar13 + 1;" (assignment_expression "uVar1 = uVar13 + 1" (identifier "uVar1") (= "=") (binary_expression "uVar13 + 1" (identifier "uVar13") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "local_48[0] = -1;" (assignment_expression "local_48[0] = -1" (subscript_expression "local_48[0]" (identifier "local_48") ([ "[") (number_literal "0") (] "]")) (= "=") (number_literal "-1")) (; ";")) (if_statement "if (uVar6 < uVar1) {\n                FUN_000aab90(iVar7 + 0x1a4,iVar11,uVar1 - uVar6,local_48);\n                iVar14 = *(int *)(iVar7 + 0x1a4);\n              }\n              else if ((uVar1 < uVar6) && (iVar2 = iVar14 + uVar1 * 4, iVar11 != iVar2)) {\n                *(int *)(iVar7 + 0x1a8) = iVar2;\n              }" (if "if") (parenthesized_expression "(uVar6 < uVar1)" (( "(") (binary_expression "uVar6 < uVar1" (identifier "uVar6") (< "<") (identifier "uVar1")) () ")")) (compound_statement "{\n                FUN_000aab90(iVar7 + 0x1a4,iVar11,uVar1 - uVar6,local_48);\n                iVar14 = *(int *)(iVar7 + 0x1a4);\n              }" ({ "{") (expression_statement "FUN_000aab90(iVar7 + 0x1a4,iVar11,uVar1 - uVar6,local_48);" (call_expression "FUN_000aab90(iVar7 + 0x1a4,iVar11,uVar1 - uVar6,local_48)" (identifier "FUN_000aab90") (argument_list "(iVar7 + 0x1a4,iVar11,uVar1 - uVar6,local_48)" (( "(") (binary_expression "iVar7 + 0x1a4" (identifier "iVar7") (+ "+") (number_literal "0x1a4")) (, ",") (identifier "iVar11") (, ",") (binary_expression "uVar1 - uVar6" (identifier "uVar1") (- "-") (identifier "uVar6")) (, ",") (identifier "local_48") () ")"))) (; ";")) (expression_statement "iVar14 = *(int *)(iVar7 + 0x1a4);" (assignment_expression "iVar14 = *(int *)(iVar7 + 0x1a4)" (identifier "iVar14") (= "=") (pointer_expression "*(int *)(iVar7 + 0x1a4)" (* "*") (cast_expression "(int *)(iVar7 + 0x1a4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar7 + 0x1a4)" (( "(") (binary_expression "iVar7 + 0x1a4" (identifier "iVar7") (+ "+") (number_literal "0x1a4")) () ")"))))) (; ";")) (} "}")) (else_clause "else if ((uVar1 < uVar6) && (iVar2 = iVar14 + uVar1 * 4, iVar11 != iVar2)) {\n                *(int *)(iVar7 + 0x1a8) = iVar2;\n              }" (else "else") (if_statement "if ((uVar1 < uVar6) && (iVar2 = iVar14 + uVar1 * 4, iVar11 != iVar2)) {\n                *(int *)(iVar7 + 0x1a8) = iVar2;\n              }" (if "if") (parenthesized_expression "((uVar1 < uVar6) && (iVar2 = iVar14 + uVar1 * 4, iVar11 != iVar2))" (( "(") (binary_expression "(uVar1 < uVar6) && (iVar2 = iVar14 + uVar1 * 4, iVar11 != iVar2)" (parenthesized_expression "(uVar1 < uVar6)" (( "(") (binary_expression "uVar1 < uVar6" (identifier "uVar1") (< "<") (identifier "uVar6")) () ")")) (&& "&&") (parenthesized_expression "(iVar2 = iVar14 + uVar1 * 4, iVar11 != iVar2)" (( "(") (comma_expression "iVar2 = iVar14 + uVar1 * 4, iVar11 != iVar2" (assignment_expression "iVar2 = iVar14 + uVar1 * 4" (identifier "iVar2") (= "=") (binary_expression "iVar14 + uVar1 * 4" (identifier "iVar14") (+ "+") (binary_expression "uVar1 * 4" (identifier "uVar1") (* "*") (number_literal "4")))) (, ",") (binary_expression "iVar11 != iVar2" (identifier "iVar11") (!= "!=") (identifier "iVar2"))) () ")"))) () ")")) (compound_statement "{\n                *(int *)(iVar7 + 0x1a8) = iVar2;\n              }" ({ "{") (expression_statement "*(int *)(iVar7 + 0x1a8) = iVar2;" (assignment_expression "*(int *)(iVar7 + 0x1a8) = iVar2" (pointer_expression "*(int *)(iVar7 + 0x1a8)" (* "*") (cast_expression "(int *)(iVar7 + 0x1a8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar7 + 0x1a8)" (( "(") (binary_expression "iVar7 + 0x1a8" (identifier "iVar7") (+ "+") (number_literal "0x1a8")) () ")")))) (= "=") (identifier "iVar2")) (; ";")) (} "}"))))) (} "}"))) (expression_statement "*(int *)(iVar14 + uVar13 * 4) = (iVar12 >> 2) + -1;" (assignment_expression "*(int *)(iVar14 + uVar13 * 4) = (iVar12 >> 2) + -1" (pointer_expression "*(int *)(iVar14 + uVar13 * 4)" (* "*") (cast_expression "(int *)(iVar14 + uVar13 * 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar14 + uVar13 * 4)" (( "(") (binary_expression "iVar14 + uVar13 * 4" (identifier "iVar14") (+ "+") (binary_expression "uVar13 * 4" (identifier "uVar13") (* "*") (number_literal "4"))) () ")")))) (= "=") (binary_expression "(iVar12 >> 2) + -1" (parenthesized_expression "(iVar12 >> 2)" (( "(") (binary_expression "iVar12 >> 2" (identifier "iVar12") (>> ">>") (number_literal "2")) () ")")) (+ "+") (number_literal "-1"))) (; ";")) (expression_statement "iVar7 = *local_7c;" (assignment_expression "iVar7 = *local_7c" (identifier "iVar7") (= "=") (pointer_expression "*local_7c" (* "*") (identifier "local_7c"))) (; ";")) (} "}"))) (expression_statement "piVar15 = piVar15 + 6;" (assignment_expression "piVar15 = piVar15 + 6" (identifier "piVar15") (= "=") (binary_expression "piVar15 + 6" (identifier "piVar15") (+ "+") (number_literal "6"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(*(int **)(iVar7 + 0x70) != piVar15)" (( "(") (binary_expression "*(int **)(iVar7 + 0x70) != piVar15" (pointer_expression "*(int **)(iVar7 + 0x70)" (* "*") (cast_expression "(int **)(iVar7 + 0x70)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar7 + 0x70)" (( "(") (binary_expression "iVar7 + 0x70" (identifier "iVar7") (+ "+") (number_literal "0x70")) () ")")))) (!= "!=") (identifier "piVar15")) () ")")) (; ";")) (} "}"))) (expression_statement "local_7c = local_7c + 1;" (assignment_expression "local_7c = local_7c + 1" (identifier "local_7c") (= "=") (binary_expression "local_7c + 1" (identifier "local_7c") (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(local_50 != local_7c)" (( "(") (binary_expression "local_50 != local_7c" (identifier "local_50") (!= "!=") (identifier "local_7c")) () ")")) (; ";")) (} "}"))) (if_statement "if (local_68 != (int *)0x0) {\n    *local_68 = local_20;\n    local_68[1] = (int)local_24;\n  }" (if "if") (parenthesized_expression "(local_68 != (int *)0x0)" (( "(") (binary_expression "local_68 != (int *)0x0" (identifier "local_68") (!= "!=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n    *local_68 = local_20;\n    local_68[1] = (int)local_24;\n  }" ({ "{") (expression_statement "*local_68 = local_20;" (assignment_expression "*local_68 = local_20" (pointer_expression "*local_68" (* "*") (identifier "local_68")) (= "=") (identifier "local_20")) (; ";")) (expression_statement "local_68[1] = (int)local_24;" (assignment_expression "local_68[1] = (int)local_24" (subscript_expression "local_68[1]" (identifier "local_68") ([ "[") (number_literal "1") (] "]")) (= "=") (cast_expression "(int)local_24" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_24"))) (; ";")) (} "}"))) (expression_statement "local_7c = local_60;" (assignment_expression "local_7c = local_60" (identifier "local_7c") (= "=") (identifier "local_60")) (; ";")) (if_statement "if (local_60 != local_5c) {\n    do {\n      piVar15 = (int *)((undefined4 *)*local_7c)[1];\n      if (*piVar15 + 4U < 4) {\n        if (*piVar15 != -4) {\n                    \n                    \n          FUN_000da200(unaff_EDI + 0x28787b,0xcc1,unaff_EDI + 0x2866cf);\n        }\n        piVar8 = (int *)piVar15[4];\nLAB_0006f914:\n        puVar16 = *(undefined4 **)(iVar5 + 0x50);\n        if (puVar16 == *(undefined4 **)(iVar5 + 0x54)) goto LAB_0006fbb0;\nLAB_0006f926:\n        *puVar16 = piVar8;\n        *(undefined4 **)(iVar5 + 0x50) = puVar16 + 1;\n      }\n      else {\n        uVar3 = *(undefined4 *)*local_7c;\n        iVar7 = *(int *)(iVar5 + 0x50);\n        iVar14 = *(int *)(iVar5 + 0x4c);\n        piVar8 = (int *)FUN_00246670(0xb0);\n                    \n        piVar9 = (int *)FUN_0015c600(piVar15);\n        uVar10 = FUN_0015c690(piVar15);\n        uVar18 = (**(code **)(*piVar9 + 0x5c))(piVar9,uVar10);\n        iVar11 = FUN_0015c690(piVar15);\n        iVar12 = FUN_0015c600(piVar15);\n        piVar8[0xb] = iVar12;\n        *(byte *)(piVar8 + 7) = *(byte *)(piVar8 + 7) & 0xe0;\n        piVar8[9] = (int)uVar18;\n        piVar8[0xc] = iVar11;\n        piVar8[1] = 0;\n        piVar8[2] = 0;\n        piVar8[3] = 0;\n        piVar8[4] = 0;\n        piVar8[5] = -1;\n        piVar8[6] = -1;\n        piVar8[8] = 0;\n        piVar8[10] = (int)((ulonglong)uVar18 >> 0x20);\n        piVar8[0xd] = iVar5;\n        *piVar8 = unaff_EDI + 0x39d467;\n        uVar13 = 0;\n        do {\n          *(undefined4 *)((int)piVar8 + uVar13 + 0x38) = 0;\n          uVar13 = uVar13 + 4;\n        } while (uVar13 < 0x1c);\n        piVar8[0xf] = 1;\n        piVar8[0x10] = 0;\n        piVar8[0x11] = 0;\n        piVar8[0x12] = 0x3f800000;\n        piVar8[0x13] = 0;\n        piVar8[0x14] = 0;\n        piVar8[0xe] = (int)(piVar8 + 0x14);\n        uVar13 = 0;\n        do {\n          *(undefined4 *)((int)piVar8 + uVar13 + 0x54) = 0;\n          uVar13 = uVar13 + 4;\n        } while (uVar13 < 0x1c);\n        piVar8[0x16] = 1;\n        piVar8[0x15] = (int)(piVar8 + 0x1b);\n        piVar8[0x17] = 0;\n        piVar8[0x18] = 0;\n        piVar8[0x19] = 0x3f800000;\n        piVar8[0x1a] = 0;\n        piVar8[0x1b] = 0;\n                    \n        iVar11 = FUN_0015c560(piVar15);\n        piVar8[0x1c] = iVar11;\n        piVar8[0x1d] = 0;\n        piVar8[0x1e] = 0;\n        piVar8[0x1f] = 0;\n        piVar8[0x20] = 0;\n        piVar8[0x21] = 0;\n        piVar8[0x22] = 0;\n        *(undefined1 *)(piVar8 + 0x23) = 0;\n        piVar8[0x24] = iVar7 - iVar14 >> 2;\n        piVar8[0x25] = -1;\n        piVar8[0x26] = 0;\n        FUN_0015c3f0(piVar8,uVar3);\n        local_48[0] = 0;\n        local_48[1] = 0;\n        local_48[2] = 0;\n        local_64 = piVar8;\n                    \n        FUN_000abc70(local_48,&local_64);\n        FUN_00164400(uVar3,local_48);\n        if (local_48[0] == 0) goto LAB_0006f914;\n        FUN_00248220(local_48[0]);\n        puVar16 = *(undefined4 **)(iVar5 + 0x50);\n        if (puVar16 != *(undefined4 **)(iVar5 + 0x54)) goto LAB_0006f926;\nLAB_0006fbb0:\n        __src = *(undefined4 **)(iVar5 + 0x4c);\n        __n = (int)puVar16 - (int)__src;\n        uVar13 = (int)__n >> 2;\n        if (uVar13 == 0) {\n          local_8c = 4;\nLAB_0006fbe3:\n                    \n          __dest = (void *)FUN_00246670(local_8c);\n          local_8c = local_8c + (int)__dest;\n        }\n        else {\n          local_8c = -4;\n          uVar6 = uVar13 * 2;\n          if ((uVar6 < uVar13) || (0x3fffffff < uVar6)) goto LAB_0006fbe3;\n          if (uVar6 != 0) {\n            local_8c = uVar13 << 3;\n            goto LAB_0006fbe3;\n          }\n          local_8c = 0;\n          __dest = (void *)0x0;\n        }\n        *(int **)((int)__dest + __n) = piVar8;\n        if (puVar16 == __src) {\n          if (__src != (undefined4 *)0x0) goto LAB_0006fc33;\n        }\n        else {\n          memmove(__dest,__src,__n);\nLAB_0006fc33:\n          FUN_00248220(__src);\n        }\n        *(void **)(iVar5 + 0x4c) = __dest;\n        *(size_t *)(iVar5 + 0x50) = (int)__dest + __n + 4;\n        *(int *)(iVar5 + 0x54) = local_8c;\n      }\n      FUN_00248200(*local_7c,8);\n      local_7c = local_7c + 1;\n    } while (local_5c != local_7c);\n  }" (if "if") (parenthesized_expression "(local_60 != local_5c)" (( "(") (binary_expression "local_60 != local_5c" (identifier "local_60") (!= "!=") (identifier "local_5c")) () ")")) (compound_statement "{\n    do {\n      piVar15 = (int *)((undefined4 *)*local_7c)[1];\n      if (*piVar15 + 4U < 4) {\n        if (*piVar15 != -4) {\n                    \n                    \n          FUN_000da200(unaff_EDI + 0x28787b,0xcc1,unaff_EDI + 0x2866cf);\n        }\n        piVar8 = (int *)piVar15[4];\nLAB_0006f914:\n        puVar16 = *(undefined4 **)(iVar5 + 0x50);\n        if (puVar16 == *(undefined4 **)(iVar5 + 0x54)) goto LAB_0006fbb0;\nLAB_0006f926:\n        *puVar16 = piVar8;\n        *(undefined4 **)(iVar5 + 0x50) = puVar16 + 1;\n      }\n      else {\n        uVar3 = *(undefined4 *)*local_7c;\n        iVar7 = *(int *)(iVar5 + 0x50);\n        iVar14 = *(int *)(iVar5 + 0x4c);\n        piVar8 = (int *)FUN_00246670(0xb0);\n                    \n        piVar9 = (int *)FUN_0015c600(piVar15);\n        uVar10 = FUN_0015c690(piVar15);\n        uVar18 = (**(code **)(*piVar9 + 0x5c))(piVar9,uVar10);\n        iVar11 = FUN_0015c690(piVar15);\n        iVar12 = FUN_0015c600(piVar15);\n        piVar8[0xb] = iVar12;\n        *(byte *)(piVar8 + 7) = *(byte *)(piVar8 + 7) & 0xe0;\n        piVar8[9] = (int)uVar18;\n        piVar8[0xc] = iVar11;\n        piVar8[1] = 0;\n        piVar8[2] = 0;\n        piVar8[3] = 0;\n        piVar8[4] = 0;\n        piVar8[5] = -1;\n        piVar8[6] = -1;\n        piVar8[8] = 0;\n        piVar8[10] = (int)((ulonglong)uVar18 >> 0x20);\n        piVar8[0xd] = iVar5;\n        *piVar8 = unaff_EDI + 0x39d467;\n        uVar13 = 0;\n        do {\n          *(undefined4 *)((int)piVar8 + uVar13 + 0x38) = 0;\n          uVar13 = uVar13 + 4;\n        } while (uVar13 < 0x1c);\n        piVar8[0xf] = 1;\n        piVar8[0x10] = 0;\n        piVar8[0x11] = 0;\n        piVar8[0x12] = 0x3f800000;\n        piVar8[0x13] = 0;\n        piVar8[0x14] = 0;\n        piVar8[0xe] = (int)(piVar8 + 0x14);\n        uVar13 = 0;\n        do {\n          *(undefined4 *)((int)piVar8 + uVar13 + 0x54) = 0;\n          uVar13 = uVar13 + 4;\n        } while (uVar13 < 0x1c);\n        piVar8[0x16] = 1;\n        piVar8[0x15] = (int)(piVar8 + 0x1b);\n        piVar8[0x17] = 0;\n        piVar8[0x18] = 0;\n        piVar8[0x19] = 0x3f800000;\n        piVar8[0x1a] = 0;\n        piVar8[0x1b] = 0;\n                    \n        iVar11 = FUN_0015c560(piVar15);\n        piVar8[0x1c] = iVar11;\n        piVar8[0x1d] = 0;\n        piVar8[0x1e] = 0;\n        piVar8[0x1f] = 0;\n        piVar8[0x20] = 0;\n        piVar8[0x21] = 0;\n        piVar8[0x22] = 0;\n        *(undefined1 *)(piVar8 + 0x23) = 0;\n        piVar8[0x24] = iVar7 - iVar14 >> 2;\n        piVar8[0x25] = -1;\n        piVar8[0x26] = 0;\n        FUN_0015c3f0(piVar8,uVar3);\n        local_48[0] = 0;\n        local_48[1] = 0;\n        local_48[2] = 0;\n        local_64 = piVar8;\n                    \n        FUN_000abc70(local_48,&local_64);\n        FUN_00164400(uVar3,local_48);\n        if (local_48[0] == 0) goto LAB_0006f914;\n        FUN_00248220(local_48[0]);\n        puVar16 = *(undefined4 **)(iVar5 + 0x50);\n        if (puVar16 != *(undefined4 **)(iVar5 + 0x54)) goto LAB_0006f926;\nLAB_0006fbb0:\n        __src = *(undefined4 **)(iVar5 + 0x4c);\n        __n = (int)puVar16 - (int)__src;\n        uVar13 = (int)__n >> 2;\n        if (uVar13 == 0) {\n          local_8c = 4;\nLAB_0006fbe3:\n                    \n          __dest = (void *)FUN_00246670(local_8c);\n          local_8c = local_8c + (int)__dest;\n        }\n        else {\n          local_8c = -4;\n          uVar6 = uVar13 * 2;\n          if ((uVar6 < uVar13) || (0x3fffffff < uVar6)) goto LAB_0006fbe3;\n          if (uVar6 != 0) {\n            local_8c = uVar13 << 3;\n            goto LAB_0006fbe3;\n          }\n          local_8c = 0;\n          __dest = (void *)0x0;\n        }\n        *(int **)((int)__dest + __n) = piVar8;\n        if (puVar16 == __src) {\n          if (__src != (undefined4 *)0x0) goto LAB_0006fc33;\n        }\n        else {\n          memmove(__dest,__src,__n);\nLAB_0006fc33:\n          FUN_00248220(__src);\n        }\n        *(void **)(iVar5 + 0x4c) = __dest;\n        *(size_t *)(iVar5 + 0x50) = (int)__dest + __n + 4;\n        *(int *)(iVar5 + 0x54) = local_8c;\n      }\n      FUN_00248200(*local_7c,8);\n      local_7c = local_7c + 1;\n    } while (local_5c != local_7c);\n  }" ({ "{") (do_statement "do {\n      piVar15 = (int *)((undefined4 *)*local_7c)[1];\n      if (*piVar15 + 4U < 4) {\n        if (*piVar15 != -4) {\n                    \n                    \n          FUN_000da200(unaff_EDI + 0x28787b,0xcc1,unaff_EDI + 0x2866cf);\n        }\n        piVar8 = (int *)piVar15[4];\nLAB_0006f914:\n        puVar16 = *(undefined4 **)(iVar5 + 0x50);\n        if (puVar16 == *(undefined4 **)(iVar5 + 0x54)) goto LAB_0006fbb0;\nLAB_0006f926:\n        *puVar16 = piVar8;\n        *(undefined4 **)(iVar5 + 0x50) = puVar16 + 1;\n      }\n      else {\n        uVar3 = *(undefined4 *)*local_7c;\n        iVar7 = *(int *)(iVar5 + 0x50);\n        iVar14 = *(int *)(iVar5 + 0x4c);\n        piVar8 = (int *)FUN_00246670(0xb0);\n                    \n        piVar9 = (int *)FUN_0015c600(piVar15);\n        uVar10 = FUN_0015c690(piVar15);\n        uVar18 = (**(code **)(*piVar9 + 0x5c))(piVar9,uVar10);\n        iVar11 = FUN_0015c690(piVar15);\n        iVar12 = FUN_0015c600(piVar15);\n        piVar8[0xb] = iVar12;\n        *(byte *)(piVar8 + 7) = *(byte *)(piVar8 + 7) & 0xe0;\n        piVar8[9] = (int)uVar18;\n        piVar8[0xc] = iVar11;\n        piVar8[1] = 0;\n        piVar8[2] = 0;\n        piVar8[3] = 0;\n        piVar8[4] = 0;\n        piVar8[5] = -1;\n        piVar8[6] = -1;\n        piVar8[8] = 0;\n        piVar8[10] = (int)((ulonglong)uVar18 >> 0x20);\n        piVar8[0xd] = iVar5;\n        *piVar8 = unaff_EDI + 0x39d467;\n        uVar13 = 0;\n        do {\n          *(undefined4 *)((int)piVar8 + uVar13 + 0x38) = 0;\n          uVar13 = uVar13 + 4;\n        } while (uVar13 < 0x1c);\n        piVar8[0xf] = 1;\n        piVar8[0x10] = 0;\n        piVar8[0x11] = 0;\n        piVar8[0x12] = 0x3f800000;\n        piVar8[0x13] = 0;\n        piVar8[0x14] = 0;\n        piVar8[0xe] = (int)(piVar8 + 0x14);\n        uVar13 = 0;\n        do {\n          *(undefined4 *)((int)piVar8 + uVar13 + 0x54) = 0;\n          uVar13 = uVar13 + 4;\n        } while (uVar13 < 0x1c);\n        piVar8[0x16] = 1;\n        piVar8[0x15] = (int)(piVar8 + 0x1b);\n        piVar8[0x17] = 0;\n        piVar8[0x18] = 0;\n        piVar8[0x19] = 0x3f800000;\n        piVar8[0x1a] = 0;\n        piVar8[0x1b] = 0;\n                    \n        iVar11 = FUN_0015c560(piVar15);\n        piVar8[0x1c] = iVar11;\n        piVar8[0x1d] = 0;\n        piVar8[0x1e] = 0;\n        piVar8[0x1f] = 0;\n        piVar8[0x20] = 0;\n        piVar8[0x21] = 0;\n        piVar8[0x22] = 0;\n        *(undefined1 *)(piVar8 + 0x23) = 0;\n        piVar8[0x24] = iVar7 - iVar14 >> 2;\n        piVar8[0x25] = -1;\n        piVar8[0x26] = 0;\n        FUN_0015c3f0(piVar8,uVar3);\n        local_48[0] = 0;\n        local_48[1] = 0;\n        local_48[2] = 0;\n        local_64 = piVar8;\n                    \n        FUN_000abc70(local_48,&local_64);\n        FUN_00164400(uVar3,local_48);\n        if (local_48[0] == 0) goto LAB_0006f914;\n        FUN_00248220(local_48[0]);\n        puVar16 = *(undefined4 **)(iVar5 + 0x50);\n        if (puVar16 != *(undefined4 **)(iVar5 + 0x54)) goto LAB_0006f926;\nLAB_0006fbb0:\n        __src = *(undefined4 **)(iVar5 + 0x4c);\n        __n = (int)puVar16 - (int)__src;\n        uVar13 = (int)__n >> 2;\n        if (uVar13 == 0) {\n          local_8c = 4;\nLAB_0006fbe3:\n                    \n          __dest = (void *)FUN_00246670(local_8c);\n          local_8c = local_8c + (int)__dest;\n        }\n        else {\n          local_8c = -4;\n          uVar6 = uVar13 * 2;\n          if ((uVar6 < uVar13) || (0x3fffffff < uVar6)) goto LAB_0006fbe3;\n          if (uVar6 != 0) {\n            local_8c = uVar13 << 3;\n            goto LAB_0006fbe3;\n          }\n          local_8c = 0;\n          __dest = (void *)0x0;\n        }\n        *(int **)((int)__dest + __n) = piVar8;\n        if (puVar16 == __src) {\n          if (__src != (undefined4 *)0x0) goto LAB_0006fc33;\n        }\n        else {\n          memmove(__dest,__src,__n);\nLAB_0006fc33:\n          FUN_00248220(__src);\n        }\n        *(void **)(iVar5 + 0x4c) = __dest;\n        *(size_t *)(iVar5 + 0x50) = (int)__dest + __n + 4;\n        *(int *)(iVar5 + 0x54) = local_8c;\n      }\n      FUN_00248200(*local_7c,8);\n      local_7c = local_7c + 1;\n    } while (local_5c != local_7c);" (do "do") (compound_statement "{\n      piVar15 = (int *)((undefined4 *)*local_7c)[1];\n      if (*piVar15 + 4U < 4) {\n        if (*piVar15 != -4) {\n                    \n                    \n          FUN_000da200(unaff_EDI + 0x28787b,0xcc1,unaff_EDI + 0x2866cf);\n        }\n        piVar8 = (int *)piVar15[4];\nLAB_0006f914:\n        puVar16 = *(undefined4 **)(iVar5 + 0x50);\n        if (puVar16 == *(undefined4 **)(iVar5 + 0x54)) goto LAB_0006fbb0;\nLAB_0006f926:\n        *puVar16 = piVar8;\n        *(undefined4 **)(iVar5 + 0x50) = puVar16 + 1;\n      }\n      else {\n        uVar3 = *(undefined4 *)*local_7c;\n        iVar7 = *(int *)(iVar5 + 0x50);\n        iVar14 = *(int *)(iVar5 + 0x4c);\n        piVar8 = (int *)FUN_00246670(0xb0);\n                    \n        piVar9 = (int *)FUN_0015c600(piVar15);\n        uVar10 = FUN_0015c690(piVar15);\n        uVar18 = (**(code **)(*piVar9 + 0x5c))(piVar9,uVar10);\n        iVar11 = FUN_0015c690(piVar15);\n        iVar12 = FUN_0015c600(piVar15);\n        piVar8[0xb] = iVar12;\n        *(byte *)(piVar8 + 7) = *(byte *)(piVar8 + 7) & 0xe0;\n        piVar8[9] = (int)uVar18;\n        piVar8[0xc] = iVar11;\n        piVar8[1] = 0;\n        piVar8[2] = 0;\n        piVar8[3] = 0;\n        piVar8[4] = 0;\n        piVar8[5] = -1;\n        piVar8[6] = -1;\n        piVar8[8] = 0;\n        piVar8[10] = (int)((ulonglong)uVar18 >> 0x20);\n        piVar8[0xd] = iVar5;\n        *piVar8 = unaff_EDI + 0x39d467;\n        uVar13 = 0;\n        do {\n          *(undefined4 *)((int)piVar8 + uVar13 + 0x38) = 0;\n          uVar13 = uVar13 + 4;\n        } while (uVar13 < 0x1c);\n        piVar8[0xf] = 1;\n        piVar8[0x10] = 0;\n        piVar8[0x11] = 0;\n        piVar8[0x12] = 0x3f800000;\n        piVar8[0x13] = 0;\n        piVar8[0x14] = 0;\n        piVar8[0xe] = (int)(piVar8 + 0x14);\n        uVar13 = 0;\n        do {\n          *(undefined4 *)((int)piVar8 + uVar13 + 0x54) = 0;\n          uVar13 = uVar13 + 4;\n        } while (uVar13 < 0x1c);\n        piVar8[0x16] = 1;\n        piVar8[0x15] = (int)(piVar8 + 0x1b);\n        piVar8[0x17] = 0;\n        piVar8[0x18] = 0;\n        piVar8[0x19] = 0x3f800000;\n        piVar8[0x1a] = 0;\n        piVar8[0x1b] = 0;\n                    \n        iVar11 = FUN_0015c560(piVar15);\n        piVar8[0x1c] = iVar11;\n        piVar8[0x1d] = 0;\n        piVar8[0x1e] = 0;\n        piVar8[0x1f] = 0;\n        piVar8[0x20] = 0;\n        piVar8[0x21] = 0;\n        piVar8[0x22] = 0;\n        *(undefined1 *)(piVar8 + 0x23) = 0;\n        piVar8[0x24] = iVar7 - iVar14 >> 2;\n        piVar8[0x25] = -1;\n        piVar8[0x26] = 0;\n        FUN_0015c3f0(piVar8,uVar3);\n        local_48[0] = 0;\n        local_48[1] = 0;\n        local_48[2] = 0;\n        local_64 = piVar8;\n                    \n        FUN_000abc70(local_48,&local_64);\n        FUN_00164400(uVar3,local_48);\n        if (local_48[0] == 0) goto LAB_0006f914;\n        FUN_00248220(local_48[0]);\n        puVar16 = *(undefined4 **)(iVar5 + 0x50);\n        if (puVar16 != *(undefined4 **)(iVar5 + 0x54)) goto LAB_0006f926;\nLAB_0006fbb0:\n        __src = *(undefined4 **)(iVar5 + 0x4c);\n        __n = (int)puVar16 - (int)__src;\n        uVar13 = (int)__n >> 2;\n        if (uVar13 == 0) {\n          local_8c = 4;\nLAB_0006fbe3:\n                    \n          __dest = (void *)FUN_00246670(local_8c);\n          local_8c = local_8c + (int)__dest;\n        }\n        else {\n          local_8c = -4;\n          uVar6 = uVar13 * 2;\n          if ((uVar6 < uVar13) || (0x3fffffff < uVar6)) goto LAB_0006fbe3;\n          if (uVar6 != 0) {\n            local_8c = uVar13 << 3;\n            goto LAB_0006fbe3;\n          }\n          local_8c = 0;\n          __dest = (void *)0x0;\n        }\n        *(int **)((int)__dest + __n) = piVar8;\n        if (puVar16 == __src) {\n          if (__src != (undefined4 *)0x0) goto LAB_0006fc33;\n        }\n        else {\n          memmove(__dest,__src,__n);\nLAB_0006fc33:\n          FUN_00248220(__src);\n        }\n        *(void **)(iVar5 + 0x4c) = __dest;\n        *(size_t *)(iVar5 + 0x50) = (int)__dest + __n + 4;\n        *(int *)(iVar5 + 0x54) = local_8c;\n      }\n      FUN_00248200(*local_7c,8);\n      local_7c = local_7c + 1;\n    }" ({ "{") (expression_statement "piVar15 = (int *)((undefined4 *)*local_7c)[1];" (assignment_expression "piVar15 = (int *)((undefined4 *)*local_7c)[1]" (identifier "piVar15") (= "=") (cast_expression "(int *)((undefined4 *)*local_7c)[1]" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "((undefined4 *)*local_7c)[1]" (parenthesized_expression "((undefined4 *)*local_7c)" (( "(") (cast_expression "(undefined4 *)*local_7c" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*local_7c" (* "*") (identifier "local_7c"))) () ")")) ([ "[") (number_literal "1") (] "]")))) (; ";")) (if_statement "if (*piVar15 + 4U < 4) {\n        if (*piVar15 != -4) {\n                    \n                    \n          FUN_000da200(unaff_EDI + 0x28787b,0xcc1,unaff_EDI + 0x2866cf);\n        }\n        piVar8 = (int *)piVar15[4];\nLAB_0006f914:\n        puVar16 = *(undefined4 **)(iVar5 + 0x50);\n        if (puVar16 == *(undefined4 **)(iVar5 + 0x54)) goto LAB_0006fbb0;\nLAB_0006f926:\n        *puVar16 = piVar8;\n        *(undefined4 **)(iVar5 + 0x50) = puVar16 + 1;\n      }\n      else {\n        uVar3 = *(undefined4 *)*local_7c;\n        iVar7 = *(int *)(iVar5 + 0x50);\n        iVar14 = *(int *)(iVar5 + 0x4c);\n        piVar8 = (int *)FUN_00246670(0xb0);\n                    \n        piVar9 = (int *)FUN_0015c600(piVar15);\n        uVar10 = FUN_0015c690(piVar15);\n        uVar18 = (**(code **)(*piVar9 + 0x5c))(piVar9,uVar10);\n        iVar11 = FUN_0015c690(piVar15);\n        iVar12 = FUN_0015c600(piVar15);\n        piVar8[0xb] = iVar12;\n        *(byte *)(piVar8 + 7) = *(byte *)(piVar8 + 7) & 0xe0;\n        piVar8[9] = (int)uVar18;\n        piVar8[0xc] = iVar11;\n        piVar8[1] = 0;\n        piVar8[2] = 0;\n        piVar8[3] = 0;\n        piVar8[4] = 0;\n        piVar8[5] = -1;\n        piVar8[6] = -1;\n        piVar8[8] = 0;\n        piVar8[10] = (int)((ulonglong)uVar18 >> 0x20);\n        piVar8[0xd] = iVar5;\n        *piVar8 = unaff_EDI + 0x39d467;\n        uVar13 = 0;\n        do {\n          *(undefined4 *)((int)piVar8 + uVar13 + 0x38) = 0;\n          uVar13 = uVar13 + 4;\n        } while (uVar13 < 0x1c);\n        piVar8[0xf] = 1;\n        piVar8[0x10] = 0;\n        piVar8[0x11] = 0;\n        piVar8[0x12] = 0x3f800000;\n        piVar8[0x13] = 0;\n        piVar8[0x14] = 0;\n        piVar8[0xe] = (int)(piVar8 + 0x14);\n        uVar13 = 0;\n        do {\n          *(undefined4 *)((int)piVar8 + uVar13 + 0x54) = 0;\n          uVar13 = uVar13 + 4;\n        } while (uVar13 < 0x1c);\n        piVar8[0x16] = 1;\n        piVar8[0x15] = (int)(piVar8 + 0x1b);\n        piVar8[0x17] = 0;\n        piVar8[0x18] = 0;\n        piVar8[0x19] = 0x3f800000;\n        piVar8[0x1a] = 0;\n        piVar8[0x1b] = 0;\n                    \n        iVar11 = FUN_0015c560(piVar15);\n        piVar8[0x1c] = iVar11;\n        piVar8[0x1d] = 0;\n        piVar8[0x1e] = 0;\n        piVar8[0x1f] = 0;\n        piVar8[0x20] = 0;\n        piVar8[0x21] = 0;\n        piVar8[0x22] = 0;\n        *(undefined1 *)(piVar8 + 0x23) = 0;\n        piVar8[0x24] = iVar7 - iVar14 >> 2;\n        piVar8[0x25] = -1;\n        piVar8[0x26] = 0;\n        FUN_0015c3f0(piVar8,uVar3);\n        local_48[0] = 0;\n        local_48[1] = 0;\n        local_48[2] = 0;\n        local_64 = piVar8;\n                    \n        FUN_000abc70(local_48,&local_64);\n        FUN_00164400(uVar3,local_48);\n        if (local_48[0] == 0) goto LAB_0006f914;\n        FUN_00248220(local_48[0]);\n        puVar16 = *(undefined4 **)(iVar5 + 0x50);\n        if (puVar16 != *(undefined4 **)(iVar5 + 0x54)) goto LAB_0006f926;\nLAB_0006fbb0:\n        __src = *(undefined4 **)(iVar5 + 0x4c);\n        __n = (int)puVar16 - (int)__src;\n        uVar13 = (int)__n >> 2;\n        if (uVar13 == 0) {\n          local_8c = 4;\nLAB_0006fbe3:\n                    \n          __dest = (void *)FUN_00246670(local_8c);\n          local_8c = local_8c + (int)__dest;\n        }\n        else {\n          local_8c = -4;\n          uVar6 = uVar13 * 2;\n          if ((uVar6 < uVar13) || (0x3fffffff < uVar6)) goto LAB_0006fbe3;\n          if (uVar6 != 0) {\n            local_8c = uVar13 << 3;\n            goto LAB_0006fbe3;\n          }\n          local_8c = 0;\n          __dest = (void *)0x0;\n        }\n        *(int **)((int)__dest + __n) = piVar8;\n        if (puVar16 == __src) {\n          if (__src != (undefined4 *)0x0) goto LAB_0006fc33;\n        }\n        else {\n          memmove(__dest,__src,__n);\nLAB_0006fc33:\n          FUN_00248220(__src);\n        }\n        *(void **)(iVar5 + 0x4c) = __dest;\n        *(size_t *)(iVar5 + 0x50) = (int)__dest + __n + 4;\n        *(int *)(iVar5 + 0x54) = local_8c;\n      }" (if "if") (parenthesized_expression "(*piVar15 + 4U < 4)" (( "(") (binary_expression "*piVar15 + 4U < 4" (binary_expression "*piVar15 + 4U" (pointer_expression "*piVar15" (* "*") (identifier "piVar15")) (+ "+") (number_literal "4U")) (< "<") (number_literal "4")) () ")")) (compound_statement "{\n        if (*piVar15 != -4) {\n                    \n                    \n          FUN_000da200(unaff_EDI + 0x28787b,0xcc1,unaff_EDI + 0x2866cf);\n        }\n        piVar8 = (int *)piVar15[4];\nLAB_0006f914:\n        puVar16 = *(undefined4 **)(iVar5 + 0x50);\n        if (puVar16 == *(undefined4 **)(iVar5 + 0x54)) goto LAB_0006fbb0;\nLAB_0006f926:\n        *puVar16 = piVar8;\n        *(undefined4 **)(iVar5 + 0x50) = puVar16 + 1;\n      }" ({ "{") (if_statement "if (*piVar15 != -4) {\n                    \n                    \n          FUN_000da200(unaff_EDI + 0x28787b,0xcc1,unaff_EDI + 0x2866cf);\n        }" (if "if") (parenthesized_expression "(*piVar15 != -4)" (( "(") (binary_expression "*piVar15 != -4" (pointer_expression "*piVar15" (* "*") (identifier "piVar15")) (!= "!=") (number_literal "-4")) () ")")) (compound_statement "{\n                    \n                    \n          FUN_000da200(unaff_EDI + 0x28787b,0xcc1,unaff_EDI + 0x2866cf);\n        }" ({ "{") (expression_statement "FUN_000da200(unaff_EDI + 0x28787b,0xcc1,unaff_EDI + 0x2866cf);" (call_expression "FUN_000da200(unaff_EDI + 0x28787b,0xcc1,unaff_EDI + 0x2866cf)" (identifier "FUN_000da200") (argument_list "(unaff_EDI + 0x28787b,0xcc1,unaff_EDI + 0x2866cf)" (( "(") (binary_expression "unaff_EDI + 0x28787b" (identifier "unaff_EDI") (+ "+") (number_literal "0x28787b")) (, ",") (number_literal "0xcc1") (, ",") (binary_expression "unaff_EDI + 0x2866cf" (identifier "unaff_EDI") (+ "+") (number_literal "0x2866cf")) () ")"))) (; ";")) (} "}"))) (expression_statement "piVar8 = (int *)piVar15[4];" (assignment_expression "piVar8 = (int *)piVar15[4]" (identifier "piVar8") (= "=") (cast_expression "(int *)piVar15[4]" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "piVar15[4]" (identifier "piVar15") ([ "[") (number_literal "4") (] "]")))) (; ";")) (labeled_statement "LAB_0006f914:\n        puVar16 = *(undefined4 **)(iVar5 + 0x50);" (statement_identifier "LAB_0006f914") (: ":") (expression_statement "puVar16 = *(undefined4 **)(iVar5 + 0x50);" (assignment_expression "puVar16 = *(undefined4 **)(iVar5 + 0x50)" (identifier "puVar16") (= "=") (pointer_expression "*(undefined4 **)(iVar5 + 0x50)" (* "*") (cast_expression "(undefined4 **)(iVar5 + 0x50)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar5 + 0x50)" (( "(") (binary_expression "iVar5 + 0x50" (identifier "iVar5") (+ "+") (number_literal "0x50")) () ")"))))) (; ";"))) (if_statement "if (puVar16 == *(undefined4 **)(iVar5 + 0x54)) goto LAB_0006fbb0;" (if "if") (parenthesized_expression "(puVar16 == *(undefined4 **)(iVar5 + 0x54))" (( "(") (binary_expression "puVar16 == *(undefined4 **)(iVar5 + 0x54)" (identifier "puVar16") (== "==") (pointer_expression "*(undefined4 **)(iVar5 + 0x54)" (* "*") (cast_expression "(undefined4 **)(iVar5 + 0x54)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar5 + 0x54)" (( "(") (binary_expression "iVar5 + 0x54" (identifier "iVar5") (+ "+") (number_literal "0x54")) () ")"))))) () ")")) (goto_statement "goto LAB_0006fbb0;" (goto "goto") (statement_identifier "LAB_0006fbb0") (; ";"))) (labeled_statement "LAB_0006f926:\n        *puVar16 = piVar8;" (statement_identifier "LAB_0006f926") (: ":") (expression_statement "*puVar16 = piVar8;" (assignment_expression "*puVar16 = piVar8" (pointer_expression "*puVar16" (* "*") (identifier "puVar16")) (= "=") (identifier "piVar8")) (; ";"))) (expression_statement "*(undefined4 **)(iVar5 + 0x50) = puVar16 + 1;" (assignment_expression "*(undefined4 **)(iVar5 + 0x50) = puVar16 + 1" (pointer_expression "*(undefined4 **)(iVar5 + 0x50)" (* "*") (cast_expression "(undefined4 **)(iVar5 + 0x50)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar5 + 0x50)" (( "(") (binary_expression "iVar5 + 0x50" (identifier "iVar5") (+ "+") (number_literal "0x50")) () ")")))) (= "=") (binary_expression "puVar16 + 1" (identifier "puVar16") (+ "+") (number_literal "1"))) (; ";")) (} "}")) (else_clause "else {\n        uVar3 = *(undefined4 *)*local_7c;\n        iVar7 = *(int *)(iVar5 + 0x50);\n        iVar14 = *(int *)(iVar5 + 0x4c);\n        piVar8 = (int *)FUN_00246670(0xb0);\n                    \n        piVar9 = (int *)FUN_0015c600(piVar15);\n        uVar10 = FUN_0015c690(piVar15);\n        uVar18 = (**(code **)(*piVar9 + 0x5c))(piVar9,uVar10);\n        iVar11 = FUN_0015c690(piVar15);\n        iVar12 = FUN_0015c600(piVar15);\n        piVar8[0xb] = iVar12;\n        *(byte *)(piVar8 + 7) = *(byte *)(piVar8 + 7) & 0xe0;\n        piVar8[9] = (int)uVar18;\n        piVar8[0xc] = iVar11;\n        piVar8[1] = 0;\n        piVar8[2] = 0;\n        piVar8[3] = 0;\n        piVar8[4] = 0;\n        piVar8[5] = -1;\n        piVar8[6] = -1;\n        piVar8[8] = 0;\n        piVar8[10] = (int)((ulonglong)uVar18 >> 0x20);\n        piVar8[0xd] = iVar5;\n        *piVar8 = unaff_EDI + 0x39d467;\n        uVar13 = 0;\n        do {\n          *(undefined4 *)((int)piVar8 + uVar13 + 0x38) = 0;\n          uVar13 = uVar13 + 4;\n        } while (uVar13 < 0x1c);\n        piVar8[0xf] = 1;\n        piVar8[0x10] = 0;\n        piVar8[0x11] = 0;\n        piVar8[0x12] = 0x3f800000;\n        piVar8[0x13] = 0;\n        piVar8[0x14] = 0;\n        piVar8[0xe] = (int)(piVar8 + 0x14);\n        uVar13 = 0;\n        do {\n          *(undefined4 *)((int)piVar8 + uVar13 + 0x54) = 0;\n          uVar13 = uVar13 + 4;\n        } while (uVar13 < 0x1c);\n        piVar8[0x16] = 1;\n        piVar8[0x15] = (int)(piVar8 + 0x1b);\n        piVar8[0x17] = 0;\n        piVar8[0x18] = 0;\n        piVar8[0x19] = 0x3f800000;\n        piVar8[0x1a] = 0;\n        piVar8[0x1b] = 0;\n                    \n        iVar11 = FUN_0015c560(piVar15);\n        piVar8[0x1c] = iVar11;\n        piVar8[0x1d] = 0;\n        piVar8[0x1e] = 0;\n        piVar8[0x1f] = 0;\n        piVar8[0x20] = 0;\n        piVar8[0x21] = 0;\n        piVar8[0x22] = 0;\n        *(undefined1 *)(piVar8 + 0x23) = 0;\n        piVar8[0x24] = iVar7 - iVar14 >> 2;\n        piVar8[0x25] = -1;\n        piVar8[0x26] = 0;\n        FUN_0015c3f0(piVar8,uVar3);\n        local_48[0] = 0;\n        local_48[1] = 0;\n        local_48[2] = 0;\n        local_64 = piVar8;\n                    \n        FUN_000abc70(local_48,&local_64);\n        FUN_00164400(uVar3,local_48);\n        if (local_48[0] == 0) goto LAB_0006f914;\n        FUN_00248220(local_48[0]);\n        puVar16 = *(undefined4 **)(iVar5 + 0x50);\n        if (puVar16 != *(undefined4 **)(iVar5 + 0x54)) goto LAB_0006f926;\nLAB_0006fbb0:\n        __src = *(undefined4 **)(iVar5 + 0x4c);\n        __n = (int)puVar16 - (int)__src;\n        uVar13 = (int)__n >> 2;\n        if (uVar13 == 0) {\n          local_8c = 4;\nLAB_0006fbe3:\n                    \n          __dest = (void *)FUN_00246670(local_8c);\n          local_8c = local_8c + (int)__dest;\n        }\n        else {\n          local_8c = -4;\n          uVar6 = uVar13 * 2;\n          if ((uVar6 < uVar13) || (0x3fffffff < uVar6)) goto LAB_0006fbe3;\n          if (uVar6 != 0) {\n            local_8c = uVar13 << 3;\n            goto LAB_0006fbe3;\n          }\n          local_8c = 0;\n          __dest = (void *)0x0;\n        }\n        *(int **)((int)__dest + __n) = piVar8;\n        if (puVar16 == __src) {\n          if (__src != (undefined4 *)0x0) goto LAB_0006fc33;\n        }\n        else {\n          memmove(__dest,__src,__n);\nLAB_0006fc33:\n          FUN_00248220(__src);\n        }\n        *(void **)(iVar5 + 0x4c) = __dest;\n        *(size_t *)(iVar5 + 0x50) = (int)__dest + __n + 4;\n        *(int *)(iVar5 + 0x54) = local_8c;\n      }" (else "else") (compound_statement "{\n        uVar3 = *(undefined4 *)*local_7c;\n        iVar7 = *(int *)(iVar5 + 0x50);\n        iVar14 = *(int *)(iVar5 + 0x4c);\n        piVar8 = (int *)FUN_00246670(0xb0);\n                    \n        piVar9 = (int *)FUN_0015c600(piVar15);\n        uVar10 = FUN_0015c690(piVar15);\n        uVar18 = (**(code **)(*piVar9 + 0x5c))(piVar9,uVar10);\n        iVar11 = FUN_0015c690(piVar15);\n        iVar12 = FUN_0015c600(piVar15);\n        piVar8[0xb] = iVar12;\n        *(byte *)(piVar8 + 7) = *(byte *)(piVar8 + 7) & 0xe0;\n        piVar8[9] = (int)uVar18;\n        piVar8[0xc] = iVar11;\n        piVar8[1] = 0;\n        piVar8[2] = 0;\n        piVar8[3] = 0;\n        piVar8[4] = 0;\n        piVar8[5] = -1;\n        piVar8[6] = -1;\n        piVar8[8] = 0;\n        piVar8[10] = (int)((ulonglong)uVar18 >> 0x20);\n        piVar8[0xd] = iVar5;\n        *piVar8 = unaff_EDI + 0x39d467;\n        uVar13 = 0;\n        do {\n          *(undefined4 *)((int)piVar8 + uVar13 + 0x38) = 0;\n          uVar13 = uVar13 + 4;\n        } while (uVar13 < 0x1c);\n        piVar8[0xf] = 1;\n        piVar8[0x10] = 0;\n        piVar8[0x11] = 0;\n        piVar8[0x12] = 0x3f800000;\n        piVar8[0x13] = 0;\n        piVar8[0x14] = 0;\n        piVar8[0xe] = (int)(piVar8 + 0x14);\n        uVar13 = 0;\n        do {\n          *(undefined4 *)((int)piVar8 + uVar13 + 0x54) = 0;\n          uVar13 = uVar13 + 4;\n        } while (uVar13 < 0x1c);\n        piVar8[0x16] = 1;\n        piVar8[0x15] = (int)(piVar8 + 0x1b);\n        piVar8[0x17] = 0;\n        piVar8[0x18] = 0;\n        piVar8[0x19] = 0x3f800000;\n        piVar8[0x1a] = 0;\n        piVar8[0x1b] = 0;\n                    \n        iVar11 = FUN_0015c560(piVar15);\n        piVar8[0x1c] = iVar11;\n        piVar8[0x1d] = 0;\n        piVar8[0x1e] = 0;\n        piVar8[0x1f] = 0;\n        piVar8[0x20] = 0;\n        piVar8[0x21] = 0;\n        piVar8[0x22] = 0;\n        *(undefined1 *)(piVar8 + 0x23) = 0;\n        piVar8[0x24] = iVar7 - iVar14 >> 2;\n        piVar8[0x25] = -1;\n        piVar8[0x26] = 0;\n        FUN_0015c3f0(piVar8,uVar3);\n        local_48[0] = 0;\n        local_48[1] = 0;\n        local_48[2] = 0;\n        local_64 = piVar8;\n                    \n        FUN_000abc70(local_48,&local_64);\n        FUN_00164400(uVar3,local_48);\n        if (local_48[0] == 0) goto LAB_0006f914;\n        FUN_00248220(local_48[0]);\n        puVar16 = *(undefined4 **)(iVar5 + 0x50);\n        if (puVar16 != *(undefined4 **)(iVar5 + 0x54)) goto LAB_0006f926;\nLAB_0006fbb0:\n        __src = *(undefined4 **)(iVar5 + 0x4c);\n        __n = (int)puVar16 - (int)__src;\n        uVar13 = (int)__n >> 2;\n        if (uVar13 == 0) {\n          local_8c = 4;\nLAB_0006fbe3:\n                    \n          __dest = (void *)FUN_00246670(local_8c);\n          local_8c = local_8c + (int)__dest;\n        }\n        else {\n          local_8c = -4;\n          uVar6 = uVar13 * 2;\n          if ((uVar6 < uVar13) || (0x3fffffff < uVar6)) goto LAB_0006fbe3;\n          if (uVar6 != 0) {\n            local_8c = uVar13 << 3;\n            goto LAB_0006fbe3;\n          }\n          local_8c = 0;\n          __dest = (void *)0x0;\n        }\n        *(int **)((int)__dest + __n) = piVar8;\n        if (puVar16 == __src) {\n          if (__src != (undefined4 *)0x0) goto LAB_0006fc33;\n        }\n        else {\n          memmove(__dest,__src,__n);\nLAB_0006fc33:\n          FUN_00248220(__src);\n        }\n        *(void **)(iVar5 + 0x4c) = __dest;\n        *(size_t *)(iVar5 + 0x50) = (int)__dest + __n + 4;\n        *(int *)(iVar5 + 0x54) = local_8c;\n      }" ({ "{") (expression_statement "uVar3 = *(undefined4 *)*local_7c;" (assignment_expression "uVar3 = *(undefined4 *)*local_7c" (identifier "uVar3") (= "=") (pointer_expression "*(undefined4 *)*local_7c" (* "*") (cast_expression "(undefined4 *)*local_7c" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*local_7c" (* "*") (identifier "local_7c"))))) (; ";")) (expression_statement "iVar7 = *(int *)(iVar5 + 0x50);" (assignment_expression "iVar7 = *(int *)(iVar5 + 0x50)" (identifier "iVar7") (= "=") (pointer_expression "*(int *)(iVar5 + 0x50)" (* "*") (cast_expression "(int *)(iVar5 + 0x50)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar5 + 0x50)" (( "(") (binary_expression "iVar5 + 0x50" (identifier "iVar5") (+ "+") (number_literal "0x50")) () ")"))))) (; ";")) (expression_statement "iVar14 = *(int *)(iVar5 + 0x4c);" (assignment_expression "iVar14 = *(int *)(iVar5 + 0x4c)" (identifier "iVar14") (= "=") (pointer_expression "*(int *)(iVar5 + 0x4c)" (* "*") (cast_expression "(int *)(iVar5 + 0x4c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar5 + 0x4c)" (( "(") (binary_expression "iVar5 + 0x4c" (identifier "iVar5") (+ "+") (number_literal "0x4c")) () ")"))))) (; ";")) (expression_statement "piVar8 = (int *)FUN_00246670(0xb0);" (assignment_expression "piVar8 = (int *)FUN_00246670(0xb0)" (identifier "piVar8") (= "=") (cast_expression "(int *)FUN_00246670(0xb0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_00246670(0xb0)" (identifier "FUN_00246670") (argument_list "(0xb0)" (( "(") (number_literal "0xb0") () ")"))))) (; ";")) (expression_statement "piVar9 = (int *)FUN_0015c600(piVar15);" (assignment_expression "piVar9 = (int *)FUN_0015c600(piVar15)" (identifier "piVar9") (= "=") (cast_expression "(int *)FUN_0015c600(piVar15)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_0015c600(piVar15)" (identifier "FUN_0015c600") (argument_list "(piVar15)" (( "(") (identifier "piVar15") () ")"))))) (; ";")) (expression_statement "uVar10 = FUN_0015c690(piVar15);" (assignment_expression "uVar10 = FUN_0015c690(piVar15)" (identifier "uVar10") (= "=") (call_expression "FUN_0015c690(piVar15)" (identifier "FUN_0015c690") (argument_list "(piVar15)" (( "(") (identifier "piVar15") () ")")))) (; ";")) (expression_statement "uVar18 = (**(code **)(*piVar9 + 0x5c))(piVar9,uVar10);" (assignment_expression "uVar18 = (**(code **)(*piVar9 + 0x5c))(piVar9,uVar10)" (identifier "uVar18") (= "=") (call_expression "(**(code **)(*piVar9 + 0x5c))(piVar9,uVar10)" (parenthesized_expression "(**(code **)(*piVar9 + 0x5c))" (( "(") (pointer_expression "**(code **)(*piVar9 + 0x5c)" (* "*") (pointer_expression "*(code **)(*piVar9 + 0x5c)" (* "*") (cast_expression "(code **)(*piVar9 + 0x5c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*piVar9 + 0x5c)" (( "(") (binary_expression "*piVar9 + 0x5c" (pointer_expression "*piVar9" (* "*") (identifier "piVar9")) (+ "+") (number_literal "0x5c")) () ")"))))) () ")")) (argument_list "(piVar9,uVar10)" (( "(") (identifier "piVar9") (, ",") (identifier "uVar10") () ")")))) (; ";")) (expression_statement "iVar11 = FUN_0015c690(piVar15);" (assignment_expression "iVar11 = FUN_0015c690(piVar15)" (identifier "iVar11") (= "=") (call_expression "FUN_0015c690(piVar15)" (identifier "FUN_0015c690") (argument_list "(piVar15)" (( "(") (identifier "piVar15") () ")")))) (; ";")) (expression_statement "iVar12 = FUN_0015c600(piVar15);" (assignment_expression "iVar12 = FUN_0015c600(piVar15)" (identifier "iVar12") (= "=") (call_expression "FUN_0015c600(piVar15)" (identifier "FUN_0015c600") (argument_list "(piVar15)" (( "(") (identifier "piVar15") () ")")))) (; ";")) (expression_statement "piVar8[0xb] = iVar12;" (assignment_expression "piVar8[0xb] = iVar12" (subscript_expression "piVar8[0xb]" (identifier "piVar8") ([ "[") (number_literal "0xb") (] "]")) (= "=") (identifier "iVar12")) (; ";")) (expression_statement "*(byte *)(piVar8 + 7) = *(byte *)(piVar8 + 7) & 0xe0;" (assignment_expression "*(byte *)(piVar8 + 7) = *(byte *)(piVar8 + 7) & 0xe0" (pointer_expression "*(byte *)(piVar8 + 7)" (* "*") (cast_expression "(byte *)(piVar8 + 7)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(piVar8 + 7)" (( "(") (binary_expression "piVar8 + 7" (identifier "piVar8") (+ "+") (number_literal "7")) () ")")))) (= "=") (binary_expression "*(byte *)(piVar8 + 7) & 0xe0" (pointer_expression "*(byte *)(piVar8 + 7)" (* "*") (cast_expression "(byte *)(piVar8 + 7)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(piVar8 + 7)" (( "(") (binary_expression "piVar8 + 7" (identifier "piVar8") (+ "+") (number_literal "7")) () ")")))) (& "&") (number_literal "0xe0"))) (; ";")) (expression_statement "piVar8[9] = (int)uVar18;" (assignment_expression "piVar8[9] = (int)uVar18" (subscript_expression "piVar8[9]" (identifier "piVar8") ([ "[") (number_literal "9") (] "]")) (= "=") (cast_expression "(int)uVar18" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "uVar18"))) (; ";")) (expression_statement "piVar8[0xc] = iVar11;" (assignment_expression "piVar8[0xc] = iVar11" (subscript_expression "piVar8[0xc]" (identifier "piVar8") ([ "[") (number_literal "0xc") (] "]")) (= "=") (identifier "iVar11")) (; ";")) (expression_statement "piVar8[1] = 0;" (assignment_expression "piVar8[1] = 0" (subscript_expression "piVar8[1]" (identifier "piVar8") ([ "[") (number_literal "1") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "piVar8[2] = 0;" (assignment_expression "piVar8[2] = 0" (subscript_expression "piVar8[2]" (identifier "piVar8") ([ "[") (number_literal "2") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "piVar8[3] = 0;" (assignment_expression "piVar8[3] = 0" (subscript_expression "piVar8[3]" (identifier "piVar8") ([ "[") (number_literal "3") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "piVar8[4] = 0;" (assignment_expression "piVar8[4] = 0" (subscript_expression "piVar8[4]" (identifier "piVar8") ([ "[") (number_literal "4") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "piVar8[5] = -1;" (assignment_expression "piVar8[5] = -1" (subscript_expression "piVar8[5]" (identifier "piVar8") ([ "[") (number_literal "5") (] "]")) (= "=") (number_literal "-1")) (; ";")) (expression_statement "piVar8[6] = -1;" (assignment_expression "piVar8[6] = -1" (subscript_expression "piVar8[6]" (identifier "piVar8") ([ "[") (number_literal "6") (] "]")) (= "=") (number_literal "-1")) (; ";")) (expression_statement "piVar8[8] = 0;" (assignment_expression "piVar8[8] = 0" (subscript_expression "piVar8[8]" (identifier "piVar8") ([ "[") (number_literal "8") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "piVar8[10] = (int)((ulonglong)uVar18 >> 0x20);" (assignment_expression "piVar8[10] = (int)((ulonglong)uVar18 >> 0x20)" (subscript_expression "piVar8[10]" (identifier "piVar8") ([ "[") (number_literal "10") (] "]")) (= "=") (cast_expression "(int)((ulonglong)uVar18 >> 0x20)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "((ulonglong)uVar18 >> 0x20)" (( "(") (binary_expression "(ulonglong)uVar18 >> 0x20" (cast_expression "(ulonglong)uVar18" (( "(") (type_descriptor "ulonglong" (type_identifier "ulonglong")) () ")") (identifier "uVar18")) (>> ">>") (number_literal "0x20")) () ")")))) (; ";")) (expression_statement "piVar8[0xd] = iVar5;" (assignment_expression "piVar8[0xd] = iVar5" (subscript_expression "piVar8[0xd]" (identifier "piVar8") ([ "[") (number_literal "0xd") (] "]")) (= "=") (identifier "iVar5")) (; ";")) (expression_statement "*piVar8 = unaff_EDI + 0x39d467;" (assignment_expression "*piVar8 = unaff_EDI + 0x39d467" (pointer_expression "*piVar8" (* "*") (identifier "piVar8")) (= "=") (binary_expression "unaff_EDI + 0x39d467" (identifier "unaff_EDI") (+ "+") (number_literal "0x39d467"))) (; ";")) (expression_statement "uVar13 = 0;" (assignment_expression "uVar13 = 0" (identifier "uVar13") (= "=") (number_literal "0")) (; ";")) (do_statement "do {\n          *(undefined4 *)((int)piVar8 + uVar13 + 0x38) = 0;\n          uVar13 = uVar13 + 4;\n        } while (uVar13 < 0x1c);" (do "do") (compound_statement "{\n          *(undefined4 *)((int)piVar8 + uVar13 + 0x38) = 0;\n          uVar13 = uVar13 + 4;\n        }" ({ "{") (expression_statement "*(undefined4 *)((int)piVar8 + uVar13 + 0x38) = 0;" (assignment_expression "*(undefined4 *)((int)piVar8 + uVar13 + 0x38) = 0" (pointer_expression "*(undefined4 *)((int)piVar8 + uVar13 + 0x38)" (* "*") (cast_expression "(undefined4 *)((int)piVar8 + uVar13 + 0x38)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar8 + uVar13 + 0x38)" (( "(") (binary_expression "(int)piVar8 + uVar13 + 0x38" (binary_expression "(int)piVar8 + uVar13" (cast_expression "(int)piVar8" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar8")) (+ "+") (identifier "uVar13")) (+ "+") (number_literal "0x38")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "uVar13 = uVar13 + 4;" (assignment_expression "uVar13 = uVar13 + 4" (identifier "uVar13") (= "=") (binary_expression "uVar13 + 4" (identifier "uVar13") (+ "+") (number_literal "4"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(uVar13 < 0x1c)" (( "(") (binary_expression "uVar13 < 0x1c" (identifier "uVar13") (< "<") (number_literal "0x1c")) () ")")) (; ";")) (expression_statement "piVar8[0xf] = 1;" (assignment_expression "piVar8[0xf] = 1" (subscript_expression "piVar8[0xf]" (identifier "piVar8") ([ "[") (number_literal "0xf") (] "]")) (= "=") (number_literal "1")) (; ";")) (expression_statement "piVar8[0x10] = 0;" (assignment_expression "piVar8[0x10] = 0" (subscript_expression "piVar8[0x10]" (identifier "piVar8") ([ "[") (number_literal "0x10") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "piVar8[0x11] = 0;" (assignment_expression "piVar8[0x11] = 0" (subscript_expression "piVar8[0x11]" (identifier "piVar8") ([ "[") (number_literal "0x11") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "piVar8[0x12] = 0x3f800000;" (assignment_expression "piVar8[0x12] = 0x3f800000" (subscript_expression "piVar8[0x12]" (identifier "piVar8") ([ "[") (number_literal "0x12") (] "]")) (= "=") (number_literal "0x3f800000")) (; ";")) (expression_statement "piVar8[0x13] = 0;" (assignment_expression "piVar8[0x13] = 0" (subscript_expression "piVar8[0x13]" (identifier "piVar8") ([ "[") (number_literal "0x13") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "piVar8[0x14] = 0;" (assignment_expression "piVar8[0x14] = 0" (subscript_expression "piVar8[0x14]" (identifier "piVar8") ([ "[") (number_literal "0x14") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "piVar8[0xe] = (int)(piVar8 + 0x14);" (assignment_expression "piVar8[0xe] = (int)(piVar8 + 0x14)" (subscript_expression "piVar8[0xe]" (identifier "piVar8") ([ "[") (number_literal "0xe") (] "]")) (= "=") (cast_expression "(int)(piVar8 + 0x14)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "(piVar8 + 0x14)" (( "(") (binary_expression "piVar8 + 0x14" (identifier "piVar8") (+ "+") (number_literal "0x14")) () ")")))) (; ";")) (expression_statement "uVar13 = 0;" (assignment_expression "uVar13 = 0" (identifier "uVar13") (= "=") (number_literal "0")) (; ";")) (do_statement "do {\n          *(undefined4 *)((int)piVar8 + uVar13 + 0x54) = 0;\n          uVar13 = uVar13 + 4;\n        } while (uVar13 < 0x1c);" (do "do") (compound_statement "{\n          *(undefined4 *)((int)piVar8 + uVar13 + 0x54) = 0;\n          uVar13 = uVar13 + 4;\n        }" ({ "{") (expression_statement "*(undefined4 *)((int)piVar8 + uVar13 + 0x54) = 0;" (assignment_expression "*(undefined4 *)((int)piVar8 + uVar13 + 0x54) = 0" (pointer_expression "*(undefined4 *)((int)piVar8 + uVar13 + 0x54)" (* "*") (cast_expression "(undefined4 *)((int)piVar8 + uVar13 + 0x54)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar8 + uVar13 + 0x54)" (( "(") (binary_expression "(int)piVar8 + uVar13 + 0x54" (binary_expression "(int)piVar8 + uVar13" (cast_expression "(int)piVar8" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar8")) (+ "+") (identifier "uVar13")) (+ "+") (number_literal "0x54")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "uVar13 = uVar13 + 4;" (assignment_expression "uVar13 = uVar13 + 4" (identifier "uVar13") (= "=") (binary_expression "uVar13 + 4" (identifier "uVar13") (+ "+") (number_literal "4"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(uVar13 < 0x1c)" (( "(") (binary_expression "uVar13 < 0x1c" (identifier "uVar13") (< "<") (number_literal "0x1c")) () ")")) (; ";")) (expression_statement "piVar8[0x16] = 1;" (assignment_expression "piVar8[0x16] = 1" (subscript_expression "piVar8[0x16]" (identifier "piVar8") ([ "[") (number_literal "0x16") (] "]")) (= "=") (number_literal "1")) (; ";")) (expression_statement "piVar8[0x15] = (int)(piVar8 + 0x1b);" (assignment_expression "piVar8[0x15] = (int)(piVar8 + 0x1b)" (subscript_expression "piVar8[0x15]" (identifier "piVar8") ([ "[") (number_literal "0x15") (] "]")) (= "=") (cast_expression "(int)(piVar8 + 0x1b)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "(piVar8 + 0x1b)" (( "(") (binary_expression "piVar8 + 0x1b" (identifier "piVar8") (+ "+") (number_literal "0x1b")) () ")")))) (; ";")) (expression_statement "piVar8[0x17] = 0;" (assignment_expression "piVar8[0x17] = 0" (subscript_expression "piVar8[0x17]" (identifier "piVar8") ([ "[") (number_literal "0x17") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "piVar8[0x18] = 0;" (assignment_expression "piVar8[0x18] = 0" (subscript_expression "piVar8[0x18]" (identifier "piVar8") ([ "[") (number_literal "0x18") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "piVar8[0x19] = 0x3f800000;" (assignment_expression "piVar8[0x19] = 0x3f800000" (subscript_expression "piVar8[0x19]" (identifier "piVar8") ([ "[") (number_literal "0x19") (] "]")) (= "=") (number_literal "0x3f800000")) (; ";")) (expression_statement "piVar8[0x1a] = 0;" (assignment_expression "piVar8[0x1a] = 0" (subscript_expression "piVar8[0x1a]" (identifier "piVar8") ([ "[") (number_literal "0x1a") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "piVar8[0x1b] = 0;" (assignment_expression "piVar8[0x1b] = 0" (subscript_expression "piVar8[0x1b]" (identifier "piVar8") ([ "[") (number_literal "0x1b") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "iVar11 = FUN_0015c560(piVar15);" (assignment_expression "iVar11 = FUN_0015c560(piVar15)" (identifier "iVar11") (= "=") (call_expression "FUN_0015c560(piVar15)" (identifier "FUN_0015c560") (argument_list "(piVar15)" (( "(") (identifier "piVar15") () ")")))) (; ";")) (expression_statement "piVar8[0x1c] = iVar11;" (assignment_expression "piVar8[0x1c] = iVar11" (subscript_expression "piVar8[0x1c]" (identifier "piVar8") ([ "[") (number_literal "0x1c") (] "]")) (= "=") (identifier "iVar11")) (; ";")) (expression_statement "piVar8[0x1d] = 0;" (assignment_expression "piVar8[0x1d] = 0" (subscript_expression "piVar8[0x1d]" (identifier "piVar8") ([ "[") (number_literal "0x1d") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "piVar8[0x1e] = 0;" (assignment_expression "piVar8[0x1e] = 0" (subscript_expression "piVar8[0x1e]" (identifier "piVar8") ([ "[") (number_literal "0x1e") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "piVar8[0x1f] = 0;" (assignment_expression "piVar8[0x1f] = 0" (subscript_expression "piVar8[0x1f]" (identifier "piVar8") ([ "[") (number_literal "0x1f") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "piVar8[0x20] = 0;" (assignment_expression "piVar8[0x20] = 0" (subscript_expression "piVar8[0x20]" (identifier "piVar8") ([ "[") (number_literal "0x20") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "piVar8[0x21] = 0;" (assignment_expression "piVar8[0x21] = 0" (subscript_expression "piVar8[0x21]" (identifier "piVar8") ([ "[") (number_literal "0x21") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "piVar8[0x22] = 0;" (assignment_expression "piVar8[0x22] = 0" (subscript_expression "piVar8[0x22]" (identifier "piVar8") ([ "[") (number_literal "0x22") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(undefined1 *)(piVar8 + 0x23) = 0;" (assignment_expression "*(undefined1 *)(piVar8 + 0x23) = 0" (pointer_expression "*(undefined1 *)(piVar8 + 0x23)" (* "*") (cast_expression "(undefined1 *)(piVar8 + 0x23)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(piVar8 + 0x23)" (( "(") (binary_expression "piVar8 + 0x23" (identifier "piVar8") (+ "+") (number_literal "0x23")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "piVar8[0x24] = iVar7 - iVar14 >> 2;" (assignment_expression "piVar8[0x24] = iVar7 - iVar14 >> 2" (subscript_expression "piVar8[0x24]" (identifier "piVar8") ([ "[") (number_literal "0x24") (] "]")) (= "=") (binary_expression "iVar7 - iVar14 >> 2" (binary_expression "iVar7 - iVar14" (identifier "iVar7") (- "-") (identifier "iVar14")) (>> ">>") (number_literal "2"))) (; ";")) (expression_statement "piVar8[0x25] = -1;" (assignment_expression "piVar8[0x25] = -1" (subscript_expression "piVar8[0x25]" (identifier "piVar8") ([ "[") (number_literal "0x25") (] "]")) (= "=") (number_literal "-1")) (; ";")) (expression_statement "piVar8[0x26] = 0;" (assignment_expression "piVar8[0x26] = 0" (subscript_expression "piVar8[0x26]" (identifier "piVar8") ([ "[") (number_literal "0x26") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "FUN_0015c3f0(piVar8,uVar3);" (call_expression "FUN_0015c3f0(piVar8,uVar3)" (identifier "FUN_0015c3f0") (argument_list "(piVar8,uVar3)" (( "(") (identifier "piVar8") (, ",") (identifier "uVar3") () ")"))) (; ";")) (expression_statement "local_48[0] = 0;" (assignment_expression "local_48[0] = 0" (subscript_expression "local_48[0]" (identifier "local_48") ([ "[") (number_literal "0") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "local_48[1] = 0;" (assignment_expression "local_48[1] = 0" (subscript_expression "local_48[1]" (identifier "local_48") ([ "[") (number_literal "1") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "local_48[2] = 0;" (assignment_expression "local_48[2] = 0" (subscript_expression "local_48[2]" (identifier "local_48") ([ "[") (number_literal "2") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "local_64 = piVar8;" (assignment_expression "local_64 = piVar8" (identifier "local_64") (= "=") (identifier "piVar8")) (; ";")) (expression_statement "FUN_000abc70(local_48,&local_64);" (call_expression "FUN_000abc70(local_48,&local_64)" (identifier "FUN_000abc70") (argument_list "(local_48,&local_64)" (( "(") (identifier "local_48") (, ",") (pointer_expression "&local_64" (& "&") (identifier "local_64")) () ")"))) (; ";")) (expression_statement "FUN_00164400(uVar3,local_48);" (call_expression "FUN_00164400(uVar3,local_48)" (identifier "FUN_00164400") (argument_list "(uVar3,local_48)" (( "(") (identifier "uVar3") (, ",") (identifier "local_48") () ")"))) (; ";")) (if_statement "if (local_48[0] == 0) goto LAB_0006f914;" (if "if") (parenthesized_expression "(local_48[0] == 0)" (( "(") (binary_expression "local_48[0] == 0" (subscript_expression "local_48[0]" (identifier "local_48") ([ "[") (number_literal "0") (] "]")) (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_0006f914;" (goto "goto") (statement_identifier "LAB_0006f914") (; ";"))) (expression_statement "FUN_00248220(local_48[0]);" (call_expression "FUN_00248220(local_48[0])" (identifier "FUN_00248220") (argument_list "(local_48[0])" (( "(") (subscript_expression "local_48[0]" (identifier "local_48") ([ "[") (number_literal "0") (] "]")) () ")"))) (; ";")) (expression_statement "puVar16 = *(undefined4 **)(iVar5 + 0x50);" (assignment_expression "puVar16 = *(undefined4 **)(iVar5 + 0x50)" (identifier "puVar16") (= "=") (pointer_expression "*(undefined4 **)(iVar5 + 0x50)" (* "*") (cast_expression "(undefined4 **)(iVar5 + 0x50)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar5 + 0x50)" (( "(") (binary_expression "iVar5 + 0x50" (identifier "iVar5") (+ "+") (number_literal "0x50")) () ")"))))) (; ";")) (if_statement "if (puVar16 != *(undefined4 **)(iVar5 + 0x54)) goto LAB_0006f926;" (if "if") (parenthesized_expression "(puVar16 != *(undefined4 **)(iVar5 + 0x54))" (( "(") (binary_expression "puVar16 != *(undefined4 **)(iVar5 + 0x54)" (identifier "puVar16") (!= "!=") (pointer_expression "*(undefined4 **)(iVar5 + 0x54)" (* "*") (cast_expression "(undefined4 **)(iVar5 + 0x54)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar5 + 0x54)" (( "(") (binary_expression "iVar5 + 0x54" (identifier "iVar5") (+ "+") (number_literal "0x54")) () ")"))))) () ")")) (goto_statement "goto LAB_0006f926;" (goto "goto") (statement_identifier "LAB_0006f926") (; ";"))) (labeled_statement "LAB_0006fbb0:\n        __src = *(undefined4 **)(iVar5 + 0x4c);" (statement_identifier "LAB_0006fbb0") (: ":") (expression_statement "__src = *(undefined4 **)(iVar5 + 0x4c);" (assignment_expression "__src = *(undefined4 **)(iVar5 + 0x4c)" (identifier "__src") (= "=") (pointer_expression "*(undefined4 **)(iVar5 + 0x4c)" (* "*") (cast_expression "(undefined4 **)(iVar5 + 0x4c)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar5 + 0x4c)" (( "(") (binary_expression "iVar5 + 0x4c" (identifier "iVar5") (+ "+") (number_literal "0x4c")) () ")"))))) (; ";"))) (expression_statement "__n = (int)puVar16 - (int)__src;" (assignment_expression "__n = (int)puVar16 - (int)__src" (identifier "__n") (= "=") (binary_expression "(int)puVar16 - (int)__src" (cast_expression "(int)puVar16" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar16")) (- "-") (cast_expression "(int)__src" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "__src")))) (; ";")) (expression_statement "uVar13 = (int)__n >> 2;" (assignment_expression "uVar13 = (int)__n >> 2" (identifier "uVar13") (= "=") (binary_expression "(int)__n >> 2" (cast_expression "(int)__n" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "__n")) (>> ">>") (number_literal "2"))) (; ";")) (if_statement "if (uVar13 == 0) {\n          local_8c = 4;\nLAB_0006fbe3:\n                    \n          __dest = (void *)FUN_00246670(local_8c);\n          local_8c = local_8c + (int)__dest;\n        }\n        else {\n          local_8c = -4;\n          uVar6 = uVar13 * 2;\n          if ((uVar6 < uVar13) || (0x3fffffff < uVar6)) goto LAB_0006fbe3;\n          if (uVar6 != 0) {\n            local_8c = uVar13 << 3;\n            goto LAB_0006fbe3;\n          }\n          local_8c = 0;\n          __dest = (void *)0x0;\n        }" (if "if") (parenthesized_expression "(uVar13 == 0)" (( "(") (binary_expression "uVar13 == 0" (identifier "uVar13") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n          local_8c = 4;\nLAB_0006fbe3:\n                    \n          __dest = (void *)FUN_00246670(local_8c);\n          local_8c = local_8c + (int)__dest;\n        }" ({ "{") (expression_statement "local_8c = 4;" (assignment_expression "local_8c = 4" (identifier "local_8c") (= "=") (number_literal "4")) (; ";")) (labeled_statement "LAB_0006fbe3:\n                    \n          __dest = (void *)FUN_00246670(local_8c);" (statement_identifier "LAB_0006fbe3") (: ":") (expression_statement "__dest = (void *)FUN_00246670(local_8c);" (assignment_expression "__dest = (void *)FUN_00246670(local_8c)" (identifier "__dest") (= "=") (cast_expression "(void *)FUN_00246670(local_8c)" (( "(") (type_descriptor "void *" (primitive_type "void") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_00246670(local_8c)" (identifier "FUN_00246670") (argument_list "(local_8c)" (( "(") (identifier "local_8c") () ")"))))) (; ";"))) (expression_statement "local_8c = local_8c + (int)__dest;" (assignment_expression "local_8c = local_8c + (int)__dest" (identifier "local_8c") (= "=") (binary_expression "local_8c + (int)__dest" (identifier "local_8c") (+ "+") (cast_expression "(int)__dest" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "__dest")))) (; ";")) (} "}")) (else_clause "else {\n          local_8c = -4;\n          uVar6 = uVar13 * 2;\n          if ((uVar6 < uVar13) || (0x3fffffff < uVar6)) goto LAB_0006fbe3;\n          if (uVar6 != 0) {\n            local_8c = uVar13 << 3;\n            goto LAB_0006fbe3;\n          }\n          local_8c = 0;\n          __dest = (void *)0x0;\n        }" (else "else") (compound_statement "{\n          local_8c = -4;\n          uVar6 = uVar13 * 2;\n          if ((uVar6 < uVar13) || (0x3fffffff < uVar6)) goto LAB_0006fbe3;\n          if (uVar6 != 0) {\n            local_8c = uVar13 << 3;\n            goto LAB_0006fbe3;\n          }\n          local_8c = 0;\n          __dest = (void *)0x0;\n        }" ({ "{") (expression_statement "local_8c = -4;" (assignment_expression "local_8c = -4" (identifier "local_8c") (= "=") (number_literal "-4")) (; ";")) (expression_statement "uVar6 = uVar13 * 2;" (assignment_expression "uVar6 = uVar13 * 2" (identifier "uVar6") (= "=") (binary_expression "uVar13 * 2" (identifier "uVar13") (* "*") (number_literal "2"))) (; ";")) (if_statement "if ((uVar6 < uVar13) || (0x3fffffff < uVar6)) goto LAB_0006fbe3;" (if "if") (parenthesized_expression "((uVar6 < uVar13) || (0x3fffffff < uVar6))" (( "(") (binary_expression "(uVar6 < uVar13) || (0x3fffffff < uVar6)" (parenthesized_expression "(uVar6 < uVar13)" (( "(") (binary_expression "uVar6 < uVar13" (identifier "uVar6") (< "<") (identifier "uVar13")) () ")")) (|| "||") (parenthesized_expression "(0x3fffffff < uVar6)" (( "(") (binary_expression "0x3fffffff < uVar6" (number_literal "0x3fffffff") (< "<") (identifier "uVar6")) () ")"))) () ")")) (goto_statement "goto LAB_0006fbe3;" (goto "goto") (statement_identifier "LAB_0006fbe3") (; ";"))) (if_statement "if (uVar6 != 0) {\n            local_8c = uVar13 << 3;\n            goto LAB_0006fbe3;\n          }" (if "if") (parenthesized_expression "(uVar6 != 0)" (( "(") (binary_expression "uVar6 != 0" (identifier "uVar6") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n            local_8c = uVar13 << 3;\n            goto LAB_0006fbe3;\n          }" ({ "{") (expression_statement "local_8c = uVar13 << 3;" (assignment_expression "local_8c = uVar13 << 3" (identifier "local_8c") (= "=") (binary_expression "uVar13 << 3" (identifier "uVar13") (<< "<<") (number_literal "3"))) (; ";")) (goto_statement "goto LAB_0006fbe3;" (goto "goto") (statement_identifier "LAB_0006fbe3") (; ";")) (} "}"))) (expression_statement "local_8c = 0;" (assignment_expression "local_8c = 0" (identifier "local_8c") (= "=") (number_literal "0")) (; ";")) (expression_statement "__dest = (void *)0x0;" (assignment_expression "__dest = (void *)0x0" (identifier "__dest") (= "=") (cast_expression "(void *)0x0" (( "(") (type_descriptor "void *" (primitive_type "void") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (} "}")))) (expression_statement "*(int **)((int)__dest + __n) = piVar8;" (assignment_expression "*(int **)((int)__dest + __n) = piVar8" (pointer_expression "*(int **)((int)__dest + __n)" (* "*") (cast_expression "(int **)((int)__dest + __n)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)__dest + __n)" (( "(") (binary_expression "(int)__dest + __n" (cast_expression "(int)__dest" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "__dest")) (+ "+") (identifier "__n")) () ")")))) (= "=") (identifier "piVar8")) (; ";")) (if_statement "if (puVar16 == __src) {\n          if (__src != (undefined4 *)0x0) goto LAB_0006fc33;\n        }\n        else {\n          memmove(__dest,__src,__n);\nLAB_0006fc33:\n          FUN_00248220(__src);\n        }" (if "if") (parenthesized_expression "(puVar16 == __src)" (( "(") (binary_expression "puVar16 == __src" (identifier "puVar16") (== "==") (identifier "__src")) () ")")) (compound_statement "{\n          if (__src != (undefined4 *)0x0) goto LAB_0006fc33;\n        }" ({ "{") (if_statement "if (__src != (undefined4 *)0x0) goto LAB_0006fc33;" (if "if") (parenthesized_expression "(__src != (undefined4 *)0x0)" (( "(") (binary_expression "__src != (undefined4 *)0x0" (identifier "__src") (!= "!=") (cast_expression "(undefined4 *)0x0" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (goto_statement "goto LAB_0006fc33;" (goto "goto") (statement_identifier "LAB_0006fc33") (; ";"))) (} "}")) (else_clause "else {\n          memmove(__dest,__src,__n);\nLAB_0006fc33:\n          FUN_00248220(__src);\n        }" (else "else") (compound_statement "{\n          memmove(__dest,__src,__n);\nLAB_0006fc33:\n          FUN_00248220(__src);\n        }" ({ "{") (expression_statement "memmove(__dest,__src,__n);" (call_expression "memmove(__dest,__src,__n)" (identifier "memmove") (argument_list "(__dest,__src,__n)" (( "(") (identifier "__dest") (, ",") (identifier "__src") (, ",") (identifier "__n") () ")"))) (; ";")) (labeled_statement "LAB_0006fc33:\n          FUN_00248220(__src);" (statement_identifier "LAB_0006fc33") (: ":") (expression_statement "FUN_00248220(__src);" (call_expression "FUN_00248220(__src)" (identifier "FUN_00248220") (argument_list "(__src)" (( "(") (identifier "__src") () ")"))) (; ";"))) (} "}")))) (expression_statement "*(void **)(iVar5 + 0x4c) = __dest;" (assignment_expression "*(void **)(iVar5 + 0x4c) = __dest" (pointer_expression "*(void **)(iVar5 + 0x4c)" (* "*") (cast_expression "(void **)(iVar5 + 0x4c)" (( "(") (type_descriptor "void **" (primitive_type "void") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar5 + 0x4c)" (( "(") (binary_expression "iVar5 + 0x4c" (identifier "iVar5") (+ "+") (number_literal "0x4c")) () ")")))) (= "=") (identifier "__dest")) (; ";")) (expression_statement "*(size_t *)(iVar5 + 0x50) = (int)__dest + __n + 4;" (assignment_expression "*(size_t *)(iVar5 + 0x50) = (int)__dest + __n + 4" (pointer_expression "*(size_t *)(iVar5 + 0x50)" (* "*") (cast_expression "(size_t *)(iVar5 + 0x50)" (( "(") (type_descriptor "size_t *" (primitive_type "size_t") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar5 + 0x50)" (( "(") (binary_expression "iVar5 + 0x50" (identifier "iVar5") (+ "+") (number_literal "0x50")) () ")")))) (= "=") (binary_expression "(int)__dest + __n + 4" (binary_expression "(int)__dest + __n" (cast_expression "(int)__dest" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "__dest")) (+ "+") (identifier "__n")) (+ "+") (number_literal "4"))) (; ";")) (expression_statement "*(int *)(iVar5 + 0x54) = local_8c;" (assignment_expression "*(int *)(iVar5 + 0x54) = local_8c" (pointer_expression "*(int *)(iVar5 + 0x54)" (* "*") (cast_expression "(int *)(iVar5 + 0x54)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar5 + 0x54)" (( "(") (binary_expression "iVar5 + 0x54" (identifier "iVar5") (+ "+") (number_literal "0x54")) () ")")))) (= "=") (identifier "local_8c")) (; ";")) (} "}")))) (expression_statement "FUN_00248200(*local_7c,8);" (call_expression "FUN_00248200(*local_7c,8)" (identifier "FUN_00248200") (argument_list "(*local_7c,8)" (( "(") (pointer_expression "*local_7c" (* "*") (identifier "local_7c")) (, ",") (number_literal "8") () ")"))) (; ";")) (expression_statement "local_7c = local_7c + 1;" (assignment_expression "local_7c = local_7c + 1" (identifier "local_7c") (= "=") (binary_expression "local_7c + 1" (identifier "local_7c") (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(local_5c != local_7c)" (( "(") (binary_expression "local_5c != local_7c" (identifier "local_5c") (!= "!=") (identifier "local_7c")) () ")")) (; ";")) (} "}"))) (if_statement "if (local_54 != (int *)0x0) {\n    FUN_00248220(local_54);\n  }" (if "if") (parenthesized_expression "(local_54 != (int *)0x0)" (( "(") (binary_expression "local_54 != (int *)0x0" (identifier "local_54") (!= "!=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n    FUN_00248220(local_54);\n  }" ({ "{") (expression_statement "FUN_00248220(local_54);" (call_expression "FUN_00248220(local_54)" (identifier "FUN_00248220") (argument_list "(local_54)" (( "(") (identifier "local_54") () ")"))) (; ";")) (} "}"))) (if_statement "if (local_60 != (int *)0x0) {\n    FUN_00248220(local_60);\n  }" (if "if") (parenthesized_expression "(local_60 != (int *)0x0)" (( "(") (binary_expression "local_60 != (int *)0x0" (identifier "local_60") (!= "!=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n    FUN_00248220(local_60);\n  }" ({ "{") (expression_statement "FUN_00248220(local_60);" (call_expression "FUN_00248220(local_60)" (identifier "FUN_00248220") (argument_list "(local_60)" (( "(") (identifier "local_60") () ")"))) (; ";")) (} "}"))) (return_statement "return;" (return "return") (; ";")) (} "}")))

/* WARNING: Enum "DT": Some values do not have unique names */
/* DWARF original prototype: void group_sections(Target_powerpc<64,_false> * this, Layout * layout,
   Task * param_7, bool no_size_errors) */

void __thiscall
anon_unknown.dwarf_2af53c::var_18<64,var_16>::group_sections
          (var_18<64,var_16> *this,type_19 *layout,Task *param_2,bool no_size_errors)

{
  type_6 var_30;
  type_1 **ppIVar2;
  type_2 p_Var3;
  type_3 var_40;
  type_4 *var_45;
  bool bVar5;
  type_5 *pCVar6;
  type_6 var_29;
  type_4 this_00;
  type_7 *pRVar8;
  type_6 var_23;
  int var_34;
  size_t var_44;
  void *__dest;
  type_8 *pIVar11;
  type_9 *this_01;
  type_10 var_33;
  type_11 *pOVar13;
  type_6 extraout_EDX;
  type_8 *var_35;
  int var_7;
  type_4 *var_37;
  type_12 uVar15;
  type_13 oVar16;
  type_11 *pOVar17;
  type_14 __position;
  var_1<var_10::var_14*,var_2::var_31<var_10::var_14*>var_3>
  *in_stack_ffffff5c;
  var_1<(anonymous_namespace)::type_15*,var_2::var_31<(anonymous_namespace)::type_15*>var_3>
  *in_stack_ffffff60;
  type_14 in_stack_ffffff64;
  type_15 **in_stack_ffffff68;
  type_16 **pp_Var18;
  type_2 local_8c;
  type_10 var_36;
  void *var_13;
  type_17 local_70;
  type_15 *var_26;
  type_4 local_64;
  var_1<(anonymous_namespace)::type_15*,var_2::var_31<(anonymous_namespace)::type_15*>var_3>
  var_4;
  type_18 section_list;
  var_1<var_10::var_14*,var_2::var_31<var_10::var_14*>var_3>
  new_relaxed;
  type_9 stub_control;
  
  uVar15 = var_5();
  pCVar6 = (type_5 *)uVar15;
  if (*(int *)(*(int *)(var_6 + var_7 + 0x86) + 8) == 0) {
                    /* WARNING: Subroutine does not return */
    gold::var_8
              ((char *)(var_12::wios::var_9 + var_7 + 4),0x5c,(char *)(var_7 + 0x286d9f));
  }
  stub_control.owner_ = (type_8 *)0x0;
  stub_control.output_section_ = (type_11 *)0x0;
  var_26 = (type_15 *)0x0;
  var_4.
  super__Vector_base<(anonymous_namespace)::type_15*,var_2::var_31<(anonymous_namespace)::type_15*>var_3>
  ._M_impl._M_start = (type_10)0x0;
  var_4.
  super__Vector_base<(anonymous_namespace)::type_15*,var_2::var_31<(anonymous_namespace)::type_15*>var_3>
  ._M_impl._M_finish = (type_10)0x0;
  var_4.
  super__Vector_base<(anonymous_namespace)::type_15*,var_2::var_31<(anonymous_namespace)::type_15*>var_3>
  ._M_impl._M_end_of_storage = (type_10)0x0;
  section_list.super__Vector_base<var_10::type_11*,var_2::var_31<var_10::type_11*>var_3>.
  _M_impl._M_start = (type_10)0x0;
  section_list.super__Vector_base<var_10::type_11*,var_2::var_31<var_10::type_11*>var_3>.
  _M_impl._M_finish = (type_10)0x0;
  section_list.super__Vector_base<var_10::type_11*,var_2::var_31<var_10::type_11*>var_3>.
  _M_impl._M_end_of_storage = (type_10)0x0;
                    /* try { // try from 0006f6c7 to 0006f6cb has its CatchHandler @ 0006fd94 */
  gold::Layout::var_11((type_19 *)((type_20)uVar15 >> 0x20),&section_list);
  pIVar11 = (type_8 *)
            ((int)section_list.
                  super__Vector_base<var_10::type_11*,var_2::var_31<var_10::type_11*>var_3>.
                  _M_impl._M_finish -
             (int)section_list.
                  super__Vector_base<var_10::type_11*,var_2::var_31<var_10::type_11*>var_3>.
                  _M_impl._M_start >> 2);
  var_12::get_temporary_buffer<var_10::type_11*>((ptrdiff_t)&var_13);
  if (var_13 == (void *)0x0) {
                    /* try { // try from 0006fd2a to 0006fd2e has its CatchHandler @ 0006fd86 */
    in_stack_ffffff5c =
         (var_1<var_10::var_14*,var_2::var_31<var_10::var_14*>var_3>
          *)0x6fd2f;
    var_12::
    __inplace_stable_sort<__gnu_cxx::__normal_iterator<var_10::type_11**,var_2::var_1<var_10::type_11*>var_3>,var_15::__ops::_Iter_comp_iter<(anonymous_namespace)::var_18<64,var_16>::var_17>var_3>
              (var_42);
  }
  else {
                    /* try { // try from 0006f702 to 0006f706 has its CatchHandler @ 0006fd86 */
    var_12::
    __stable_sort_adaptive<__gnu_cxx::__normal_iterator<var_10::type_11**,var_2::var_1<var_10::type_11*>var_3>,_gold::type_11**,_int,var_15::__ops::_Iter_comp_iter<(anonymous_namespace)::var_18<64,var_16>::var_17>var_3>
              (local_70,0);
  }
  pOVar17 = *(type_11 **)(var_19 + var_7 + 0x2e);
  var_20(var_13,(type_21 *)pOVar17);
  var_36 = section_list.
             super__Vector_base<var_10::type_11*,var_2::var_31<var_10::type_11*>var_3>.
             _M_impl._M_start;
  if (section_list.super__Vector_base<var_10::type_11*,var_2::var_31<var_10::type_11*>var_3>
      ._M_impl._M_start !=
      section_list.super__Vector_base<var_10::type_11*,var_2::var_31<var_10::type_11*>var_3>
      ._M_impl._M_finish) {
    do {
      pOVar13 = *var_36;
      var_35 = (pOVar13->input_sections_).
                super__Vector_base<var_10::Output_section::type_8,var_2::var_31<var_10::Output_section::type_8>var_3>
                ._M_impl._M_start;
      if (var_35 !=
          (pOVar13->input_sections_).
          super__Vector_base<var_10::type_11::type_8,var_2::var_31<var_10::type_11::type_8>var_3>
          ._M_impl._M_finish) {
        do {
          if (2 < var_35->shndx_ + 3) {
            pRVar8 = var_10::Output_section::Input_section::var_21(var_35);
            var_23 = var_10::Output_section::Input_section::var_22(var_35);
            this_01 = (type_9 *)0x0;
            if (var_23 < (pRVar8[3].dyn_reloc_count_ - (int)pRVar8[3].reloc_bases_) +
                        (pRVar8[3].first_dyn_reloc_ - (int)pRVar8[3].reloc_counts_) * 8) {
              this_01 = (type_9 *)
                        (type_6)((pRVar8[3].reloc_counts_[var_23 >> 5] & 1 << ((type_22)var_23 & 0x1f)) !=
                              0);
            }
            bVar5 = type_9::var_24
                              (this_01,pOVar17,pIVar11,var_25(in_stack_ffffff5c,0));
            if (bVar5) {
              if (var_26 == (type_15 *)0x0) goto LAB_0006f76a;
            }
            else {
              var_26->output_section = stub_control.output_section_;
              var_26->owner = stub_control.owner_;
              stub_control.output_section_ = *var_36;
              var_26 = (type_15 *)0x0;
              stub_control.owner_ = var_35;
LAB_0006f76a:
                    /* try { // try from 0006f772 to 0006f98f has its CatchHandler @ 0006fd94 */
              var_26 = (type_15 *)var_27(8);
              var_26->output_section = (type_11 *)0x0;
              var_26->owner = (type_8 *)0x0;
              if (var_4.
                  super__Vector_base<(anonymous_namespace)::type_15*,var_2::var_31<(anonymous_namespace)::type_15*>var_3>
                  ._M_impl._M_finish ==
                  var_4.
                  super__Vector_base<(anonymous_namespace)::type_15*,var_2::var_31<(anonymous_namespace)::type_15*>var_3>
                  ._M_impl._M_end_of_storage) {
                in_stack_ffffff5c =
                     (var_1<var_10::var_14*,var_2::var_31<var_10::var_14*>var_3>
                      *)0x6fc9b;
                var_12::
                var_1<(anonymous_namespace)::type_15*,var_2::var_31<(anonymous_namespace)::type_15*>var_3>
                ::_M_realloc_insert<(anonymous_namespace)::type_15*var_28&>
                          (in_stack_ffffff60,in_stack_ffffff64,in_stack_ffffff68);
              }
              else {
                *var_4.
                 super__Vector_base<(anonymous_namespace)::type_15*,var_2::var_31<(anonymous_namespace)::type_15*>var_3>
                 ._M_impl._M_finish = var_26;
                var_4.
                super__Vector_base<(anonymous_namespace)::type_15*,var_2::var_31<(anonymous_namespace)::type_15*>var_3>
                ._M_impl._M_finish =
                     var_4.
                     super__Vector_base<(anonymous_namespace)::type_15*,var_2::var_31<(anonymous_namespace)::type_15*>var_3>
                     ._M_impl._M_finish + 1;
              }
            }
            var_34 = (int)var_4.
                          super__Vector_base<(anonymous_namespace)::type_15*,var_2::var_31<(anonymous_namespace)::type_15*>var_3>
                          ._M_impl._M_finish -
                     (int)var_4.
                          super__Vector_base<(anonymous_namespace)::type_15*,var_2::var_31<(anonymous_namespace)::type_15*>var_3>
                          ._M_impl._M_start;
            var_23 = var_10::Output_section::Input_section::var_22(var_35);
            var_33 = pRVar8[4].super_Object.name_._M_dataplus._M_p;
            __position._M_current = (type_6 *)pRVar8[4].super_Object.name_._M_string_length;
            var_29 = (int)__position._M_current - (int)var_33 >> 2;
            if (var_29 <= var_23) {
              var_30 = var_23 + 1;
              new_relaxed.
              super__Vector_base<var_10::var_14*,var_2::var_31<var_10::var_14*>var_3>
              ._M_impl._M_start = (type_10)0xffffffff;
              if (var_29 < var_30) {
                pIVar11 = (type_8 *)(var_30 - var_29);
                in_stack_ffffff5c = &new_relaxed;
                std::var_1<var_32,var_2::var_31<var_32>var_3>::_M_fill_insert
                          ((var_1<var_32,var_2::var_31<var_32>var_3> *)
                           &pRVar8[4].super_Object.name_,__position,(type_23)pIVar11,
                           (type_24 *)in_stack_ffffff5c);
                var_33 = pRVar8[4].super_Object.name_._M_dataplus._M_p;
                pOVar17 = (type_11 *)__position._M_current;
              }
              else if ((var_30 < var_29) && (__position._M_current != (type_6 *)(var_33 + var_30 * 4)))
              {
                pRVar8[4].super_Object.name_._M_string_length = (type_23)(var_33 + var_30 * 4);
              }
            }
            *(int *)(var_33 + var_23 * 4) = (var_34 >> 2) + -1;
            pOVar13 = *var_36;
          }
          var_35 = var_35 + 1;
        } while ((pOVar13->input_sections_).
                 super__Vector_base<var_10::type_11::type_8,var_2::var_31<var_10::type_11::type_8>var_3>
                 ._M_impl._M_finish != var_35);
      }
      var_36 = var_36 + 1;
    } while (section_list.
             super__Vector_base<var_10::type_11*,var_2::var_31<var_10::type_11*>var_3>.
             _M_impl._M_finish != var_36);
  }
  if (var_26 != (type_15 *)0x0) {
    var_26->output_section = stub_control.output_section_;
    var_26->owner = stub_control.owner_;
  }
  pp_Var18 = (type_16 **)(var_7 + 0x39d467);
  var_36 = (type_10)var_4.
                      super__Vector_base<(anonymous_namespace)::type_15*,var_2::var_31<(anonymous_namespace)::type_15*>var_3>
                      ._M_impl._M_start;
  if (var_4.
      super__Vector_base<(anonymous_namespace)::type_15*,var_2::var_31<(anonymous_namespace)::type_15*>var_3>
      ._M_impl._M_start !=
      var_4.
      super__Vector_base<(anonymous_namespace)::type_15*,var_2::var_31<(anonymous_namespace)::type_15*>var_3>
      ._M_impl._M_finish) {
    do {
      pIVar11 = ((type_15 *)*var_36)->owner;
      if (pIVar11->shndx_ + 4 < 4) {
        if (pIVar11->shndx_ != 0xfffffffc) {
                    /* WARNING: Subroutine does not return */
                    /* try { // try from 0006fd4d to 0006fd51 has its CatchHandler @ 0006fd94 */
          gold::var_8
                    ((char *)(var_7 + 0x28787b),0xcc1,(char *)(var_7 + 0x2866cf));
        }
        this_00 = pIVar11->u2_;
LAB_0006f914:
        var_37 = (type_4 *)
                  pCVar6[3]._M_t._M_impl.super__Rb_tree_header._M_header._M_parent;
        if (var_37 ==
            (type_4 *)
            pCVar6[3]._M_t._M_impl.super__Rb_tree_header._M_header._M_left) goto LAB_0006fbb0;
LAB_0006f926:
        var_37->object = (type_7 *)this_00;
        pCVar6[3]._M_t._M_impl.super__Rb_tree_header._M_header._M_parent = (type_2)(var_37 + 1);
      }
      else {
        pOVar17 = ((type_15 *)*var_36)->output_section;
        p_Var3 = pCVar6[3]._M_t._M_impl.super__Rb_tree_header._M_header._M_parent;
        var_40 = pCVar6[3]._M_t._M_impl.super__Rb_tree_header._M_header._M_color;
        this_00.object = (type_7 *)var_27(0xb0);
                    /* try { // try from 0006f998 to 0006f9e1 has its CatchHandler @ 0006fd8d */
        pRVar8 = var_10::Output_section::Input_section::var_21(pIVar11);
        var_23 = var_10::Output_section::Input_section::var_22(pIVar11);
        var_34 = (*(pRVar8->super_Object)._vptr_Object[0x17])(pRVar8,var_23);
        var_23 = var_10::Output_section::Input_section::var_22(pIVar11);
        pRVar8 = var_10::Output_section::Input_section::var_21(pIVar11);
        (this_00.poris)->relobj_ = pRVar8;
        ppIVar2 = &((this_00.object)->super_Object).input_file_;
        *(type_22 *)ppIVar2 = *(type_22 *)ppIVar2 & 0xe0;
        *(int *)((int)&((this_00.object)->super_Object).offset_ + 4) = var_34;
        (this_00.poris)->shndx_ = var_23;
        ((this_00.object)->super_Object).name_._M_dataplus._M_p = (type_10)0x0;
        ((this_00.object)->super_Object).name_._M_string_length = 0;
        ((this_00.object)->super_Object).name_.field_2._M_allocated_capacity = 0;
        *(type_17 *)((int)&((this_00.object)->super_Object).name_.field_2 + 4) = 0;
        *(type_17 *)((int)&((this_00.object)->super_Object).name_.field_2 + 8) = 0xffffffff;
        *(type_17 *)((int)&((this_00.object)->super_Object).name_.field_2 + 0xc) = 0xffffffff;
        *(type_17 *)&((this_00.object)->super_Object).offset_ = 0;
        ((this_00.object)->super_Object).shnum_ = extraout_EDX;
        ((this_00.object)->super_Object).compressed_sections_ = pCVar6;
        ((this_00.object)->super_Object)._vptr_Object = pp_Var18;
        var_23 = 0;
        do {
          *(type_17 *)
           ((int)&((this_00.object)->output_sections_).
                  super__Vector_base<var_10::type_11*,var_2::var_31<var_10::type_11*>var_3>.
                  _M_impl._M_start + var_23) = 0;
          var_23 = var_23 + 4;
        } while (var_23 < 0x1c);
        (this_00.pomb)->first_shndx_ = 1;
        ((this_00.object)->output_sections_).
        super__Vector_base<var_10::type_11*,var_2::var_31<var_10::type_11*>var_3>._M_impl.
        _M_end_of_storage = (type_10)0x0;
        (this_00.object)->map_to_relocatable_relocs_ =
             (var_1<var_10::var_38*,var_2::var_31<var_10::var_38*>var_3> *)0x0;
        (this_00.object)->object_merge_map_ = (type_25 *)0x3f800000;
        ((this_00.pomb)->input_sections_)._M_h._M_element_count = 0;
        (this_00.object)->rd_ = (type_26 *)0x0;
        ((this_00.object)->output_sections_).
        super__Vector_base<var_10::type_11*,var_2::var_31<var_10::type_11*>var_3>._M_impl.
        _M_start = (type_10)&(this_00.object)->rd_;
        var_23 = 0;
        do {
          *(type_17 *)((int)&(this_00.object)->sd_ + var_23) = 0;
          var_23 = var_23 + 4;
        } while (var_23 < 0x1c);
        (this_00.object)->reloc_counts_ = (type_6 *)0x1;
        (this_00.object)->sd_ = (type_27 *)&this_00.object[1].super_Object.name_;
        (this_00.object)->reloc_bases_ = (type_6 *)0x0;
        (this_00.object)->first_dyn_reloc_ = 0;
        (this_00.object)->dyn_reloc_count_ = 0x3f800000;
        this_00.object[1].super_Object._vptr_Object = (type_16 **)0x0;
        this_00.object[1].super_Object.name_._M_dataplus._M_p = (type_10)0x0;
                    /* try { // try from 0006fadc to 0006fb48 has its CatchHandler @ 0006fd7f */
        oVar16 = var_10::Output_section::Input_section::var_39(pIVar11);
        this_00.object[1].super_Object.name_._M_string_length = (type_23)oVar16;
        this_00.object[1].super_Object.name_.field_2._M_allocated_capacity = 0;
        *(type_17 *)((int)&this_00.object[1].super_Object.name_.field_2 + 4) = 0;
        *(type_17 *)((int)&this_00.object[1].super_Object.name_.field_2 + 8) = 0;
        *(type_17 *)((int)&this_00.object[1].super_Object.name_.field_2 + 0xc) = 0;
        this_00.object[1].super_Object.input_file_ = (type_1 *)0x0;
        *(type_17 *)&this_00.object[1].super_Object.offset_ = 0;
        *(type_28 *)((int)&this_00.object[1].super_Object.offset_ + 4) = 0;
        this_00.object[1].super_Object.shnum_ = (int)((int)p_Var3 - var_40) >> 2;
        *(type_17 *)&this_00.object[1].super_Object.field_0x2c = 0xffffffff;
        this_00.object[1].super_Object.xindex_ = (type_29 *)0x0;
        gold::Output_section_data::var_41(this_00.posd,pOVar17);
        new_relaxed.
        super__Vector_base<var_10::var_14*,var_2::var_31<var_10::var_14*>var_3>
        ._M_impl._M_start = (type_10)0x0;
        new_relaxed.
        super__Vector_base<var_10::var_14*,var_2::var_31<var_10::var_14*>var_3>
        ._M_impl._M_finish = (type_10)0x0;
        new_relaxed.
        super__Vector_base<var_10::var_14*,var_2::var_31<var_10::var_14*>var_3>
        ._M_impl._M_end_of_storage = (type_10)0x0;
        local_64.object = this_00.object;
                    /* try { // try from 0006fb6b to 0006fb7c has its CatchHandler @ 0006fd78 */
        var_12::
        var_1<var_10::var_14*,var_2::var_31<var_10::var_14*>var_3>
        ::emplace_back<var_10::var_14*var_42>(&new_relaxed,&local_64.poris);
        gold::Output_section::var_43(pOVar17,&new_relaxed);
        if (new_relaxed.
            super__Vector_base<var_10::var_14*,var_2::var_31<var_10::var_14*>var_3>
            ._M_impl._M_start == (type_10)0x0) goto LAB_0006f914;
        var_20(new_relaxed.
                        super__Vector_base<var_10::var_14*,var_2::var_31<var_10::var_14*>var_3>
                        ._M_impl._M_start);
        var_37 = (type_4 *)
                  pCVar6[3]._M_t._M_impl.super__Rb_tree_header._M_header._M_parent;
        if (var_37 !=
            (type_4 *)
            pCVar6[3]._M_t._M_impl.super__Rb_tree_header._M_header._M_left) goto LAB_0006f926;
LAB_0006fbb0:
        var_45 = (type_4 *)
                pCVar6[3]._M_t._M_impl.super__Rb_tree_header._M_header._M_color;
        var_44 = (int)var_37 - (int)var_45;
        var_23 = (int)var_44 >> 2;
        if (var_23 == 0) {
          local_8c = (type_2)0x4;
LAB_0006fbe3:
                    /* try { // try from 0006fbef to 0006fc9a has its CatchHandler @ 0006fd94 */
          __dest = var_27((type_6)local_8c);
          local_8c = (type_2)((int)local_8c + (int)__dest);
        }
        else {
          local_8c = (type_2)0xfffffffc;
          var_29 = var_23 * 2;
          if ((var_29 < var_23) || (0x3fffffff < var_29)) goto LAB_0006fbe3;
          if (var_29 != 0) {
            local_8c = (type_2)(var_23 << 3);
            goto LAB_0006fbe3;
          }
          local_8c = (type_2)0x0;
          __dest = (void *)0x0;
        }
        ((type_4 *)((int)__dest + var_44))->object = (type_7 *)this_00;
        if (var_37 == var_45) {
          if (var_45 != (type_4 *)0x0) goto LAB_0006fc33;
        }
        else {
          var_46(__dest,var_45,var_44);
LAB_0006fc33:
          var_20(var_45);
        }
        pCVar6[3]._M_t._M_impl.super__Rb_tree_header._M_header._M_color = (type_3)__dest;
        pCVar6[3]._M_t._M_impl.super__Rb_tree_header._M_header._M_parent =
             (type_2)((int)__dest + var_44 + 4);
        pCVar6[3]._M_t._M_impl.super__Rb_tree_header._M_header._M_left = local_8c;
      }
      var_20((type_15 *)*var_36,8);
      var_36 = var_36 + 1;
    } while ((type_10)var_4.
                      super__Vector_base<(anonymous_namespace)::type_15*,var_2::var_31<(anonymous_namespace)::type_15*>var_3>
                      ._M_impl._M_finish != var_36);
  }
  if (section_list.super__Vector_base<var_10::type_11*,var_2::var_31<var_10::type_11*>var_3>
      ._M_impl._M_start != (type_10)0x0) {
    var_20(section_list.
                    super__Vector_base<var_10::type_11*,var_2::var_31<var_10::type_11*>var_3>
                    ._M_impl._M_start);
  }
  if (var_4.
      super__Vector_base<(anonymous_namespace)::type_15*,var_2::var_31<(anonymous_namespace)::type_15*>var_3>
      ._M_impl._M_start != (type_10)0x0) {
    var_20(var_4.
                    super__Vector_base<(anonymous_namespace)::type_15*,var_2::var_31<(anonymous_namespace)::type_15*>var_3>
                    ._M_impl._M_start);
  }
  return;
}


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

void MASKED(void)

{
  uint uVar1;
  int iVar2;
  undefined4 uVar3;
  undefined4 *__src;
  char cVar4;
  int iVar5;
  uint uVar6;
  int iVar7;
  int *piVar8;
  int *piVar9;
  undefined4 uVar10;
  int iVar11;
  int iVar12;
  uint uVar13;
  size_t __n;
  void *__dest;
  int iVar14;
  int *piVar15;
  int unaff_EDI;
  undefined4 *puVar16;
  bool bVar17;
  undefined8 uVar18;
  int local_8c;
  int *local_7c;
  int local_74;
  undefined4 local_70;
  int *local_68;
  int *local_64;
  int *local_60;
  int *local_5c;
  int *local_58;
  int *local_54;
  int *local_50;
  undefined4 local_4c;
  int local_48 [4];
  byte local_38;
  undefined1 local_36;
  undefined4 local_34;
  undefined4 local_30;
  undefined4 local_2c;
  undefined4 local_28;
  int *local_24;
  int local_20;
  
  uVar18 = FUN_000b484e();
  iVar5 = (int)uVar18;
  if (*(int *)(*(int *)(BYTE_ARRAY_003a4e59 + unaff_EDI + 0x86) + 8) == 0) {
                    /* WARNING: Subroutine does not return */
    FUN_000da200(unaff_EDI + 0x272c64,0x5c,unaff_EDI + 0x286d9f,0);
  }
  local_36 = *(undefined1 *)
              (*(int *)(*(int *)(BYTE_ARRAY_003a4e59 + unaff_EDI + 0x86) + 8) + 0x38e9);
  local_34 = 0;
  local_30 = 0;
  uVar13 = *(uint *)(iVar5 + 0xa8);
  local_2c = 0;
  local_28 = 0;
  local_24 = (int *)0x0;
  local_20 = 0;
  local_68 = (int *)0x0;
  local_60 = (int *)0x0;
  local_38 = (byte)(uVar13 >> 0x1f);
  local_48[3] = ((int)uVar13 >> 0x1f ^ uVar13) - ((int)uVar13 >> 0x1f);
  local_5c = (int *)0x0;
  local_58 = (int *)0x0;
  local_54 = (int *)0x0;
  local_50 = (int *)0x0;
  local_4c = 0;
                    /* try { // try from 0006f6c7 to 0006f6cb has its CatchHandler @ 0006fd94 */
  FUN_0010bb60((int)((ulonglong)uVar18 >> 0x20),&local_54);
  FUN_000aba90(&local_74,(int)local_50 - (int)local_54 >> 2);
  if (local_74 == 0) {
                    /* try { // try from 0006fd2a to 0006fd2e has its CatchHandler @ 0006fd86 */
    FUN_0006eab0();
  }
  else {
                    /* try { // try from 0006f702 to 0006f706 has its CatchHandler @ 0006fd86 */
    FUN_0006f540(local_70,0);
  }
  FUN_002481e0(local_74,*(undefined4 *)(BYTE_ARRAY_003a4975 + unaff_EDI + 0x2e));
  local_7c = local_54;
  if (local_54 != local_50) {
    do {
      iVar7 = *local_7c;
      piVar15 = *(int **)(iVar7 + 0x6c);
      if (piVar15 != *(int **)(iVar7 + 0x70)) {
        do {
          if (2 < *piVar15 + 3U) {
            iVar7 = FUN_0015c600(piVar15);
            uVar13 = FUN_0015c690(piVar15);
            bVar17 = false;
            if (uVar13 < (uint)((*(int *)(iVar7 + 0x19c) - *(int *)(iVar7 + 0x194)) +
                               (*(int *)(iVar7 + 0x198) - *(int *)(iVar7 + 400)) * 8)) {
              bVar17 = (*(uint *)(*(int *)(iVar7 + 400) + (uVar13 >> 5) * 4) &
                       1 << ((byte)uVar13 & 0x1f)) != 0;
            }
            cVar4 = FUN_0004fea0(bVar17);
            if (cVar4 == '\0') {
              *local_68 = local_20;
              local_68[1] = (int)local_24;
              local_20 = *local_7c;
              local_68 = (int *)0x0;
              local_24 = piVar15;
LAB_0006f76a:
                    /* try { // try from 0006f772 to 0006f98f has its CatchHandler @ 0006fd94 */
              local_68 = (int *)FUN_00246670(8);
              *local_68 = 0;
              local_68[1] = 0;
              if (local_5c == local_58) {
                FUN_00055630();
              }
              else {
                *local_5c = (int)local_68;
                local_5c = local_5c + 1;
              }
            }
            else if (local_68 == (int *)0x0) goto LAB_0006f76a;
            iVar12 = (int)local_5c - (int)local_60;
            uVar13 = FUN_0015c690(piVar15);
            iVar14 = *(int *)(iVar7 + 0x1a4);
            iVar11 = *(int *)(iVar7 + 0x1a8);
            uVar6 = iVar11 - iVar14 >> 2;
            if (uVar6 <= uVar13) {
              uVar1 = uVar13 + 1;
              local_48[0] = -1;
              if (uVar6 < uVar1) {
                FUN_000aab90(iVar7 + 0x1a4,iVar11,uVar1 - uVar6,local_48);
                iVar14 = *(int *)(iVar7 + 0x1a4);
              }
              else if ((uVar1 < uVar6) && (iVar2 = iVar14 + uVar1 * 4, iVar11 != iVar2)) {
                *(int *)(iVar7 + 0x1a8) = iVar2;
              }
            }
            *(int *)(iVar14 + uVar13 * 4) = (iVar12 >> 2) + -1;
            iVar7 = *local_7c;
          }
          piVar15 = piVar15 + 6;
        } while (*(int **)(iVar7 + 0x70) != piVar15);
      }
      local_7c = local_7c + 1;
    } while (local_50 != local_7c);
  }
  if (local_68 != (int *)0x0) {
    *local_68 = local_20;
    local_68[1] = (int)local_24;
  }
  local_7c = local_60;
  if (local_60 != local_5c) {
    do {
      piVar15 = (int *)((undefined4 *)*local_7c)[1];
      if (*piVar15 + 4U < 4) {
        if (*piVar15 != -4) {
                    /* WARNING: Subroutine does not return */
                    /* try { // try from 0006fd4d to 0006fd51 has its CatchHandler @ 0006fd94 */
          FUN_000da200(unaff_EDI + 0x28787b,0xcc1,unaff_EDI + 0x2866cf);
        }
        piVar8 = (int *)piVar15[4];
LAB_0006f914:
        puVar16 = *(undefined4 **)(iVar5 + 0x50);
        if (puVar16 == *(undefined4 **)(iVar5 + 0x54)) goto LAB_0006fbb0;
LAB_0006f926:
        *puVar16 = piVar8;
        *(undefined4 **)(iVar5 + 0x50) = puVar16 + 1;
      }
      else {
        uVar3 = *(undefined4 *)*local_7c;
        iVar7 = *(int *)(iVar5 + 0x50);
        iVar14 = *(int *)(iVar5 + 0x4c);
        piVar8 = (int *)FUN_00246670(0xb0);
                    /* try { // try from 0006f998 to 0006f9e1 has its CatchHandler @ 0006fd8d */
        piVar9 = (int *)FUN_0015c600(piVar15);
        uVar10 = FUN_0015c690(piVar15);
        uVar18 = (**(code **)(*piVar9 + 0x5c))(piVar9,uVar10);
        iVar11 = FUN_0015c690(piVar15);
        iVar12 = FUN_0015c600(piVar15);
        piVar8[0xb] = iVar12;
        *(byte *)(piVar8 + 7) = *(byte *)(piVar8 + 7) & 0xe0;
        piVar8[9] = (int)uVar18;
        piVar8[0xc] = iVar11;
        piVar8[1] = 0;
        piVar8[2] = 0;
        piVar8[3] = 0;
        piVar8[4] = 0;
        piVar8[5] = -1;
        piVar8[6] = -1;
        piVar8[8] = 0;
        piVar8[10] = (int)((ulonglong)uVar18 >> 0x20);
        piVar8[0xd] = iVar5;
        *piVar8 = unaff_EDI + 0x39d467;
        uVar13 = 0;
        do {
          *(undefined4 *)((int)piVar8 + uVar13 + 0x38) = 0;
          uVar13 = uVar13 + 4;
        } while (uVar13 < 0x1c);
        piVar8[0xf] = 1;
        piVar8[0x10] = 0;
        piVar8[0x11] = 0;
        piVar8[0x12] = 0x3f800000;
        piVar8[0x13] = 0;
        piVar8[0x14] = 0;
        piVar8[0xe] = (int)(piVar8 + 0x14);
        uVar13 = 0;
        do {
          *(undefined4 *)((int)piVar8 + uVar13 + 0x54) = 0;
          uVar13 = uVar13 + 4;
        } while (uVar13 < 0x1c);
        piVar8[0x16] = 1;
        piVar8[0x15] = (int)(piVar8 + 0x1b);
        piVar8[0x17] = 0;
        piVar8[0x18] = 0;
        piVar8[0x19] = 0x3f800000;
        piVar8[0x1a] = 0;
        piVar8[0x1b] = 0;
                    /* try { // try from 0006fadc to 0006fb48 has its CatchHandler @ 0006fd7f */
        iVar11 = FUN_0015c560(piVar15);
        piVar8[0x1c] = iVar11;
        piVar8[0x1d] = 0;
        piVar8[0x1e] = 0;
        piVar8[0x1f] = 0;
        piVar8[0x20] = 0;
        piVar8[0x21] = 0;
        piVar8[0x22] = 0;
        *(undefined1 *)(piVar8 + 0x23) = 0;
        piVar8[0x24] = iVar7 - iVar14 >> 2;
        piVar8[0x25] = -1;
        piVar8[0x26] = 0;
        FUN_0015c3f0(piVar8,uVar3);
        local_48[0] = 0;
        local_48[1] = 0;
        local_48[2] = 0;
        local_64 = piVar8;
                    /* try { // try from 0006fb6b to 0006fb7c has its CatchHandler @ 0006fd78 */
        FUN_000abc70(local_48,&local_64);
        FUN_00164400(uVar3,local_48);
        if (local_48[0] == 0) goto LAB_0006f914;
        FUN_00248220(local_48[0]);
        puVar16 = *(undefined4 **)(iVar5 + 0x50);
        if (puVar16 != *(undefined4 **)(iVar5 + 0x54)) goto LAB_0006f926;
LAB_0006fbb0:
        __src = *(undefined4 **)(iVar5 + 0x4c);
        __n = (int)puVar16 - (int)__src;
        uVar13 = (int)__n >> 2;
        if (uVar13 == 0) {
          local_8c = 4;
LAB_0006fbe3:
                    /* try { // try from 0006fbef to 0006fc9a has its CatchHandler @ 0006fd94 */
          __dest = (void *)FUN_00246670(local_8c);
          local_8c = local_8c + (int)__dest;
        }
        else {
          local_8c = -4;
          uVar6 = uVar13 * 2;
          if ((uVar6 < uVar13) || (0x3fffffff < uVar6)) goto LAB_0006fbe3;
          if (uVar6 != 0) {
            local_8c = uVar13 << 3;
            goto LAB_0006fbe3;
          }
          local_8c = 0;
          __dest = (void *)0x0;
        }
        *(int **)((int)__dest + __n) = piVar8;
        if (puVar16 == __src) {
          if (__src != (undefined4 *)0x0) goto LAB_0006fc33;
        }
        else {
          memmove(__dest,__src,__n);
LAB_0006fc33:
          FUN_00248220(__src);
        }
        *(void **)(iVar5 + 0x4c) = __dest;
        *(size_t *)(iVar5 + 0x50) = (int)__dest + __n + 4;
        *(int *)(iVar5 + 0x54) = local_8c;
      }
      FUN_00248200(*local_7c,8);
      local_7c = local_7c + 1;
    } while (local_5c != local_7c);
  }
  if (local_54 != (int *)0x0) {
    FUN_00248220(local_54);
  }
  if (local_60 != (int *)0x0) {
    FUN_00248220(local_60);
  }
  return;
}

