
/* WARNING: Function: __x86.get_pc_thunk.ax replaced with injection: get_pc_thunk_ax */
/* WARNING: Removing unreachable block (ram,0x000d2c2c) */
/* WARNING: Removing unreachable block (ram,0x000d2c33) */
/* WARNING: Enum "DT": Some values do not have unique names */
/* WARNING: Enum "ELFOSABI": Some values do not have unique names */
/* DWARF original prototype: void gc_process_relocs(Target_powerpc<32,_false> * this, Symbol_table *
   symtab, Layout * layout, Sized_relobj_file<32,_false> * object, uint data_shndx, uint param_5,
   uchar * prelocs, size_t reloc_count, Output_section * output_section, bool
   needs_special_offset_handling, size_t local_symbol_count, uchar * plocal_symbols) */

void __thiscall
anon_unknown.dwarf_6462d4::Target_powerpc<32,_false>::gc_process_relocs
          (Target_powerpc<32,_false> *this,Symbol_table *symtab,Layout *layout,
          Sized_relobj_file<32,_false> *object,uint data_shndx,uint param_5,uchar *prelocs,
          size_t reloc_count,Output_section *output_section,bool needs_special_offset_handling,
          size_t param_10,uchar *plocal_symbols)

{
  _Rb_tree_header *p_Var1;
  _Base_ptr *pp_Var2;
  General_options *pGVar3;
  _func_int_varargs *p_Var4;
  pointer puVar5;
  uint uVar6;
  pointer ppSVar7;
  _Base_ptr p_Var8;
  Target *pTVar9;
  Garbage_collection *pGVar10;
  undefined4 *puVar11;
  Icf *pIVar12;
  undefined1 *puVar13;
  Parameters *pPVar14;
  size_t sVar15;
  Xindex *pXVar16;
  _func_int_varargs **pp_Var17;
  pointer pcVar18;
  int iVar19;
  _Base_ptr p_Var20;
  _Rb_tree_header *p_Var21;
  byte bVar22;
  byte bVar23;
  Relobj *pRVar24;
  uint uVar25;
  undefined4 *puVar26;
  General_options **ppGVar27;
  Sized_relobj_file<32,_false> *unaff_ESI;
  undefined **ppuVar28;
  byte *pbVar29;
  Sized_relobj_file<32,_false> *pSVar30;
  uint uVar31;
  _func_int_varargs **pp_Var32;
  _Alloc_hider _Var33;
  bool bVar34;
  bool bVar35;
  bool bVar36;
  byte bVar37;
  General_options *pGStack_100;
  undefined1 auStack_fc [4];
  anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9
  *local_f8;
  __node_gen_type *local_f4;
  Relobj *local_f0;
  Reloc_addend_size_info *local_ec;
  Addend_info *local_e8;
  size_t local_e4;
  undefined1 *local_e0;
  Parameters **local_dc;
  _func_int_varargs **local_d8;
  bool local_d2;
  char local_d1;
  Offset_info *local_d0;
  Symbol_info *local_cc;
  mapped_type *local_c8;
  int local_c4;
  Output_segment *local_c0;
  pointer local_bc;
  undefined **local_b8;
  Relobj *local_b4;
  Icf *local_b0;
  undefined1 *local_ac;
  _Rb_tree_header *local_a8;
  undefined1 local_a4 [12];
  __node_gen_type __node_gen_2;
  __node_gen_type __node_gen_3;
  __node_gen_type __node_gen_1;
  __node_gen_type __node_gen;
  Section_id *local_88;
  Icf *local_84;
  Sized_relobj_file<32,_false> *local_80;
  uint local_7c;
  Output_segment *local_78;
  Relobj *local_74;
  Section_id src_id_1;
  Section_id dst_id;
  Scan scan;
  string src_section_name;
  Section_id src_id;
  pointer local_2c;
  _Alloc_hider local_28;
  
  bVar37 = 0;
  local_b8 = &_GLOBAL_OFFSET_TABLE_;
  local_dc = &gold::parameters;
  pGVar3 = gold::parameters->options_;
  if (pGVar3 == (General_options *)0x0) {
    pGStack_100 = pGVar3;
                    /* WARNING: Subroutine does not return */
                    /* try { // try from 000d2fc4 to 000d2fc8 has its CatchHandler @ 000d3025 */
    gold::do_gold_unreachable("../../gold/parameters.h",0x5c,"options");
  }
  if (pGVar3->icf_status_ == ICF_NONE) {
    local_f8 = &src_section_name.field_2;
    pGStack_100 = (General_options *)0x0;
    src_section_name._M_dataplus._M_p = (pointer)local_f8;
                    /* try { // try from 000d2dc0 to 000d2dc4 has its CatchHandler @ 000d3025 */
    std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::
    _M_construct<char_const*>(&src_section_name,"","");
    ppGVar27 = (General_options **)auStack_fc;
  }
  else {
    p_Var4 = (object->super_Sized_relobj<32,_false>).super_Relobj.super_Object._vptr_Object[0x10];
    if (p_Var4 == gold::Sized_relobj_file<32,_false>::do_section_name) {
                    /* try { // try from 000d22b3 to 000d22b7 has its CatchHandler @ 000d3025 */
      elfcpp::Elf_file<32,_false,_gold::Object>::section_name(&object->elf_file_,data_shndx);
      unaff_ESI = object;
    }
    else {
                    /* try { // try from 000d2f05 to 000d2f06 has its CatchHandler @ 000d3025 */
      (*p_Var4)(&src_section_name,object,data_shndx);
      unaff_ESI = (Sized_relobj_file<32,_false> *)&_GLOBAL_OFFSET_TABLE_;
    }
    ppGVar27 = &pGStack_100;
    local_f8 = &src_section_name.field_2;
  }
  _Var33._M_p = src_section_name._M_dataplus._M_p;
  pPVar14 = *local_dc;
  if (pPVar14->options_ == (General_options *)0x0) {
    *(Parameters **)((int)ppGVar27 + -4) = pPVar14;
    *(undefined ***)((int)ppGVar27 + -8) = local_b8 + -0x61176;
    *(undefined4 *)((int)ppGVar27 + -0xc) = 0x5c;
    *(int *)((int)ppGVar27 + -0x10) = (int)local_b8 + -0x1a1d93;
                    /* WARNING: Subroutine does not return */
    *(undefined4 *)((int)ppGVar27 + -0x14) = 0xd3001;
    gold::do_gold_unreachable
              (*(char **)((int)ppGVar27 + -0x10),*(int *)((int)ppGVar27 + -0xc),
               *(char **)((int)ppGVar27 + -8));
  }
  if (pPVar14->options_->icf_status_ == ICF_NONE) {
LAB_000d22e5:
    local_d1 = '\0';
    local_ec = (Reloc_addend_size_info *)0x0;
    local_d0 = (Offset_info *)0x0;
    local_e8 = (Addend_info *)0x0;
    local_cc = (Symbol_info *)0x0;
    local_c8 = (mapped_type *)0x0;
  }
  else {
    local_b4 = (Relobj *)&local_2c;
    src_id.first = (Relobj *)&local_2c;
    pcVar18 = (pointer)0xffffffff;
    if (src_section_name._M_dataplus._M_p != (pointer)0x0) {
      *(pointer *)((int)ppGVar27 + -0x10) = src_section_name._M_dataplus._M_p;
      *(undefined4 *)((int)ppGVar27 + -0x14) = 0xd2df7;
      sVar15 = strlen(*(char **)((int)ppGVar27 + -0x10));
      pcVar18 = _Var33._M_p + sVar15;
    }
    *(undefined4 *)((int)ppGVar27 + -4) = 0;
    *(pointer *)((int)ppGVar27 + -8) = pcVar18;
    local_b0 = (Icf *)&src_id;
    *(pointer *)((int)ppGVar27 + -0xc) = _Var33._M_p;
    *(Icf **)((int)ppGVar27 + -0x10) = local_b0;
                    /* try { // try from 000d2e0a to 000d2e83 has its CatchHandler @ 000d302c */
    *(undefined4 *)((int)ppGVar27 + -0x14) = 0xd2e0f;
    std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::
    _M_construct<char_const*>();
    iVar19 = 5;
    bVar34 = (undefined1 *)0xffffffef < (undefined1 *)((int)ppGVar27 + -0x10);
    bVar36 = ppGVar27 == (General_options **)0x0;
    ppuVar28 = local_b8 + -0x67293;
    pRVar24 = src_id.first;
    do {
      if (iVar19 == 0) break;
      iVar19 = iVar19 + -1;
      bVar23 = *(byte *)&(pRVar24->super_Object)._vptr_Object;
      bVar34 = *(byte *)ppuVar28 < bVar23;
      bVar36 = *(byte *)ppuVar28 == bVar23;
      ppuVar28 = (undefined **)((int)ppuVar28 + (uint)bVar37 * -2 + 1);
      pRVar24 = (Relobj *)((int)pRVar24 + (uint)bVar37 * -2 + 1);
    } while (bVar36);
    bVar35 = false;
    bVar34 = (!bVar34 && !bVar36) == bVar34;
    if (!bVar34) {
      iVar19 = 0xf;
      pSVar30 = (Sized_relobj_file<32,_false> *)((int)local_b8 + -0x19ca46);
      pRVar24 = src_id.first;
      do {
        unaff_ESI = pSVar30;
        if (iVar19 == 0) break;
        iVar19 = iVar19 + -1;
        unaff_ESI = (Sized_relobj_file<32,_false> *)((int)pSVar30 + (uint)bVar37 * -2 + 1);
        bVar22 = *(byte *)&(pRVar24->super_Object)._vptr_Object;
        bVar23 = *(byte *)&(pSVar30->super_Sized_relobj<32,_false>).super_Relobj.super_Object.
                           _vptr_Object;
        bVar35 = bVar23 < bVar22;
        bVar34 = bVar23 == bVar22;
        pSVar30 = unaff_ESI;
        pRVar24 = (Relobj *)((int)pRVar24 + (uint)bVar37 * -2 + 1);
      } while (bVar34);
      if ((!bVar35 && !bVar34) != bVar35) {
        if (src_id.first == local_b4) {
          pPVar14 = *local_dc;
        }
        else {
          *(Relobj **)((int)ppGVar27 + -0x10) = src_id.first;
          *(undefined4 *)((int)ppGVar27 + -0x14) = 0xd2ee3;
          operator_delete(*(void **)((int)ppGVar27 + -0x10));
          pPVar14 = *local_dc;
        }
        goto LAB_000d22e5;
      }
    }
    if (src_id.first != local_b4) {
      *(Relobj **)((int)ppGVar27 + -0x10) = src_id.first;
      *(undefined4 *)((int)ppGVar27 + -0x14) = 0xd3010;
      operator_delete(*(void **)((int)ppGVar27 + -0x10));
    }
    *(Icf **)((int)ppGVar27 + -0xc) = local_b0;
    src_id.first = (Relobj *)object;
    src_id.second = data_shndx;
    local_b0 = symtab->icf_;
    *(Reloc_info_list **)((int)ppGVar27 + -0x10) = &symtab->icf_->reloc_info_list_;
    *(undefined4 *)((int)ppGVar27 + -0x14) = 0xd2e84;
    local_c8 = std::__detail::
               _Map_base<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_gold::Icf::Reloc_info>,_std::allocator<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_gold::Icf::Reloc_info>_>,_std::__detail::_Select1st,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>,_true>
               ::operator[](*(_Map_base<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_gold::Icf::Reloc_info>,_std::allocator<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_gold::Icf::Reloc_info>_>,_std::__detail::_Select1st,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>,_true>
                              **)((int)ppGVar27 + -0x10),*(key_type **)((int)ppGVar27 + -0xc));
    unaff_ESI = (Sized_relobj_file<32,_false> *)&local_c8->addend_info;
    local_cc = &local_c8->symbol_info;
    local_ec = &local_c8->reloc_addend_size_info;
    local_e8 = (Addend_info *)unaff_ESI;
    local_d0 = &local_c8->offset_info;
    pPVar14 = *local_dc;
    local_d1 = '\x01';
  }
  if (pPVar14->options_ == (General_options *)0x0) {
    *(Sized_relobj_file<32,_false> **)((int)ppGVar27 + -4) = unaff_ESI;
    *(undefined ***)((int)ppGVar27 + -8) = local_b8 + -0x61176;
    *(undefined4 *)((int)ppGVar27 + -0xc) = 0x5c;
    *(int *)((int)ppGVar27 + -0x10) = (int)local_b8 + -0x1a1d93;
                    /* WARNING: Subroutine does not return */
                    /* try { // try from 000d2fe0 to 000d3000 has its CatchHandler @ 000d302c */
    *(undefined4 *)((int)ppGVar27 + -0x14) = 0xd2fe5;
    gold::do_gold_unreachable
              (*(char **)((int)ppGVar27 + -0x10),*(int *)((int)ppGVar27 + -0xc),
               *(char **)((int)ppGVar27 + -8));
  }
  local_d2 = false;
  if (pPVar14->options_->icf_status_ == ICF_SAFE) {
    *(Target_powerpc<32,_false> **)((int)ppGVar27 + -0x10) = this;
    *(undefined4 *)((int)ppGVar27 + -0x14) = 0xd2ceb;
    local_d2 = Target_powerpc<32,_true>::do_can_check_for_function_pointers
                         (*(Target_powerpc<32,_true> **)((int)ppGVar27 + -0x10));
    bVar34 = false;
    bVar36 = !local_d2;
    if (!bVar36) {
      iVar19 = 0xc;
      local_d2 = false;
      ppuVar28 = local_b8 + -0x66894;
      _Var33 = src_section_name._M_dataplus;
      do {
        if (iVar19 == 0) break;
        iVar19 = iVar19 + -1;
        bVar34 = *(byte *)ppuVar28 < (byte)*_Var33._M_p;
        bVar36 = *(byte *)ppuVar28 == *_Var33._M_p;
        ppuVar28 = (undefined **)((int)ppuVar28 + (uint)bVar37 * -2 + 1);
        _Var33._M_p = (pointer)((byte *)_Var33._M_p + (uint)bVar37 * -2 + 1);
      } while (bVar36);
      bVar35 = false;
      bVar34 = (!bVar34 && !bVar36) == bVar34;
      if (!bVar34) {
        iVar19 = 0x11;
        pbVar29 = (byte *)((int)local_b8 + -0x19a243);
        _Var33 = src_section_name._M_dataplus;
        do {
          if (iVar19 == 0) break;
          iVar19 = iVar19 + -1;
          bVar35 = *pbVar29 < (byte)*_Var33._M_p;
          bVar34 = *pbVar29 == *_Var33._M_p;
          pbVar29 = pbVar29 + (uint)bVar37 * -2 + 1;
          _Var33._M_p = (pointer)((byte *)_Var33._M_p + (uint)bVar37 * -2 + 1);
        } while (bVar34);
        bVar36 = false;
        bVar34 = (!bVar35 && !bVar34) == bVar35;
        if (!bVar34) {
          iVar19 = 0xc;
          pbVar29 = (byte *)((int)local_b8 + -0x19a231);
          _Var33 = src_section_name._M_dataplus;
          do {
            if (iVar19 == 0) break;
            iVar19 = iVar19 + -1;
            bVar36 = *pbVar29 < (byte)*_Var33._M_p;
            bVar34 = *pbVar29 == *_Var33._M_p;
            pbVar29 = pbVar29 + (uint)bVar37 * -2 + 1;
            _Var33._M_p = (pointer)((byte *)_Var33._M_p + (uint)bVar37 * -2 + 1);
          } while (bVar34);
          bVar35 = false;
          bVar34 = (!bVar36 && !bVar34) == bVar36;
          if (!bVar34) {
            iVar19 = 0x11;
            ppuVar28 = local_b8 + -0x66889;
            _Var33 = src_section_name._M_dataplus;
            do {
              if (iVar19 == 0) break;
              iVar19 = iVar19 + -1;
              bVar35 = *(byte *)ppuVar28 < (byte)*_Var33._M_p;
              bVar34 = *(byte *)ppuVar28 == *_Var33._M_p;
              ppuVar28 = (undefined **)((int)ppuVar28 + (uint)bVar37 * -2 + 1);
              _Var33._M_p = (pointer)((byte *)_Var33._M_p + (uint)bVar37 * -2 + 1);
            } while (bVar34);
            bVar36 = false;
            bVar34 = (!bVar35 && !bVar34) == bVar35;
            if (!bVar34) {
              iVar19 = 9;
              pbVar29 = (byte *)((int)local_b8 + -0x19a212);
              _Var33 = src_section_name._M_dataplus;
              do {
                if (iVar19 == 0) break;
                iVar19 = iVar19 + -1;
                bVar36 = *pbVar29 < (byte)*_Var33._M_p;
                bVar34 = *pbVar29 == *_Var33._M_p;
                pbVar29 = pbVar29 + (uint)bVar37 * -2 + 1;
                _Var33._M_p = (pointer)((byte *)_Var33._M_p + (uint)bVar37 * -2 + 1);
              } while (bVar34);
              local_d2 = (!bVar36 && !bVar34) != bVar36;
            }
          }
        }
      }
    }
  }
  if (reloc_count != 0) {
    local_d8 = (_func_int_varargs **)0x0;
    local_e0 = local_a4;
    local_e4 = 0;
    local_f4 = &__node_gen;
    do {
      uVar6 = *(uint *)(prelocs + 4);
      uVar31 = uVar6 & 0xff;
      uVar25 = uVar6 >> 8;
      local_bc = *(pointer *)(prelocs + 8);
      if (uVar25 < param_10) {
        if (plocal_symbols == (uchar *)0x0) {
          *(undefined ***)((int)ppGVar27 + -8) = local_b8 + -0x615ed;
          *(undefined4 *)((int)ppGVar27 + -0xc) = 0xea;
          *(int *)((int)ppGVar27 + -0x10) = (int)local_b8 + -0x19ca36;
                    /* WARNING: Subroutine does not return */
                    /* try { // try from 000d2f44 to 000d2fac has its CatchHandler @ 000d302c */
          *(undefined **)((int)ppGVar27 + -0x14) = &UNK_000d2f49;
          gold::do_gold_unreachable
                    (*(char **)((int)ppGVar27 + -0x10),*(int *)((int)ppGVar27 + -0xc),
                     *(char **)((int)ppGVar27 + -8));
        }
        local_b4 = (Relobj *)(uint)*(ushort *)(plocal_symbols + uVar25 * 0x10 + 0xe);
        if (local_b4 < (Relobj *)0xff00) {
LAB_000d24ee:
          pRVar24 = *(Relobj **)(plocal_symbols + uVar25 * 0x10 + 4);
          local_c4 = (int)&local_bc->first + (int)pRVar24;
          if (local_d1 != '\0') {
            src_id.first = (Relobj *)object;
            src_id.second = (uint)local_b4;
            *(Icf **)((int)ppGVar27 + -0xc) = (Icf *)&src_id;
            *(mapped_type **)((int)ppGVar27 + -0x10) = local_c8;
            local_b0 = (Icf *)&src_id;
            *(undefined4 *)((int)ppGVar27 + -0x14) = 0xd2533;
            std::
            vector<std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>
            ::emplace_back<std::pair<gold::Relobj*,_unsigned_int>_>
                      (*(vector<std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>
                         **)((int)ppGVar27 + -0x10),
                       *(pair<gold::Relobj*,_unsigned_int> **)((int)ppGVar27 + -0xc));
            local_c0 = (Output_segment *)CONCAT31(local_c0._1_3_,1);
            if ((plocal_symbols[uVar25 * 0x10 + 0xc] & 0xf) != 3) goto LAB_000d23e8;
LAB_000d254c:
            *(Icf **)((int)ppGVar27 + -0xc) = local_b0;
            *(Symbol_info **)((int)ppGVar27 + -0x10) = local_cc;
            src_id.first = (Relobj *)0xffffffff;
            *(undefined4 *)((int)ppGVar27 + -0x14) = 0xd2567;
            std::vector<gold::Symbol*,_std::allocator<gold::Symbol*>_>::emplace_back<gold::Symbol*>
                      (*(vector<gold::Symbol*,_std::allocator<gold::Symbol*>_> **)
                        ((int)ppGVar27 + -0x10),*(Symbol ***)((int)ppGVar27 + -0xc));
            goto LAB_000d2403;
          }
        }
        else {
          if (local_b4 == (Relobj *)0xffff) {
            pXVar16 = (object->super_Sized_relobj<32,_false>).super_Relobj.super_Object.xindex_;
            if (pXVar16 == (Xindex *)0x0) {
              pp_Var17 = (object->super_Sized_relobj<32,_false>).super_Relobj.super_Object.
                         _vptr_Object;
              *(Sized_relobj_file<32,_false> **)((int)ppGVar27 + -0x10) = object;
              p_Var4 = pp_Var17[0x1b];
              *(undefined4 *)((int)ppGVar27 + -0x14) = 0xd2a4e;
              pXVar16 = (Xindex *)(*p_Var4)();
              (object->super_Sized_relobj<32,_false>).super_Relobj.super_Object.xindex_ = pXVar16;
            }
            *(uint *)((int)ppGVar27 + -8) = uVar25;
            *(Sized_relobj_file<32,_false> **)((int)ppGVar27 + -0xc) = object;
            *(Xindex **)((int)ppGVar27 + -0x10) = pXVar16;
            *(undefined4 *)((int)ppGVar27 + -0x14) = 0xd2591;
            local_b4 = (Relobj *)
                       gold::Xindex::sym_xindex_to_shndx
                                 (*(Xindex **)((int)ppGVar27 + -0x10),
                                  *(Object **)((int)ppGVar27 + -0xc),*(uint *)((int)ppGVar27 + -8));
            goto LAB_000d24ee;
          }
          pRVar24 = *(Relobj **)(plocal_symbols + uVar25 * 0x10 + 4);
          local_c4 = (int)&(*(pointer *)(prelocs + 8))->first + (int)pRVar24;
          if (local_d1 == '\0') goto LAB_000d2489;
          src_id.first = (Relobj *)0x0;
          *(Icf **)((int)ppGVar27 + -0xc) = (Icf *)&src_id;
          *(mapped_type **)((int)ppGVar27 + -0x10) = local_c8;
          src_id.second = 0;
          local_b0 = (Icf *)&src_id;
                    /* try { // try from 000d23ca to 000d2bf5 has its CatchHandler @ 000d302c */
          *(undefined4 *)((int)ppGVar27 + -0x14) = 0xd23cf;
          std::
          vector<std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>
          ::emplace_back<std::pair<gold::Relobj*,_unsigned_int>_>
                    (*(vector<std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>
                       **)((int)ppGVar27 + -0x10),
                     *(pair<gold::Relobj*,_unsigned_int> **)((int)ppGVar27 + -0xc));
          local_c0 = (Output_segment *)((uint)local_c0 & 0xffffff00);
          if ((plocal_symbols[uVar25 * 0x10 + 0xc] & 0xf) == 3) goto LAB_000d254c;
LAB_000d23e8:
          *(Icf **)((int)ppGVar27 + -0xc) = local_b0;
          *(Symbol_info **)((int)ppGVar27 + -0x10) = local_cc;
          src_id.first = (Relobj *)0x0;
          *(undefined4 *)((int)ppGVar27 + -0x14) = 0xd2403;
          std::vector<gold::Symbol*,_std::allocator<gold::Symbol*>_>::emplace_back<gold::Symbol*>
                    (*(vector<gold::Symbol*,_std::allocator<gold::Symbol*>_> **)
                      ((int)ppGVar27 + -0x10),*(Symbol ***)((int)ppGVar27 + -0xc));
LAB_000d2403:
          src_id.first = pRVar24;
          *(Icf **)((int)ppGVar27 + -0xc) = local_b0;
          *(Addend_info **)((int)ppGVar27 + -0x10) = local_e8;
          local_2c = local_bc;
          src_id.second = 0;
          local_28._M_p = (pointer)((int)local_bc >> 0x1f);
          *(undefined4 *)((int)ppGVar27 + -0x14) = 0xd2433;
          std::
          vector<std::pair<long_long_int,_long_long_int>,_std::allocator<std::pair<long_long_int,_long_long_int>_>_>
          ::emplace_back<std::pair<long_long_int,_long_long_int>_>
                    (*(vector<std::pair<long_long_int,_long_long_int>,_std::allocator<std::pair<long_long_int,_long_long_int>_>_>
                       **)((int)ppGVar27 + -0x10),
                     *(pair<long_long_int,_long_long_int> **)((int)ppGVar27 + -0xc));
          src_id.second = 0;
          puVar5 = (local_d0->
                   super__Vector_base<long_long_unsigned_int,_std::allocator<long_long_unsigned_int>_>
                   )._M_impl._M_finish;
          src_id.first = *(Relobj **)prelocs;
          if (puVar5 == (local_d0->
                        super__Vector_base<long_long_unsigned_int,_std::allocator<long_long_unsigned_int>_>
                        )._M_impl._M_end_of_storage) {
            *(Icf **)((int)ppGVar27 + -8) = local_b0;
            *(pointer *)((int)ppGVar27 + -0xc) = puVar5;
            *(Offset_info **)((int)ppGVar27 + -0x10) = local_d0;
            *(undefined4 *)((int)ppGVar27 + -0x14) = 0xd2b0d;
            std::vector<long_long_unsigned_int,_std::allocator<long_long_unsigned_int>_>::
            _M_realloc_insert<long_long_unsigned_int_const&>
                      (*(vector<long_long_unsigned_int,_std::allocator<long_long_unsigned_int>_> **)
                        ((int)ppGVar27 + -0x10),(iterator)*(ulonglong **)((int)ppGVar27 + -0xc),
                       *(ulonglong **)((int)ppGVar27 + -8));
          }
          else {
            *(Relobj **)puVar5 = *(Relobj **)prelocs;
            *(undefined4 *)((int)puVar5 + 4) = 0;
            (local_d0->
            super__Vector_base<long_long_unsigned_int,_std::allocator<long_long_unsigned_int>_>).
            _M_impl._M_finish = puVar5 + 1;
          }
          dst_id.first = (Relobj *)0x0;
          *(Section_id **)((int)ppGVar27 + -0xc) = &dst_id;
          *(Reloc_addend_size_info **)((int)ppGVar27 + -0x10) = local_ec;
          *(undefined4 *)((int)ppGVar27 + -0x14) = 0xd2479;
          std::vector<unsigned_int,_std::allocator<unsigned_int>_>::emplace_back<unsigned_int>
                    (*(vector<unsigned_int,_std::allocator<unsigned_int>_> **)
                      ((int)ppGVar27 + -0x10),*(uint **)((int)ppGVar27 + -0xc));
          if ((char)local_c0 == '\0') goto LAB_000d2489;
        }
        if (((local_d2 != false) && ((plocal_symbols[uVar25 * 0x10 + 0xc] & 0xf) != 1)) &&
           ((0x17 < uVar31 || ((0x843f84U >> (uVar6 & 0x1f) & 1) == 0)))) {
          local_b0 = symtab->icf_;
          local_80 = object;
          local_7c = (uint)*(ushort *)(plocal_symbols + uVar25 * 0x10 + 0xe);
          *(undefined4 *)((int)ppGVar27 + -0xc) = 1;
          *(undefined4 *)((int)ppGVar27 + -0x10) = 0;
          __node_gen_2._M_h = (__hashtable_alloc *)&local_b0->fptr_section_id_;
          *(__node_gen_type **)((int)ppGVar27 + -0x14) = &__node_gen_2;
          *(Sized_relobj_file<32,_false> ***)((int)ppGVar27 + -0x18) = &local_80;
          *(__hashtable_alloc **)((int)ppGVar27 + -0x1c) = __node_gen_2._M_h;
          *(undefined1 **)((int)ppGVar27 + -0x20) = local_e0;
          *(undefined4 *)((int)ppGVar27 + -0x24) = 0xd2ad1;
          std::
          _Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>,_std::__detail::_Identity,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>
          ::
          _M_insert<std::pair<gold::Relobj*,_unsigned_int>,_std::__detail::_AllocNode<std::allocator<std::__detail::_Hash_node<std::pair<gold::Relobj*,_unsigned_int>,_true>_>_>_>
                    ();
          ppGVar27 = (General_options **)((int)ppGVar27 + -4);
        }
        if ((Relobj *)data_shndx != local_b4) {
          local_c0 = (Output_segment *)object;
          puVar26 = ppGVar27;
LAB_000d275e:
          if ((*local_dc)->options_ == (General_options *)0x0) {
            puVar26[-2] = local_b8 + -0x61176;
            puVar26[-3] = 0x5c;
            puVar26[-4] = (int)local_b8 + -0x1a1d93;
                    /* WARNING: Subroutine does not return */
            puVar26[-5] = 0xd2f6e;
            gold::do_gold_unreachable((char *)puVar26[-4],puVar26[-3],(char *)puVar26[-2]);
          }
          ppGVar27 = (General_options **)puVar26;
          if (((*local_dc)->options_->gc_sections_).value != false) {
            src_id_1.first = (Relobj *)object;
            p_Var1 = &(symtab->gc_->section_reloc_map_)._M_t._M_impl.super__Rb_tree_header;
            src_id_1.second = data_shndx;
            dst_id.first = (Relobj *)local_c0;
            dst_id.second = (uint)local_b4;
            p_Var8 = (symtab->gc_->section_reloc_map_)._M_t._M_impl.super__Rb_tree_header._M_header.
                     _M_parent;
            p_Var20 = &p_Var1->_M_header;
            if (p_Var8 == (_Base_ptr)0x0) {
LAB_000d27f0:
              puVar26[-4] = &local_88;
              local_88 = &src_id_1;
              puVar26[-5] = 0xd2811;
              std::
              _Rb_tree<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>,_std::_Select1st<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>_>,_std::less<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>_>_>
              ::
              _M_emplace_hint_unique<const_std::piecewise_construct_t&,_std::tuple<const_std::pair<gold::Relobj*,_unsigned_int>&>,_std::tuple<>_>
                        ((_Rb_tree<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>,_std::_Select1st<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>_>,_std::less<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>_>_>
                          *)puVar26[-4],(_Base_ptr)puVar26[-3],
                         (tuple<const_std::pair<gold::Relobj*,_unsigned_int>&> *)puVar26[-2],
                         (tuple<> *)puVar26[-1],(piecewise_construct_t *)*puVar26);
              p_Var21 = local_a8;
            }
            else {
              do {
                while ((p_Var21 = (_Rb_tree_header *)p_Var8,
                       object <= (Sized_relobj_file<32,_false> *)
                                 ((_Base_ptr)((int)p_Var21 + 0x10))->_M_color &&
                       ((object != (Sized_relobj_file<32,_false> *)
                                   ((_Base_ptr)((int)p_Var21 + 0x10))->_M_color ||
                        (data_shndx <= ((size_t *)((int)p_Var21 + 0x10))[1]))))) {
                  p_Var8 = (p_Var21->_M_header)._M_left;
                  p_Var20 = &p_Var21->_M_header;
                  if ((p_Var21->_M_header)._M_left == (_Base_ptr)0x0) goto LAB_000d27da;
                }
                pp_Var2 = &(p_Var21->_M_header)._M_right;
                p_Var8 = *pp_Var2;
                p_Var21 = (_Rb_tree_header *)p_Var20;
              } while (*pp_Var2 != (_Base_ptr)0x0);
LAB_000d27da:
              if (((p_Var1 == p_Var21) ||
                  (object < (Sized_relobj_file<32,_false> *)p_Var21->_M_node_count)) ||
                 ((object == (Sized_relobj_file<32,_false> *)p_Var21->_M_node_count &&
                  (data_shndx < *(uint *)(p_Var21 + 1))))) goto LAB_000d27f0;
            }
            __node_gen._M_h = (__hashtable_alloc *)((int)(p_Var21 + 1) + 4);
            puVar26[-3] = 1;
            puVar26[-4] = 0;
            puVar26[-5] = local_f4;
            puVar26[-6] = &dst_id;
            puVar26[-7] = __node_gen._M_h;
            puVar26[-8] = local_e0;
            puVar26[-9] = 0xd2840;
            std::
            _Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>,_std::__detail::_Identity,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>
            ::
            _M_insert<const_std::pair<gold::Relobj*,_unsigned_int>&,_std::__detail::_AllocNode<std::allocator<std::__detail::_Hash_node<std::pair<gold::Relobj*,_unsigned_int>,_true>_>_>_>
                      ();
            pTVar9 = (*local_dc)->target_;
            if (pTVar9 == (Target *)0x0) {
              puVar26[-3] = local_b8 + -0x615c4;
              puVar26[-4] = 0x73;
              puVar26[-5] = (int)local_b8 + -0x1a1d93;
                    /* WARNING: Subroutine does not return */
              puVar26[-6] = 0xd2fad;
              gold::do_gold_unreachable((char *)puVar26[-5],puVar26[-4],(char *)puVar26[-3]);
            }
            pp_Var17 = pTVar9->_vptr_Target;
            puVar26[-3] = local_c4;
            puVar26[-4] = local_b4;
            puVar26[-5] = local_c0;
            puVar26[-6] = data_shndx;
            puVar26[-7] = object;
            puVar26[-8] = symtab;
            puVar26[-9] = pTVar9;
            p_Var4 = pp_Var17[0x41];
            puVar26[-10] = 0xd287d;
            (*p_Var4)();
            pp_Var17 = local_d8;
            ppGVar27 = (General_options **)(puVar26 + -1);
            if (local_d8 != (_func_int_varargs **)0x0) {
              local_b4 = (Relobj *)&local_2c;
              pGVar10 = symtab->gc_;
              puVar26[-5] = local_d8;
              local_b0 = (Icf *)&src_id;
              src_id.first = (Relobj *)&local_2c;
              puVar26[-6] = 0xd28bd;
              sVar15 = strlen((char *)puVar26[-5]);
              pIVar12 = local_b0;
              puVar26[-2] = 0;
              puVar26[-3] = (byte *)((int)pp_Var17 + sVar15);
              puVar26[-4] = pp_Var17;
              puVar26[-5] = local_b0;
              puVar26[-6] = 0xd28d2;
              std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::
              _M_construct<char_const*>();
              puVar26[-3] = pIVar12;
              puVar26[-4] = &pGVar10->cident_sections_;
              puVar26[-5] = &local_ac;
              puVar26[-6] = 0xd28e6;
              std::
              _Rb_tree<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>,_std::_Select1st<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>_>,_std::less<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::allocator<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>_>_>
              ::find((_Rb_tree<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>,_std::_Select1st<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>_>,_std::less<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::allocator<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>_>_>
                      *)puVar26[-5],
                     (basic_string<char,_std::char_traits<char>,_std::allocator<char>_> *)
                     puVar26[-4]);
              puVar13 = local_ac;
              if (src_id.first != local_b4) {
                puVar26[-6] = src_id.first;
                puVar26[-7] = 0xd2909;
                operator_delete((void *)puVar26[-6]);
              }
              ppGVar27 = (General_options **)(puVar26 + -2);
              pGVar10 = symtab->gc_;
              if ((_Rb_tree_header *)puVar13 !=
                  &(pGVar10->cident_sections_)._M_t._M_impl.super__Rb_tree_header) {
                p_Var1 = &(pGVar10->section_reloc_map_)._M_t._M_impl.super__Rb_tree_header;
                src_id.first = (Relobj *)object;
                src_id.second = data_shndx;
                p_Var8 = (pGVar10->section_reloc_map_)._M_t._M_impl.super__Rb_tree_header._M_header.
                         _M_parent;
                p_Var20 = &p_Var1->_M_header;
                if (p_Var8 == (_Base_ptr)0x0) {
LAB_000d2bd8:
                  puVar26[-6] = &local_84;
                  local_84 = local_b0;
                  puVar26[-7] = 0xd2bf6;
                  std::
                  _Rb_tree<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>,_std::_Select1st<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>_>,_std::less<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>_>_>
                  ::
                  _M_emplace_hint_unique<const_std::piecewise_construct_t&,_std::tuple<const_std::pair<gold::Relobj*,_unsigned_int>&>,_std::tuple<>_>
                            ((_Rb_tree<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>,_std::_Select1st<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>_>,_std::less<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>_>_>
                              *)puVar26[-6],(_Base_ptr)puVar26[-5],
                             (tuple<const_std::pair<gold::Relobj*,_unsigned_int>&> *)puVar26[-4],
                             (tuple<> *)puVar26[-3],(piecewise_construct_t *)puVar26[-2]);
                  p_Var21 = local_a8;
                }
                else {
                  do {
                    while ((p_Var21 = (_Rb_tree_header *)p_Var8,
                           object <= (Sized_relobj_file<32,_false> *)
                                     ((_Base_ptr)((int)p_Var21 + 0x10))->_M_color &&
                           ((object != (Sized_relobj_file<32,_false> *)
                                       ((_Base_ptr)((int)p_Var21 + 0x10))->_M_color ||
                            (data_shndx <= ((size_t *)((int)p_Var21 + 0x10))[1]))))) {
                      p_Var8 = (p_Var21->_M_header)._M_left;
                      p_Var20 = &p_Var21->_M_header;
                      if ((p_Var21->_M_header)._M_left == (_Base_ptr)0x0) goto LAB_000d2962;
                    }
                    pp_Var2 = &(p_Var21->_M_header)._M_right;
                    p_Var8 = *pp_Var2;
                    p_Var21 = (_Rb_tree_header *)p_Var20;
                  } while (*pp_Var2 != (_Base_ptr)0x0);
LAB_000d2962:
                  if (((p_Var21 == p_Var1) ||
                      (object < (Sized_relobj_file<32,_false> *)p_Var21->_M_node_count)) ||
                     ((object == (Sized_relobj_file<32,_false> *)p_Var21->_M_node_count &&
                      (data_shndx < *(uint *)(p_Var21 + 1))))) goto LAB_000d2bd8;
                }
                ppGVar27 = (General_options **)(puVar26 + -2);
                puVar26 = puVar26 + -2;
                for (puVar11 = *(undefined4 **)(puVar13 + 0x30); puVar11 != (undefined4 *)0x0;
                    puVar11 = (undefined4 *)*puVar11) {
                  *(undefined4 *)((int)puVar26 + -0xc) = 1;
                  *(undefined4 *)((int)puVar26 + -0x10) = 0;
                  *(__node_gen_type **)((int)puVar26 + -0x14) = &__node_gen_1;
                  *(undefined4 **)((int)puVar26 + -0x18) = puVar11 + 1;
                  *(int *)((int)puVar26 + -0x1c) = (int)(p_Var21 + 1) + 4;
                  *(undefined1 **)((int)puVar26 + -0x20) = local_e0;
                  *(undefined4 *)((int)puVar26 + -0x24) = 0xd29ae;
                  __node_gen_1._M_h = (__hashtable_alloc *)((int)(p_Var21 + 1) + 4);
                  std::
                  _Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>,_std::__detail::_Identity,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>
                  ::
                  _M_insert<const_std::pair<gold::Relobj*,_unsigned_int>&,_std::__detail::_AllocNode<std::allocator<std::__detail::_Hash_node<std::pair<gold::Relobj*,_unsigned_int>,_true>_>_>_>
                            ();
                  ppGVar27 = (General_options **)((int)puVar26 + -4);
                  puVar26 = (undefined4 *)((int)puVar26 + -4);
                }
              }
            }
          }
        }
      }
      else {
        if (uVar25 < object->local_symbol_count_) {
          src_id_1.first = (Relobj *)0x0;
LAB_000d2a1f:
          *(undefined ***)((int)ppGVar27 + -8) = local_b8 + -0x615ed;
          *(undefined4 *)((int)ppGVar27 + -0xc) = 0x11c;
          *(int *)((int)ppGVar27 + -0x10) = (int)local_b8 + -0x19ca36;
                    /* WARNING: Subroutine does not return */
          *(undefined4 *)((int)ppGVar27 + -0x14) = 0xd2a40;
          gold::do_gold_unreachable
                    (*(char **)((int)ppGVar27 + -0x10),*(int *)((int)ppGVar27 + -0xc),
                     *(char **)((int)ppGVar27 + -8));
        }
        uVar25 = uVar25 - object->local_symbol_count_;
        ppSVar7 = (object->symbols_).
                  super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl._M_start
        ;
        local_b0 = (Icf *)(object->symbols_).
                          super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.
                          _M_finish;
        if ((uint)((int)local_b0 - (int)ppSVar7 >> 2) <= uVar25) {
          *(undefined ***)((int)ppGVar27 + -8) = local_b8 + -0x6156c;
          *(undefined4 *)((int)ppGVar27 + -0xc) = 0x8ad;
          *(int *)((int)ppGVar27 + -0x10) = (int)local_b8 + -0x19cc7b;
                    /* WARNING: Subroutine does not return */
          *(undefined4 *)((int)ppGVar27 + -0x14) = 0xd2f8f;
          gold::do_gold_unreachable
                    (*(char **)((int)ppGVar27 + -0x10),*(int *)((int)ppGVar27 + -0xc),
                     *(char **)((int)ppGVar27 + -8));
        }
        src_id_1.first = (Relobj *)ppSVar7[uVar25];
        if (src_id_1.first == (Relobj *)0x0) goto LAB_000d2a1f;
        if ((((src_id_1.first)->super_Object).shnum_ & 0x100000) == 0) {
          if ((((src_id_1.first)->super_Object).shnum_ & 0x70000) != 0) goto LAB_000d29e2;
LAB_000d25f7:
          local_f0 = (Relobj *)((src_id_1.first)->super_Object).xindex_;
          local_c0 = ((anon_union_4_3_b0f6f408_for_u1_ *)
                     &((src_id_1.first)->super_Object).name_._M_string_length)->output_segment;
          local_c4 = (int)&local_bc->first + (int)local_f0;
          if (((uint)local_c0->output_lists_[3].
                     super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>.
                     _M_impl._M_end_of_storage & 1) == 0) {
            local_b4 = (Relobj *)
                       ((src_id_1.first)->super_Object).name_.field_2._M_allocated_capacity;
            bVar22 = (byte)((src_id_1.first)->super_Object).shnum_ & 0xf;
            bVar23 = *(byte *)((int)&((src_id_1.first)->super_Object).shnum_ + 3) >> 5 & 1;
            bVar34 = bVar22 < 2;
            bVar36 = bVar22 == 2;
            if (bVar36) {
              bVar34 = false;
              bVar36 = local_d2 == false;
              if ((!bVar36) &&
                 (((bVar23 == 0 || (bVar36 = uVar31 == 0x17, 0x17 < uVar31)) ||
                  (bVar34 = (0x843f84U >> (uVar6 & 0x1f) & 1) != 0, !bVar34)))) {
                local_b0 = symtab->icf_;
                *(undefined4 *)((int)ppGVar27 + -0xc) = 1;
                *(undefined4 *)((int)ppGVar27 + -0x10) = 0;
                *(__node_gen_type **)((int)ppGVar27 + -0x14) = &__node_gen_3;
                *(Output_segment ***)((int)ppGVar27 + -0x18) = &local_78;
                __node_gen_3._M_h = (__hashtable_alloc *)&local_b0->fptr_section_id_;
                *(__hashtable_alloc **)((int)ppGVar27 + -0x1c) = __node_gen_3._M_h;
                *(undefined1 **)((int)ppGVar27 + -0x20) = local_e0;
                    /* try { // try from 000d2cc6 to 000d2cca has its CatchHandler @ 000d302c */
                *(undefined4 *)((int)ppGVar27 + -0x24) = 0xd2ccb;
                local_78 = local_c0;
                local_74 = local_b4;
                std::
                _Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>,_std::__detail::_Identity,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>
                ::
                _M_insert<std::pair<gold::Relobj*,_unsigned_int>,_std::__detail::_AllocNode<std::allocator<std::__detail::_Hash_node<std::pair<gold::Relobj*,_unsigned_int>,_true>_>_>_>
                          ();
                bVar34 = (undefined1 *)0xffffffe3 < (undefined1 *)((int)ppGVar27 + -0x20);
                bVar36 = ppGVar27 == (General_options **)0x4;
                ppGVar27 = (General_options **)((int)ppGVar27 + -4);
              }
            }
          }
          else {
            local_b4 = (Relobj *)0x0;
            bVar34 = false;
            bVar23 = 0;
            bVar36 = true;
            local_c0 = (Output_segment *)0x0;
          }
        }
        else {
          *(Relobj **)((int)ppGVar27 + -0xc) = src_id_1.first;
          *(Symbol_table **)((int)ppGVar27 + -0x10) = symtab;
          *(undefined4 *)((int)ppGVar27 + -0x14) = 0xd29d2;
          src_id_1.first =
               (Relobj *)
               gold::Symbol_table::resolve_forwards
                         (*(Symbol_table **)((int)ppGVar27 + -0x10),
                          *(Symbol **)((int)ppGVar27 + -0xc));
          if ((((src_id_1.first)->super_Object).shnum_ & 0x70000) == 0) goto LAB_000d25f7;
LAB_000d29e2:
          local_f0 = (Relobj *)((src_id_1.first)->super_Object).xindex_;
          bVar23 = 0;
          local_b4 = (Relobj *)0x0;
          local_c0 = (Output_segment *)0x0;
          bVar34 = CARRY4((uint)local_bc,(uint)local_f0);
          local_c4 = (int)&local_bc->first + (int)local_f0;
          bVar36 = local_c4 == 0;
        }
        pp_Var17 = ((src_id_1.first)->super_Object)._vptr_Object;
        iVar19 = 8;
        pbVar29 = (byte *)((int)local_b8 + -0x19ca26);
        pp_Var32 = pp_Var17;
        do {
          if (iVar19 == 0) break;
          iVar19 = iVar19 + -1;
          bVar34 = *pbVar29 < *(byte *)pp_Var32;
          bVar36 = *pbVar29 == *(byte *)pp_Var32;
          pbVar29 = pbVar29 + (uint)bVar37 * -2 + 1;
          pp_Var32 = (_func_int_varargs **)((int)pp_Var32 + (uint)bVar37 * -2 + 1);
        } while (bVar36);
        bVar35 = false;
        bVar34 = (!bVar34 && !bVar36) == bVar34;
        if (bVar34) {
          local_d8 = pp_Var17 + 2;
        }
        else {
          iVar19 = 7;
          pbVar29 = (byte *)((int)local_b8 + -0x19ca1d);
          pp_Var32 = pp_Var17;
          do {
            if (iVar19 == 0) break;
            iVar19 = iVar19 + -1;
            bVar35 = *pbVar29 < *(byte *)pp_Var32;
            bVar34 = *pbVar29 == *(byte *)pp_Var32;
            pbVar29 = pbVar29 + (uint)bVar37 * -2 + 1;
            pp_Var32 = (_func_int_varargs **)((int)pp_Var32 + (uint)bVar37 * -2 + 1);
          } while (bVar34);
          pp_Var17 = (_func_int_varargs **)((int)pp_Var17 + 7);
          if ((!bVar35 && !bVar34) != bVar35) {
            pp_Var17 = local_d8;
          }
          local_d8 = pp_Var17;
        }
        if (local_d1 != '\0') {
          if (bVar23 == 0) {
            src_id.first = (Relobj *)0x0;
            src_id.second = 0;
          }
          else {
            src_id.first = (Relobj *)local_c0;
            src_id.second = (uint)local_b4;
          }
          *(Icf **)((int)ppGVar27 + -0xc) = (Icf *)&src_id;
          *(mapped_type **)((int)ppGVar27 + -0x10) = local_c8;
          local_b0 = (Icf *)&src_id;
          *(undefined4 *)((int)ppGVar27 + -0x14) = 0xd26b9;
          std::
          vector<std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>
          ::emplace_back<std::pair<gold::Relobj*,_unsigned_int>_>
                    (*(vector<std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>
                       **)((int)ppGVar27 + -0x10),
                     *(pair<gold::Relobj*,_unsigned_int> **)((int)ppGVar27 + -0xc));
          ppSVar7 = (local_cc->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>).
                    _M_impl._M_finish;
          if (ppSVar7 ==
              (local_cc->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>)._M_impl.
              _M_end_of_storage) {
            *(Section_id **)((int)ppGVar27 + -8) = &src_id_1;
            *(pointer *)((int)ppGVar27 + -0xc) = ppSVar7;
            *(Symbol_info **)((int)ppGVar27 + -0x10) = local_cc;
            *(undefined4 *)((int)ppGVar27 + -0x14) = 0xd2b4b;
            std::vector<gold::Symbol*,_std::allocator<gold::Symbol*>_>::
            _M_realloc_insert<gold::Symbol*_const&>
                      (*(vector<gold::Symbol*,_std::allocator<gold::Symbol*>_> **)
                        ((int)ppGVar27 + -0x10),(iterator)*(Symbol ***)((int)ppGVar27 + -0xc),
                       *(Symbol ***)((int)ppGVar27 + -8));
          }
          else {
            *ppSVar7 = (Symbol *)src_id_1.first;
            (local_cc->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>)._M_impl.
            _M_finish = ppSVar7 + 1;
          }
          *(Icf **)((int)ppGVar27 + -0xc) = local_b0;
          *(Addend_info **)((int)ppGVar27 + -0x10) = local_e8;
          src_id.first = local_f0;
          src_id.second = 0;
          local_2c = local_bc;
          local_28._M_p = (pointer)((int)local_bc >> 0x1f);
          *(undefined4 *)((int)ppGVar27 + -0x14) = 0xd270d;
          std::
          vector<std::pair<long_long_int,_long_long_int>,_std::allocator<std::pair<long_long_int,_long_long_int>_>_>
          ::emplace_back<std::pair<long_long_int,_long_long_int>_>
                    (*(vector<std::pair<long_long_int,_long_long_int>,_std::allocator<std::pair<long_long_int,_long_long_int>_>_>
                       **)((int)ppGVar27 + -0x10),
                     *(pair<long_long_int,_long_long_int> **)((int)ppGVar27 + -0xc));
          src_id.second = 0;
          puVar5 = (local_d0->
                   super__Vector_base<long_long_unsigned_int,_std::allocator<long_long_unsigned_int>_>
                   )._M_impl._M_finish;
          src_id.first = *(Relobj **)prelocs;
          if (puVar5 == (local_d0->
                        super__Vector_base<long_long_unsigned_int,_std::allocator<long_long_unsigned_int>_>
                        )._M_impl._M_end_of_storage) {
            *(Icf **)((int)ppGVar27 + -8) = local_b0;
            *(pointer *)((int)ppGVar27 + -0xc) = puVar5;
            *(Offset_info **)((int)ppGVar27 + -0x10) = local_d0;
            *(undefined4 *)((int)ppGVar27 + -0x14) = 0xd2bbd;
            std::vector<long_long_unsigned_int,_std::allocator<long_long_unsigned_int>_>::
            _M_realloc_insert<long_long_unsigned_int_const&>
                      (*(vector<long_long_unsigned_int,_std::allocator<long_long_unsigned_int>_> **)
                        ((int)ppGVar27 + -0x10),(iterator)*(ulonglong **)((int)ppGVar27 + -0xc),
                       *(ulonglong **)((int)ppGVar27 + -8));
          }
          else {
            *(Relobj **)puVar5 = *(Relobj **)prelocs;
            *(undefined4 *)((int)puVar5 + 4) = 0;
            (local_d0->
            super__Vector_base<long_long_unsigned_int,_std::allocator<long_long_unsigned_int>_>).
            _M_impl._M_finish = puVar5 + 1;
          }
          dst_id.first = (Relobj *)0x0;
          *(Section_id **)((int)ppGVar27 + -0xc) = &dst_id;
          *(Reloc_addend_size_info **)((int)ppGVar27 + -0x10) = local_ec;
          *(undefined4 *)((int)ppGVar27 + -0x14) = 0xd2753;
          std::vector<unsigned_int,_std::allocator<unsigned_int>_>::emplace_back<unsigned_int>
                    (*(vector<unsigned_int,_std::allocator<unsigned_int>_> **)
                      ((int)ppGVar27 + -0x10),*(uint **)((int)ppGVar27 + -0xc));
        }
        puVar26 = ppGVar27;
        if (bVar23 != 0) goto LAB_000d275e;
      }
LAB_000d2489:
      local_e4 = local_e4 + 1;
      prelocs = prelocs + 0xc;
    } while (reloc_count != local_e4);
  }
  if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9
       *)src_section_name._M_dataplus._M_p != local_f8) {
    *(pointer *)((int)ppGVar27 + -0x10) = src_section_name._M_dataplus._M_p;
    *(undefined4 *)((int)ppGVar27 + -0x14) = 0xd2c22;
    operator_delete(*(void **)((int)ppGVar27 + -0x10));
  }
  return;
}



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

void FUN_000d2220(undefined4 param_1,int param_2,undefined4 param_3,undefined **param_4,
                 undefined **param_5,undefined4 param_6,undefined4 *param_7,int param_8,
                 undefined4 param_9,undefined4 param_10,undefined *param_11,int param_12)

{
  undefined4 *puVar1;
  uint uVar2;
  int iVar3;
  code *pcVar4;
  undefined ***pppuVar5;
  size_t sVar6;
  undefined *puVar7;
  undefined4 uVar8;
  byte *pbVar9;
  int iVar10;
  int iVar11;
  int iVar12;
  byte bVar13;
  undefined **ppuVar14;
  undefined *puVar15;
  uint uVar16;
  undefined1 *puVar17;
  int *piVar18;
  undefined **unaff_ESI;
  int iVar19;
  byte *pbVar20;
  uint uVar21;
  byte *pbVar22;
  undefined **ppuVar23;
  bool bVar24;
  bool bVar25;
  bool bVar26;
  byte bVar27;
  int iStack_100;
  undefined1 auStack_fc [4];
  byte *local_f8;
  int *local_f4;
  undefined **local_f0;
  int local_ec;
  undefined **local_e8;
  int local_e4;
  undefined1 *local_e0;
  int *local_dc;
  byte *local_d8;
  char local_d2;
  char local_d1;
  int local_d0;
  int local_cc;
  int local_c8;
  undefined *local_c4;
  undefined **local_c0;
  undefined *local_bc;
  undefined **local_b8;
  undefined **local_b4;
  undefined ***local_b0;
  int local_ac;
  int local_a8;
  undefined1 local_a4 [12];
  undefined ***local_98;
  undefined ***local_94;
  int local_90;
  int local_8c;
  undefined ***local_88;
  undefined ***local_84;
  undefined **local_80;
  uint local_7c;
  undefined **local_78;
  undefined **local_74;
  undefined **local_70;
  undefined **local_6c;
  undefined **local_68;
  undefined **local_64;
  int local_60;
  int local_5c;
  undefined4 local_58;
  undefined4 local_54;
  undefined1 local_50;
  byte *local_4c [2];
  byte local_44 [16];
  undefined **local_34;
  undefined **local_30;
  undefined *local_2c;
  int local_28;
  
  bVar27 = 0;
  local_b8 = &__DT_PLTGOT;
  local_dc = &DAT_005ea7c8;
  local_60 = 0;
  local_5c = 0;
  iVar19 = *(int *)(DAT_005ea7c8 + 8);
  local_58 = 0;
  local_54 = 0;
  local_50 = 0;
  if (iVar19 == 0) {
    iStack_100 = iVar19;
                    /* WARNING: Subroutine does not return */
                    /* try { // try from 000d2fc4 to 000d2fc8 has its CatchHandler @ 000d3025 */
    FUN_002446e0("../../gold/parameters.h",0x5c,"options");
  }
  if (*(int *)(iVar19 + 0x5934) == 0) {
    local_f8 = local_44;
    iStack_100 = 0;
    local_4c[0] = local_f8;
                    /* try { // try from 000d2dc0 to 000d2dc4 has its CatchHandler @ 000d3025 */
    FUN_00072b90(local_4c,"","");
    piVar18 = (int *)auStack_fc;
  }
  else {
    unaff_ESI = &__DT_PLTGOT;
    if (*(code **)(*param_4 + 0x40) == FUN_00106550) {
                    /* try { // try from 000d22b3 to 000d22b7 has its CatchHandler @ 000d3025 */
      FUN_001063c0(local_4c,param_4 + 0x24,param_5);
      unaff_ESI = param_4;
    }
    else {
                    /* try { // try from 000d2f05 to 000d2f06 has its CatchHandler @ 000d3025 */
      (**(code **)(*param_4 + 0x40))(local_4c,param_4,param_5);
    }
    local_f8 = local_44;
    piVar18 = &iStack_100;
  }
  pbVar20 = local_4c[0];
  iVar19 = *local_dc;
  if (*(int *)(iVar19 + 8) == 0) {
    *(int *)((int)piVar18 + -4) = iVar19;
    *(undefined ***)((int)piVar18 + -8) = local_b8 + -0x61176;
    *(undefined4 *)((int)piVar18 + -0xc) = 0x5c;
    *(int *)((int)piVar18 + -0x10) = (int)local_b8 + -0x1a1d93;
                    /* WARNING: Subroutine does not return */
    *(undefined4 *)((int)piVar18 + -0x14) = 0xd3001;
    FUN_002446e0();
  }
  if (*(int *)(*(int *)(iVar19 + 8) + 0x5934) == 0) {
LAB_000d22e5:
    local_d1 = '\0';
    local_ec = 0;
    local_d0 = 0;
    local_e8 = (undefined **)0x0;
    local_cc = 0;
    local_c8 = 0;
  }
  else {
    local_b4 = &local_2c;
    local_34 = local_b4;
    pbVar9 = (byte *)0xffffffff;
    if (local_4c[0] != (byte *)0x0) {
      *(byte **)((int)piVar18 + -0x10) = local_4c[0];
      *(undefined4 *)((int)piVar18 + -0x14) = 0xd2df7;
      sVar6 = strlen(*(char **)((int)piVar18 + -0x10));
      pbVar9 = pbVar20 + sVar6;
    }
    *(undefined4 *)((int)piVar18 + -4) = 0;
    *(byte **)((int)piVar18 + -8) = pbVar9;
    local_b0 = &local_34;
    *(byte **)((int)piVar18 + -0xc) = pbVar20;
    *(undefined ****)((int)piVar18 + -0x10) = local_b0;
                    /* try { // try from 000d2e0a to 000d2e83 has its CatchHandler @ 000d302c */
    *(undefined4 *)((int)piVar18 + -0x14) = 0xd2e0f;
    FUN_00072b90();
    iVar19 = 5;
    bVar24 = (undefined1 *)0xffffffef < (undefined1 *)((int)piVar18 + -0x10);
    bVar26 = piVar18 == (int *)0x0;
    ppuVar14 = local_b8 + -0x67293;
    ppuVar23 = local_34;
    do {
      if (iVar19 == 0) break;
      iVar19 = iVar19 + -1;
      bVar24 = *(byte *)ppuVar14 < *(byte *)ppuVar23;
      bVar26 = *(byte *)ppuVar14 == *(byte *)ppuVar23;
      ppuVar14 = (undefined **)((int)ppuVar14 + (uint)bVar27 * -2 + 1);
      ppuVar23 = (undefined **)((int)ppuVar23 + (uint)bVar27 * -2 + 1);
    } while (bVar26);
    bVar25 = false;
    bVar24 = (!bVar24 && !bVar26) == bVar24;
    if (!bVar24) {
      iVar19 = 0xf;
      ppuVar14 = (undefined **)((int)local_b8 + -0x19ca46);
      ppuVar23 = local_34;
      do {
        unaff_ESI = ppuVar14;
        if (iVar19 == 0) break;
        iVar19 = iVar19 + -1;
        unaff_ESI = (undefined **)((int)ppuVar14 + (uint)bVar27 * -2 + 1);
        bVar25 = *(byte *)ppuVar14 < *(byte *)ppuVar23;
        bVar24 = *(byte *)ppuVar14 == *(byte *)ppuVar23;
        ppuVar14 = unaff_ESI;
        ppuVar23 = (undefined **)((int)ppuVar23 + (uint)bVar27 * -2 + 1);
      } while (bVar24);
      if ((!bVar25 && !bVar24) != bVar25) {
        if (local_34 == local_b4) {
          iVar19 = *local_dc;
        }
        else {
          *(undefined ***)((int)piVar18 + -0x10) = local_34;
          *(undefined4 *)((int)piVar18 + -0x14) = 0xd2ee3;
          FUN_003ae080();
          iVar19 = *local_dc;
        }
        goto LAB_000d22e5;
      }
    }
    if (local_34 != local_b4) {
      *(undefined ***)((int)piVar18 + -0x10) = local_34;
      *(undefined4 *)((int)piVar18 + -0x14) = 0xd3010;
      FUN_003ae080();
    }
    *(undefined ****)((int)piVar18 + -0xc) = local_b0;
    local_34 = param_4;
    local_30 = param_5;
    local_b0 = *(undefined ****)(param_2 + 0x15c);
    *(undefined ****)((int)piVar18 + -0x10) = local_b0 + 0x15;
    *(undefined4 *)((int)piVar18 + -0x14) = 0xd2e84;
    local_c8 = FUN_00074520();
    local_cc = local_c8 + 0xc;
    unaff_ESI = (undefined **)(local_c8 + 0x18);
    local_d0 = local_c8 + 0x24;
    local_ec = local_c8 + 0x30;
    iVar19 = *local_dc;
    local_d1 = '\x01';
    local_e8 = unaff_ESI;
  }
  if (*(int *)(iVar19 + 8) == 0) {
    *(undefined ***)((int)piVar18 + -4) = unaff_ESI;
    *(undefined ***)((int)piVar18 + -8) = local_b8 + -0x61176;
    *(undefined4 *)((int)piVar18 + -0xc) = 0x5c;
    *(int *)((int)piVar18 + -0x10) = (int)local_b8 + -0x1a1d93;
                    /* WARNING: Subroutine does not return */
                    /* try { // try from 000d2fe0 to 000d3000 has its CatchHandler @ 000d302c */
    *(undefined4 *)((int)piVar18 + -0x14) = 0xd2fe5;
    FUN_002446e0();
  }
  local_d2 = '\0';
  if (*(int *)(*(int *)(iVar19 + 8) + 0x5934) == 2) {
    *(undefined4 *)((int)piVar18 + -0x10) = param_1;
    *(undefined4 *)((int)piVar18 + -0x14) = 0xd2ceb;
    local_d2 = FUN_000aaa70();
    bVar24 = false;
    bVar26 = local_d2 == '\0';
    if (!bVar26) {
      iVar19 = 0xc;
      local_d2 = '\0';
      ppuVar14 = local_b8 + -0x66894;
      pbVar20 = local_4c[0];
      do {
        if (iVar19 == 0) break;
        iVar19 = iVar19 + -1;
        bVar24 = *(byte *)ppuVar14 < *pbVar20;
        bVar26 = *(byte *)ppuVar14 == *pbVar20;
        ppuVar14 = (undefined **)((int)ppuVar14 + (uint)bVar27 * -2 + 1);
        pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;
      } while (bVar26);
      bVar25 = false;
      bVar24 = (!bVar24 && !bVar26) == bVar24;
      if (!bVar24) {
        iVar19 = 0x11;
        pbVar20 = (byte *)((int)local_b8 + -0x19a243);
        pbVar9 = local_4c[0];
        do {
          if (iVar19 == 0) break;
          iVar19 = iVar19 + -1;
          bVar25 = *pbVar20 < *pbVar9;
          bVar24 = *pbVar20 == *pbVar9;
          pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;
          pbVar9 = pbVar9 + (uint)bVar27 * -2 + 1;
        } while (bVar24);
        bVar26 = false;
        bVar24 = (!bVar25 && !bVar24) == bVar25;
        if (!bVar24) {
          iVar19 = 0xc;
          pbVar20 = (byte *)((int)local_b8 + -0x19a231);
          pbVar9 = local_4c[0];
          do {
            if (iVar19 == 0) break;
            iVar19 = iVar19 + -1;
            bVar26 = *pbVar20 < *pbVar9;
            bVar24 = *pbVar20 == *pbVar9;
            pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;
            pbVar9 = pbVar9 + (uint)bVar27 * -2 + 1;
          } while (bVar24);
          bVar25 = false;
          bVar24 = (!bVar26 && !bVar24) == bVar26;
          if (!bVar24) {
            iVar19 = 0x11;
            ppuVar14 = local_b8 + -0x66889;
            pbVar20 = local_4c[0];
            do {
              if (iVar19 == 0) break;
              iVar19 = iVar19 + -1;
              bVar25 = *(byte *)ppuVar14 < *pbVar20;
              bVar24 = *(byte *)ppuVar14 == *pbVar20;
              ppuVar14 = (undefined **)((int)ppuVar14 + (uint)bVar27 * -2 + 1);
              pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;
            } while (bVar24);
            bVar26 = false;
            bVar24 = (!bVar25 && !bVar24) == bVar25;
            if (!bVar24) {
              iVar19 = 9;
              pbVar20 = (byte *)((int)local_b8 + -0x19a212);
              pbVar9 = local_4c[0];
              do {
                if (iVar19 == 0) break;
                iVar19 = iVar19 + -1;
                bVar26 = *pbVar20 < *pbVar9;
                bVar24 = *pbVar20 == *pbVar9;
                pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;
                pbVar9 = pbVar9 + (uint)bVar27 * -2 + 1;
              } while (bVar24);
              local_d2 = (!bVar26 && !bVar24) != bVar26;
            }
          }
        }
      }
    }
  }
  if (param_8 != 0) {
    local_d8 = (byte *)0x0;
    local_e0 = local_a4;
    local_f4 = &local_8c;
    local_e4 = 0;
    do {
      uVar2 = param_7[1];
      uVar21 = uVar2 & 0xff;
      puVar15 = (undefined *)(uVar2 >> 8);
      local_bc = (undefined *)param_7[2];
      if (puVar15 < param_11) {
        if (param_12 == 0) {
          *(undefined ***)((int)piVar18 + -8) = local_b8 + -0x615ed;
          *(undefined4 *)((int)piVar18 + -0xc) = 0xea;
          *(int *)((int)piVar18 + -0x10) = (int)local_b8 + -0x19ca36;
                    /* WARNING: Subroutine does not return */
                    /* try { // try from 000d2f44 to 000d2fac has its CatchHandler @ 000d302c */
          *(undefined **)((int)piVar18 + -0x14) = &UNK_000d2f49;
          FUN_002446e0();
        }
        iVar19 = (int)puVar15 * 0x10 + param_12;
        local_b4 = (undefined **)(uint)*(ushort *)(iVar19 + 0xe);
        if (local_b4 < (undefined **)0xff00) {
LAB_000d24ee:
          ppuVar14 = *(undefined ***)(iVar19 + 4);
          local_c4 = local_bc + (int)ppuVar14;
          if (local_d1 != '\0') {
            local_34 = param_4;
            local_30 = local_b4;
            local_b0 = &local_34;
            *(undefined ****)((int)piVar18 + -0xc) = local_b0;
            *(int *)((int)piVar18 + -0x10) = local_c8;
            *(undefined4 *)((int)piVar18 + -0x14) = 0xd2533;
            FUN_00073b00();
            local_c0 = (undefined **)CONCAT31(local_c0._1_3_,1);
            if ((*(byte *)(iVar19 + 0xc) & 0xf) == 3) goto LAB_000d254c;
LAB_000d23e8:
            *(undefined ****)((int)piVar18 + -0xc) = local_b0;
            *(int *)((int)piVar18 + -0x10) = local_cc;
            local_34 = (undefined **)0x0;
            *(undefined4 *)((int)piVar18 + -0x14) = 0xd2403;
            FUN_00073ca0();
            goto LAB_000d2403;
          }
        }
        else {
          if (local_b4 == (undefined **)0xffff) {
            puVar7 = param_4[0xc];
            if (puVar7 == (undefined *)0x0) {
              puVar7 = *param_4;
              *(undefined ***)((int)piVar18 + -0x10) = param_4;
              pcVar4 = *(code **)(puVar7 + 0x6c);
              *(undefined4 *)((int)piVar18 + -0x14) = 0xd2a4e;
              puVar7 = (undefined *)(*pcVar4)();
              param_4[0xc] = puVar7;
            }
            *(undefined **)((int)piVar18 + -8) = puVar15;
            *(undefined ***)((int)piVar18 + -0xc) = param_4;
            *(undefined **)((int)piVar18 + -0x10) = puVar7;
            *(undefined4 *)((int)piVar18 + -0x14) = 0xd2591;
            local_b4 = (undefined **)FUN_0028b7d0();
            goto LAB_000d24ee;
          }
          ppuVar14 = *(undefined ***)(iVar19 + 4);
          local_c4 = local_bc + (int)ppuVar14;
          if (local_d1 == '\0') goto LAB_000d2489;
          local_b0 = &local_34;
          local_34 = (undefined **)0x0;
          *(undefined ****)((int)piVar18 + -0xc) = local_b0;
          *(int *)((int)piVar18 + -0x10) = local_c8;
          local_30 = (undefined **)0x0;
                    /* try { // try from 000d23ca to 000d2bf5 has its CatchHandler @ 000d302c */
          *(undefined4 *)((int)piVar18 + -0x14) = 0xd23cf;
          FUN_00073b00();
          local_c0 = (undefined **)((uint)local_c0 & 0xffffff00);
          if ((*(byte *)(iVar19 + 0xc) & 0xf) != 3) goto LAB_000d23e8;
LAB_000d254c:
          *(undefined ****)((int)piVar18 + -0xc) = local_b0;
          *(int *)((int)piVar18 + -0x10) = local_cc;
          local_34 = (undefined **)0xffffffff;
          *(undefined4 *)((int)piVar18 + -0x14) = 0xd2567;
          FUN_00073ca0();
LAB_000d2403:
          *(undefined ****)((int)piVar18 + -0xc) = local_b0;
          *(undefined ***)((int)piVar18 + -0x10) = local_e8;
          local_2c = local_bc;
          local_28 = (int)local_bc >> 0x1f;
          local_30 = (undefined **)0x0;
          *(undefined4 *)((int)piVar18 + -0x14) = 0xd2433;
          local_34 = ppuVar14;
          FUN_00073e70();
          local_30 = (undefined **)0x0;
          local_34 = (undefined **)*param_7;
          puVar1 = *(undefined4 **)(local_d0 + 4);
          if (puVar1 == *(undefined4 **)(local_d0 + 8)) {
            *(undefined ****)((int)piVar18 + -8) = local_b0;
            *(undefined4 **)((int)piVar18 + -0xc) = puVar1;
            *(int *)((int)piVar18 + -0x10) = local_d0;
            *(undefined4 *)((int)piVar18 + -0x14) = 0xd2b0d;
            FUN_00072a40();
          }
          else {
            *puVar1 = local_34;
            puVar1[1] = 0;
            *(undefined4 **)(local_d0 + 4) = puVar1 + 2;
          }
          local_68 = (undefined **)0x0;
          *(undefined ****)((int)piVar18 + -0xc) = &local_68;
          *(int *)((int)piVar18 + -0x10) = local_ec;
          *(undefined4 *)((int)piVar18 + -0x14) = 0xd2479;
          FUN_00074020();
          if ((char)local_c0 == '\0') goto LAB_000d2489;
        }
        if (((local_d2 != '\0') && ((*(byte *)(iVar19 + 0xc) & 0xf) != 1)) &&
           ((0x17 < uVar21 || ((0x843f84U >> (uVar2 & 0x1f) & 1) == 0)))) {
          local_b0 = *(undefined ****)(param_2 + 0x15c);
          local_80 = param_4;
          local_7c = (uint)*(ushort *)(iVar19 + 0xe);
          *(undefined4 *)((int)piVar18 + -0xc) = 1;
          *(undefined4 *)((int)piVar18 + -0x10) = 0;
          local_98 = local_b0 + 0xd;
          *(undefined *****)((int)piVar18 + -0x14) = &local_98;
          *(undefined ****)((int)piVar18 + -0x18) = &local_80;
          *(undefined ****)((int)piVar18 + -0x1c) = local_98;
          *(undefined1 **)((int)piVar18 + -0x20) = local_e0;
          *(undefined4 *)((int)piVar18 + -0x24) = 0xd2ad1;
          FUN_00074280();
          piVar18 = (int *)((int)piVar18 + -4);
        }
        if (param_5 != local_b4) {
          local_c0 = param_4;
          puVar17 = (undefined1 *)piVar18;
LAB_000d275e:
          if (*(int *)(*local_dc + 8) == 0) {
            *(undefined ***)(puVar17 + -8) = local_b8 + -0x61176;
            *(undefined4 *)(puVar17 + -0xc) = 0x5c;
            *(int *)(puVar17 + -0x10) = (int)local_b8 + -0x1a1d93;
                    /* WARNING: Subroutine does not return */
            *(undefined4 *)(puVar17 + -0x14) = 0xd2f6e;
            FUN_002446e0();
          }
          piVar18 = (int *)puVar17;
          if (*(char *)(*(int *)(*local_dc + 8) + 0x18b1) != '\0') {
            local_70 = param_4;
            iVar19 = *(int *)(param_2 + 0x158) + 0x14;
            local_6c = param_5;
            local_68 = local_c0;
            local_64 = local_b4;
            iVar3 = *(int *)(*(int *)(param_2 + 0x158) + 0x18);
            iVar10 = iVar19;
            if (iVar3 == 0) {
LAB_000d27f0:
              local_88 = &local_70;
              *(undefined *****)(puVar17 + -0x10) = &local_88;
              *(undefined4 *)(puVar17 + -0x14) = 0xd2811;
              FUN_000c5e40();
              iVar11 = local_a8;
            }
            else {
              do {
                while ((iVar11 = iVar3, *(undefined ***)(iVar11 + 0x10) < param_4 ||
                       ((param_4 == *(undefined ***)(iVar11 + 0x10) &&
                        (*(undefined ***)(iVar11 + 0x14) < param_5))))) {
                  piVar18 = (int *)(iVar11 + 0xc);
                  iVar3 = *piVar18;
                  iVar11 = iVar10;
                  if (*piVar18 == 0) goto LAB_000d27da;
                }
                iVar3 = *(int *)(iVar11 + 8);
                iVar10 = iVar11;
              } while (*(int *)(iVar11 + 8) != 0);
LAB_000d27da:
              if (((iVar19 == iVar11) || (param_4 < *(undefined ***)(iVar11 + 0x10))) ||
                 ((param_4 == *(undefined ***)(iVar11 + 0x10) &&
                  (param_5 < *(undefined ***)(iVar11 + 0x14))))) goto LAB_000d27f0;
            }
            local_8c = iVar11 + 0x18;
            *(undefined4 *)(puVar17 + -0xc) = 1;
            *(undefined4 *)(puVar17 + -0x10) = 0;
            *(int **)(puVar17 + -0x14) = local_f4;
            *(undefined ****)(puVar17 + -0x18) = &local_68;
            *(int *)(puVar17 + -0x1c) = local_8c;
            *(undefined1 **)(puVar17 + -0x20) = local_e0;
            *(undefined4 *)(puVar17 + -0x24) = 0xd2840;
            FUN_00074340();
            piVar18 = *(int **)(*local_dc + 0xc);
            if (piVar18 == (int *)0x0) {
              *(undefined ***)(puVar17 + -0xc) = local_b8 + -0x615c4;
              *(undefined4 *)(puVar17 + -0x10) = 0x73;
              *(int *)(puVar17 + -0x14) = (int)local_b8 + -0x1a1d93;
                    /* WARNING: Subroutine does not return */
              *(undefined4 *)(puVar17 + -0x18) = 0xd2fad;
              FUN_002446e0();
            }
            iVar19 = *piVar18;
            *(undefined **)(puVar17 + -0xc) = local_c4;
            *(undefined ***)(puVar17 + -0x10) = local_b4;
            *(undefined ***)(puVar17 + -0x14) = local_c0;
            *(undefined ***)(puVar17 + -0x18) = param_5;
            *(undefined ***)(puVar17 + -0x1c) = param_4;
            *(int *)(puVar17 + -0x20) = param_2;
            *(int **)(puVar17 + -0x24) = piVar18;
            pcVar4 = *(code **)(iVar19 + 0x104);
            *(undefined4 *)(puVar17 + -0x28) = 0xd287d;
            (*pcVar4)();
            pbVar20 = local_d8;
            piVar18 = (int *)(puVar17 + -4);
            if (local_d8 != (byte *)0x0) {
              local_b4 = &local_2c;
              local_b0 = &local_34;
              iVar19 = *(int *)(param_2 + 0x158);
              *(byte **)(puVar17 + -0x14) = local_d8;
              local_34 = local_b4;
              *(undefined4 *)(puVar17 + -0x18) = 0xd28bd;
              sVar6 = strlen(*(char **)(puVar17 + -0x14));
              pppuVar5 = local_b0;
              *(undefined4 *)(puVar17 + -8) = 0;
              *(byte **)(puVar17 + -0xc) = pbVar20 + sVar6;
              *(byte **)(puVar17 + -0x10) = pbVar20;
              *(undefined ****)(puVar17 + -0x14) = local_b0;
              *(undefined4 *)(puVar17 + -0x18) = 0xd28d2;
              FUN_00072b90();
              *(undefined ****)(puVar17 + -0xc) = pppuVar5;
              *(int *)(puVar17 + -0x10) = iVar19 + 0x44;
              *(int **)(puVar17 + -0x14) = &local_ac;
              *(undefined4 *)(puVar17 + -0x18) = 0xd28e6;
              FUN_00094bd0();
              iVar19 = local_ac;
              if (local_34 != local_b4) {
                *(undefined ***)(puVar17 + -0x18) = local_34;
                *(undefined4 *)(puVar17 + -0x1c) = 0xd2909;
                FUN_003ae080();
              }
              piVar18 = (int *)(puVar17 + -8);
              iVar3 = *(int *)(param_2 + 0x158);
              if (iVar19 != iVar3 + 0x48) {
                local_34 = param_4;
                local_30 = param_5;
                iVar10 = *(int *)(iVar3 + 0x18);
                iVar11 = iVar3 + 0x14;
                if (*(int *)(iVar3 + 0x18) == 0) {
LAB_000d2bd8:
                  *(undefined *****)(puVar17 + -0x18) = &local_84;
                  local_84 = local_b0;
                  *(undefined4 *)(puVar17 + -0x1c) = 0xd2bf6;
                  FUN_000c5e40();
                  iVar12 = local_a8;
                }
                else {
                  do {
                    while ((iVar12 = iVar10, *(undefined ***)(iVar12 + 0x10) < param_4 ||
                           ((param_4 == *(undefined ***)(iVar12 + 0x10) &&
                            (*(undefined ***)(iVar12 + 0x14) < param_5))))) {
                      piVar18 = (int *)(iVar12 + 0xc);
                      iVar10 = *piVar18;
                      iVar12 = iVar11;
                      if (*piVar18 == 0) goto LAB_000d2962;
                    }
                    iVar10 = *(int *)(iVar12 + 8);
                    iVar11 = iVar12;
                  } while (*(int *)(iVar12 + 8) != 0);
LAB_000d2962:
                  if (((iVar12 == iVar3 + 0x14) || (param_4 < *(undefined ***)(iVar12 + 0x10))) ||
                     ((param_4 == *(undefined ***)(iVar12 + 0x10) &&
                      (param_5 < *(undefined ***)(iVar12 + 0x14))))) goto LAB_000d2bd8;
                }
                piVar18 = (int *)(puVar17 + -8);
                puVar17 = puVar17 + -8;
                for (puVar1 = *(undefined4 **)(iVar19 + 0x30); puVar1 != (undefined4 *)0x0;
                    puVar1 = (undefined4 *)*puVar1) {
                  *(undefined4 *)(puVar17 + -0xc) = 1;
                  *(undefined4 *)(puVar17 + -0x10) = 0;
                  *(int **)(puVar17 + -0x14) = &local_90;
                  *(undefined4 **)(puVar17 + -0x18) = puVar1 + 1;
                  *(int *)(puVar17 + -0x1c) = iVar12 + 0x18;
                  *(undefined1 **)(puVar17 + -0x20) = local_e0;
                  *(undefined4 *)(puVar17 + -0x24) = 0xd29ae;
                  local_90 = iVar12 + 0x18;
                  FUN_00074340();
                  piVar18 = (int *)(puVar17 + -4);
                  puVar17 = puVar17 + -4;
                }
              }
            }
          }
        }
      }
      else {
        if (puVar15 < param_4[0x2c]) {
          local_70 = (undefined **)0x0;
LAB_000d2a1f:
          *(undefined ***)((int)piVar18 + -8) = local_b8 + -0x615ed;
          *(undefined4 *)((int)piVar18 + -0xc) = 0x11c;
          *(int *)((int)piVar18 + -0x10) = (int)local_b8 + -0x19ca36;
                    /* WARNING: Subroutine does not return */
          *(undefined4 *)((int)piVar18 + -0x14) = 0xd2a40;
          FUN_002446e0();
        }
        uVar16 = (int)puVar15 - (int)param_4[0x2c];
        local_b0 = (undefined ***)param_4[0x30];
        if ((uint)((int)local_b0 - (int)param_4[0x2f] >> 2) <= uVar16) {
          *(undefined ***)((int)piVar18 + -8) = local_b8 + -0x6156c;
          *(undefined4 *)((int)piVar18 + -0xc) = 0x8ad;
          *(int *)((int)piVar18 + -0x10) = (int)local_b8 + -0x19cc7b;
                    /* WARNING: Subroutine does not return */
          *(undefined4 *)((int)piVar18 + -0x14) = 0xd2f8f;
          FUN_002446e0();
        }
        local_70 = *(undefined ***)(param_4[0x2f] + uVar16 * 4);
        if (local_70 == (undefined **)0x0) goto LAB_000d2a1f;
        if ((*(byte *)((int)local_70 + 0x2a) & 0x10) == 0) {
          if ((*(byte *)((int)local_70 + 0x2a) & 7) == 0) goto LAB_000d25f7;
LAB_000d29e2:
          local_f0 = (undefined **)local_70[0xc];
          bVar13 = 0;
          local_b4 = (undefined **)0x0;
          local_c0 = (undefined **)0x0;
          bVar24 = CARRY4((uint)local_bc,(uint)local_f0);
          local_c4 = local_bc + (int)local_f0;
          bVar26 = local_c4 == (undefined *)0x0;
        }
        else {
          *(undefined ***)((int)piVar18 + -0xc) = local_70;
          *(int *)((int)piVar18 + -0x10) = param_2;
          *(undefined4 *)((int)piVar18 + -0x14) = 0xd29d2;
          local_70 = (undefined **)FUN_0034cd90();
          if ((*(byte *)((int)local_70 + 0x2a) & 7) != 0) goto LAB_000d29e2;
LAB_000d25f7:
          local_f0 = (undefined **)local_70[0xc];
          local_c0 = (undefined **)local_70[2];
          local_c4 = local_bc + (int)local_f0;
          if (((uint)local_c0[0xb] & 1) == 0) {
            local_b4 = (undefined **)local_70[3];
            bVar13 = *(byte *)((int)local_70 + 0x2b) >> 5 & 1;
            bVar24 = (*(byte *)(local_70 + 10) & 0xf) < 2;
            bVar26 = (*(byte *)(local_70 + 10) & 0xf) == 2;
            if (bVar26) {
              bVar24 = false;
              bVar26 = local_d2 == '\0';
              if ((!bVar26) &&
                 (((bVar13 == 0 || (bVar26 = uVar21 == 0x17, 0x17 < uVar21)) ||
                  (bVar24 = (0x843f84U >> (uVar2 & 0x1f) & 1) != 0, !bVar24)))) {
                local_b0 = *(undefined ****)(param_2 + 0x15c);
                *(undefined4 *)((int)piVar18 + -0xc) = 1;
                *(undefined4 *)((int)piVar18 + -0x10) = 0;
                *(undefined *****)((int)piVar18 + -0x14) = &local_94;
                *(undefined ****)((int)piVar18 + -0x18) = &local_78;
                local_94 = local_b0 + 0xd;
                *(undefined ****)((int)piVar18 + -0x1c) = local_94;
                *(undefined1 **)((int)piVar18 + -0x20) = local_e0;
                    /* try { // try from 000d2cc6 to 000d2cca has its CatchHandler @ 000d302c */
                *(undefined4 *)((int)piVar18 + -0x24) = 0xd2ccb;
                local_78 = local_c0;
                local_74 = local_b4;
                FUN_00074280();
                bVar24 = (undefined1 *)0xffffffe3 < (undefined1 *)((int)piVar18 + -0x20);
                bVar26 = piVar18 == (int *)0x4;
                piVar18 = (int *)((int)piVar18 + -4);
              }
            }
          }
          else {
            local_b4 = (undefined **)0x0;
            bVar24 = false;
            bVar13 = 0;
            bVar26 = true;
            local_c0 = (undefined **)0x0;
          }
        }
        pbVar20 = *local_70;
        iVar19 = 8;
        pbVar9 = (byte *)((int)local_b8 + -0x19ca26);
        pbVar22 = pbVar20;
        do {
          if (iVar19 == 0) break;
          iVar19 = iVar19 + -1;
          bVar24 = *pbVar9 < *pbVar22;
          bVar26 = *pbVar9 == *pbVar22;
          pbVar9 = pbVar9 + (uint)bVar27 * -2 + 1;
          pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;
        } while (bVar26);
        bVar25 = false;
        bVar24 = (!bVar24 && !bVar26) == bVar24;
        if (bVar24) {
          pbVar20 = pbVar20 + 8;
        }
        else {
          iVar19 = 7;
          pbVar9 = (byte *)((int)local_b8 + -0x19ca1d);
          pbVar22 = pbVar20;
          do {
            if (iVar19 == 0) break;
            iVar19 = iVar19 + -1;
            bVar25 = *pbVar9 < *pbVar22;
            bVar24 = *pbVar9 == *pbVar22;
            pbVar9 = pbVar9 + (uint)bVar27 * -2 + 1;
            pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;
          } while (bVar24);
          pbVar20 = pbVar20 + 7;
          if ((!bVar25 && !bVar24) != bVar25) {
            pbVar20 = local_d8;
          }
        }
        local_d8 = pbVar20;
        if (local_d1 != '\0') {
          if (bVar13 == 0) {
            local_34 = (undefined **)0x0;
            local_30 = (undefined **)0x0;
          }
          else {
            local_34 = local_c0;
            local_30 = local_b4;
          }
          local_b0 = &local_34;
          *(undefined ****)((int)piVar18 + -0xc) = local_b0;
          *(int *)((int)piVar18 + -0x10) = local_c8;
          *(undefined4 *)((int)piVar18 + -0x14) = 0xd26b9;
          FUN_00073b00();
          puVar1 = *(undefined4 **)(local_cc + 4);
          if (puVar1 == *(undefined4 **)(local_cc + 8)) {
            *(undefined ****)((int)piVar18 + -8) = &local_70;
            *(undefined4 **)((int)piVar18 + -0xc) = puVar1;
            *(int *)((int)piVar18 + -0x10) = local_cc;
            *(undefined4 *)((int)piVar18 + -0x14) = 0xd2b4b;
            FUN_000726c0();
          }
          else {
            *puVar1 = local_70;
            *(undefined4 **)(local_cc + 4) = puVar1 + 1;
          }
          *(undefined ****)((int)piVar18 + -0xc) = local_b0;
          *(undefined ***)((int)piVar18 + -0x10) = local_e8;
          local_34 = local_f0;
          local_30 = (undefined **)0x0;
          local_2c = local_bc;
          local_28 = (int)local_bc >> 0x1f;
          *(undefined4 *)((int)piVar18 + -0x14) = 0xd270d;
          FUN_00073e70();
          local_30 = (undefined **)0x0;
          local_34 = (undefined **)*param_7;
          puVar1 = *(undefined4 **)(local_d0 + 4);
          if (puVar1 == *(undefined4 **)(local_d0 + 8)) {
            *(undefined ****)((int)piVar18 + -8) = local_b0;
            *(undefined4 **)((int)piVar18 + -0xc) = puVar1;
            *(int *)((int)piVar18 + -0x10) = local_d0;
            *(undefined4 *)((int)piVar18 + -0x14) = 0xd2bbd;
            FUN_00072a40();
          }
          else {
            *puVar1 = local_34;
            puVar1[1] = 0;
            *(undefined4 **)(local_d0 + 4) = puVar1 + 2;
          }
          local_68 = (undefined **)0x0;
          *(undefined ****)((int)piVar18 + -0xc) = &local_68;
          *(int *)((int)piVar18 + -0x10) = local_ec;
          *(undefined4 *)((int)piVar18 + -0x14) = 0xd2753;
          FUN_00074020();
        }
        puVar17 = (undefined1 *)piVar18;
        if (bVar13 != 0) goto LAB_000d275e;
      }
LAB_000d2489:
      local_e4 = local_e4 + 1;
      param_7 = param_7 + 3;
    } while (param_8 != local_e4);
  }
  if (local_4c[0] != local_f8) {
    *(byte **)((int)piVar18 + -0x10) = local_4c[0];
    *(undefined4 *)((int)piVar18 + -0x14) = 0xd2c22;
    FUN_003ae080();
  }
  if ((local_60 != 0) && (local_5c != 0)) {
    *(undefined ***)((int)piVar18 + -0x10) = local_b8 + -0x60d6c;
    *(undefined4 *)((int)piVar18 + -0x14) = 0xd2c4a;
    uVar8 = gettext();
    *(undefined4 *)((int)piVar18 + -0x10) = uVar8;
    uVar8 = local_54;
    *(undefined4 *)((int)piVar18 + -0x14) = 0;
    *(undefined4 *)((int)piVar18 + -0x18) = uVar8;
    *(undefined4 *)((int)piVar18 + -0x1c) = local_58;
    *(int *)((int)piVar18 + -0x20) = local_5c;
    *(undefined4 *)((int)piVar18 + -0x24) = 0xd2c5f;
    FUN_0023bd50();
  }
  return;
}


CALL 0x00074f02
ADD EAX,0x517ddb
PUSH EBP
MOV EBP,ESP
PUSH EDI
PUSH ESI
PUSH EBX
SUB ESP,0xec
MOV dword ptr [EBP + 0xffffff4c],EAX
LEA EAX,[EAX + 0x7c8]
MOV dword ptr [EBP + -0x5c],0x0
MOV dword ptr [EBP + 0xffffff28],EAX
MOV EAX,dword ptr [EAX]
MOV dword ptr [EBP + -0x58],0x0
MOV EAX,dword ptr [EAX + 0x8]
MOV dword ptr [EBP + -0x54],0x0
MOV dword ptr [EBP + -0x50],0x0
MOV byte ptr [EBP + -0x4c],0x0
TEST EAX,EAX
JZ 0x000d2fad
MOV EAX,dword ptr [EAX + 0x5934]
TEST EAX,EAX
JZ 0x000d2da0
MOV EAX,dword ptr [EBP + 0x14]
MOV ESI,dword ptr [EBP + 0xffffff4c]
MOV EAX,dword ptr [EAX]
LEA EDX,[ESI + 0xffb1c550]
MOV EAX,dword ptr [EAX + 0x40]
CMP EAX,EDX
JNZ 0x000d2ef8
MOV ESI,dword ptr [EBP + 0x14]
SUB ESP,0x4
LEA EAX,[EBP + -0x48]
PUSH dword ptr [EBP + 0x18]
LEA EDX,[ESI + 0x90]
PUSH EDX
PUSH EAX
CALL 0x001063c0
LEA EAX,[EBP + -0x40]
ADD ESP,0xc
MOV dword ptr [EBP + 0xffffff0c],EAX
MOV EAX,dword ptr [EBP + 0xffffff28]
MOV EAX,dword ptr [EAX]
MOV EDX,dword ptr [EAX + 0x8]
TEST EDX,EDX
JZ 0x000d2fe5
MOV EDI,dword ptr [EDX + 0x5934]
TEST EDI,EDI
JNZ 0x000d2dd0
MOV byte ptr [EBP + 0xffffff33],0x0
MOV dword ptr [EBP + 0xffffff18],0x0
MOV dword ptr [EBP + 0xffffff34],0x0
MOV dword ptr [EBP + 0xffffff1c],0x0
MOV dword ptr [EBP + 0xffffff38],0x0
MOV dword ptr [EBP + 0xffffff3c],0x0
MOV EAX,dword ptr [EAX + 0x8]
TEST EAX,EAX
JZ 0x000d2fc9
CMP dword ptr [EAX + 0x5934],0x2
MOV byte ptr [EBP + 0xffffff32],0x0
JZ 0x000d2ce0
MOV EBX,dword ptr [EBP + 0x24]
TEST EBX,EBX
JZ 0x000d2c08
MOV dword ptr [EBP + 0xffffff2c],0x0
LEA EAX,[EBP + 0xffffff60]
MOV dword ptr [EBP + 0xffffff24],EAX
LEA EAX,[EBP + 0xffffff78]
MOV dword ptr [EBP + 0xffffff20],0x0
MOV dword ptr [EBP + 0xffffff10],EAX
JMP 0x000d24a3
CMP EAX,0xffff
JZ 0x000d2570
MOV EBX,dword ptr [ESI + 0x4]
MOV EAX,dword ptr [EBP + 0xffffff48]
ADD EAX,EBX
CMP byte ptr [EBP + 0xffffff33],0x0
MOV dword ptr [EBP + 0xffffff40],EAX
JZ 0x000d2489
SUB ESP,0x8
LEA EAX,[EBP + -0x30]
MOV dword ptr [EBP + -0x30],0x0
PUSH EAX
PUSH dword ptr [EBP + 0xffffff3c]
MOV dword ptr [EBP + -0x2c],0x0
MOV dword ptr [EBP + 0xffffff54],EAX
CALL 0x00073b00
MOVZX EAX,byte ptr [ESI + 0xc]
ADD ESP,0x10
MOV byte ptr [EBP + 0xffffff44],0x0
AND EAX,0xf
CMP AL,0x3
JZ 0x000d254c
SUB ESP,0x8
PUSH dword ptr [EBP + 0xffffff54]
PUSH dword ptr [EBP + 0xffffff38]
MOV dword ptr [EBP + -0x30],0x0
CALL 0x00073ca0
ADD ESP,0x10
MOV EAX,dword ptr [EBP + 0xffffff48]
MOV dword ptr [EBP + -0x30],EBX
SUB ESP,0x8
PUSH dword ptr [EBP + 0xffffff54]
PUSH dword ptr [EBP + 0xffffff1c]
MOV dword ptr [EBP + -0x28],EAX
SAR EAX,0x1f
MOV dword ptr [EBP + -0x2c],0x0
MOV dword ptr [EBP + -0x24],EAX
CALL 0x00073e70
MOV EAX,dword ptr [EBP + 0x20]
MOV EBX,dword ptr [EBP + 0xffffff34]
XOR EDX,EDX
ADD ESP,0x10
MOV dword ptr [EBP + -0x2c],EDX
MOV EAX,dword ptr [EAX]
MOV ECX,dword ptr [EBX + 0x4]
MOV dword ptr [EBP + -0x30],EAX
CMP ECX,dword ptr [EBX + 0x8]
JZ 0x000d2af8
MOV dword ptr [ECX],EAX
ADD ECX,0x8
MOV dword ptr [ECX + -0x4],EDX
MOV dword ptr [EBX + 0x4],ECX
SUB ESP,0x8
LEA EAX,[EBP + -0x64]
MOV dword ptr [EBP + -0x64],0x0
PUSH EAX
PUSH dword ptr [EBP + 0xffffff18]
CALL 0x00074020
ADD ESP,0x10
CMP byte ptr [EBP + 0xffffff44],0x0
JNZ 0x000d2a60
ADD dword ptr [EBP + 0xffffff20],0x1
MOV EAX,dword ptr [EBP + 0xffffff20]
ADD dword ptr [EBP + 0x20],0xc
CMP dword ptr [EBP + 0x24],EAX
JZ 0x000d2c08
MOV EAX,dword ptr [EBP + 0x20]
MOV EAX,dword ptr [EAX + 0x4]
MOV EBX,EAX
MOVZX EDI,AL
MOV EAX,dword ptr [EBP + 0x20]
SHR EBX,0x8
MOV EAX,dword ptr [EAX + 0x8]
MOV dword ptr [EBP + 0xffffff48],EAX
CMP dword ptr [EBP + 0x30],EBX
JBE 0x000d25a0
MOV ECX,dword ptr [EBP + 0x34]
TEST ECX,ECX
JZ 0x000d2f28
MOV ESI,EBX
SHL ESI,0x4
ADD ESI,dword ptr [EBP + 0x34]
MOVZX EAX,word ptr [ESI + 0xe]
MOV dword ptr [EBP + 0xffffff50],EAX
CMP EAX,0xfeff
JA 0x000d2380
MOV EBX,dword ptr [ESI + 0x4]
MOV EAX,dword ptr [EBP + 0xffffff48]
ADD EAX,EBX
CMP byte ptr [EBP + 0xffffff33],0x0
MOV dword ptr [EBP + 0xffffff40],EAX
JZ 0x000d2a60
MOV EAX,dword ptr [EBP + 0x14]
SUB ESP,0x8
MOV dword ptr [EBP + -0x30],EAX
MOV EAX,dword ptr [EBP + 0xffffff50]
MOV dword ptr [EBP + -0x2c],EAX
LEA EAX,[EBP + -0x30]
PUSH EAX
PUSH dword ptr [EBP + 0xffffff3c]
MOV dword ptr [EBP + 0xffffff54],EAX
CALL 0x00073b00
MOVZX EAX,byte ptr [ESI + 0xc]
ADD ESP,0x10
MOV byte ptr [EBP + 0xffffff44],0x1
AND EAX,0xf
CMP AL,0x3
JNZ 0x000d23e8
SUB ESP,0x8
PUSH dword ptr [EBP + 0xffffff54]
PUSH dword ptr [EBP + 0xffffff38]
MOV dword ptr [EBP + -0x30],0xffffffff
CALL 0x00073ca0
JMP 0x000d2403
MOV EAX,dword ptr [EBP + 0x14]
MOV EAX,dword ptr [EAX + 0x30]
TEST EAX,EAX
JZ 0x000d2a40
SUB ESP,0x4
PUSH EBX
MOV EBX,dword ptr [EBP + 0xffffff4c]
PUSH dword ptr [EBP + 0x14]
PUSH EAX
CALL 0x0028b7d0
MOV dword ptr [EBP + 0xffffff50],EAX
ADD ESP,0x10
JMP 0x000d24ee
MOV EAX,dword ptr [EBP + 0x14]
MOV EAX,dword ptr [EAX + 0xb0]
CMP EBX,EAX
JC 0x000d2a18
SUB EBX,EAX
MOV EAX,dword ptr [EBP + 0x14]
MOV EDX,dword ptr [EAX + 0xbc]
MOV EAX,dword ptr [EAX + 0xc0]
MOV dword ptr [EBP + 0xffffff54],EAX
SUB EAX,EDX
SAR EAX,0x2
CMP EBX,EAX
JNC 0x000d2f6e
MOV EAX,dword ptr [EDX + EBX*0x4]
MOV dword ptr [EBP + -0x6c],EAX
TEST EAX,EAX
JZ 0x000d2a1f
TEST byte ptr [EAX + 0x2a],0x10
JNZ 0x000d29c0
TEST byte ptr [EAX + 0x2a],0x7
JNZ 0x000d29e2
MOV ECX,dword ptr [EAX + 0x30]
MOV EDX,dword ptr [EBP + 0xffffff48]
MOV ESI,dword ptr [EAX + 0x8]
ADD EDX,ECX
MOV dword ptr [EBP + 0xffffff14],ECX
MOV dword ptr [EBP + 0xffffff44],ESI
MOV dword ptr [EBP + 0xffffff40],EDX
TEST byte ptr [ESI + 0x2c],0x1
JNZ 0x000d2b18
MOVZX EBX,byte ptr [EAX + 0x2b]
MOVZX EDX,byte ptr [EAX + 0x28]
MOV ESI,dword ptr [EAX + 0xc]
SHR BL,0x5
AND EDX,0xf
AND EBX,0x1
MOV dword ptr [EBP + 0xffffff50],ESI
CMP DL,0x2
JNZ 0x000d2650
CMP byte ptr [EBP + 0xffffff32],0x0
JNZ 0x000d2c70
LEA ESI,[ESI]
MOV EDI,dword ptr [EBP + 0xffffff4c]
MOV EAX,dword ptr [EAX]
MOV ECX,0x8
LEA ESI,[EDI + 0xffe635da]
MOV EDI,EAX
CMPSB.REPE ES:EDI,ESI
SETA DL
SBB DL,0x0
TEST DL,DL
JNZ 0x000d2b70
ADD EAX,0x8
MOV dword ptr [EBP + 0xffffff2c],EAX
CMP byte ptr [EBP + 0xffffff33],0x0
JZ 0x000d2756
TEST BL,BL
JNZ 0x000d2b58
MOV dword ptr [EBP + -0x30],0x0
MOV dword ptr [EBP + -0x2c],0x0
SUB ESP,0x8
LEA EAX,[EBP + -0x30]
PUSH EAX
PUSH dword ptr [EBP + 0xffffff3c]
MOV dword ptr [EBP + 0xffffff54],EAX
CALL 0x00073b00
MOV EDI,dword ptr [EBP + 0xffffff38]
ADD ESP,0x10
MOV EAX,dword ptr [EDI + 0x4]
CMP EAX,dword ptr [EDI + 0x8]
JZ 0x000d2b38
MOV EDX,dword ptr [EBP + -0x6c]
ADD EAX,0x4
MOV dword ptr [EAX + -0x4],EDX
MOV dword ptr [EDI + 0x4],EAX
MOV EAX,dword ptr [EBP + 0xffffff14]
SUB ESP,0x8
PUSH dword ptr [EBP + 0xffffff54]
PUSH dword ptr [EBP + 0xffffff1c]
MOV dword ptr [EBP + -0x30],EAX
MOV EAX,dword ptr [EBP + 0xffffff48]
MOV dword ptr [EBP + -0x2c],0x0
MOV dword ptr [EBP + -0x28],EAX
SAR EAX,0x1f
MOV dword ptr [EBP + -0x24],EAX
CALL 0x00073e70
MOV EAX,dword ptr [EBP + 0x20]
MOV ECX,dword ptr [EBP + 0xffffff34]
XOR EDI,EDI
ADD ESP,0x10
MOV dword ptr [EBP + -0x2c],EDI
MOV ESI,dword ptr [EAX]
MOV EAX,dword ptr [ECX + 0x4]
MOV dword ptr [EBP + -0x30],ESI
CMP EAX,dword ptr [ECX + 0x8]
JZ 0x000d2ba8
MOV dword ptr [EAX],ESI
ADD EAX,0x8
MOV dword ptr [EAX + -0x4],EDI
MOV dword ptr [ECX + 0x4],EAX
SUB ESP,0x8
LEA EAX,[EBP + -0x64]
MOV dword ptr [EBP + -0x64],0x0
PUSH EAX
PUSH dword ptr [EBP + 0xffffff18]
CALL 0x00074020
ADD ESP,0x10
TEST BL,BL
JZ 0x000d2489
MOV EAX,dword ptr [EBP + 0xffffff28]
MOV EAX,dword ptr [EAX]
MOV EAX,dword ptr [EAX + 0x8]
TEST EAX,EAX
JZ 0x000d2f50
CMP byte ptr [EAX + 0x18b1],0x0
JZ 0x000d2489
MOV EAX,dword ptr [EBP + 0xc]
MOV EDX,dword ptr [EAX + 0x158]
MOV EAX,dword ptr [EBP + 0x14]
MOV dword ptr [EBP + -0x6c],EAX
MOV EAX,dword ptr [EBP + 0x18]
LEA EBX,[EDX + 0x14]
MOV ECX,EBX
MOV dword ptr [EBP + -0x68],EAX
MOV EAX,dword ptr [EBP + 0xffffff44]
MOV dword ptr [EBP + -0x64],EAX
MOV EAX,dword ptr [EBP + 0xffffff50]
MOV dword ptr [EBP + -0x60],EAX
MOV EAX,dword ptr [EDX + 0x18]
TEST EAX,EAX
JNZ 0x000d27cb
JMP 0x000d27f0
JNZ 0x000d27c2
MOV EDI,dword ptr [EAX + 0x14]
CMP dword ptr [EBP + 0x18],EDI
JA 0x000d27d3
MOV ECX,EAX
MOV EAX,dword ptr [EAX + 0x8]
TEST EAX,EAX
JZ 0x000d27da
MOV ESI,dword ptr [EAX + 0x10]
CMP dword ptr [EBP + 0x14],ESI
JBE 0x000d27b8
MOV EAX,dword ptr [EAX + 0xc]
TEST EAX,EAX
JNZ 0x000d27cb
CMP EBX,ECX
JZ 0x000d27f0
MOV EAX,dword ptr [ECX + 0x10]
CMP dword ptr [EBP + 0x14],EAX
JC 0x000d27f0
JNZ 0x000d281a
MOV EAX,dword ptr [ECX + 0x14]
CMP dword ptr [EBP + 0x18],EAX
JNC 0x000d281a
SUB ESP,0xc
LEA EBX,[EBP + 0xffffff7c]
LEA EAX,[EBP + -0x6c]
ADD EDX,0x10
PUSH EBX
MOV dword ptr [EBP + 0xffffff7c],EAX
LEA EAX,[EBP + 0xffffff5c]
CALL 0x000c5e40
MOV ECX,dword ptr [EBP + 0xffffff5c]
ADD ESP,0x10
SUB ESP,0x8
ADD ECX,0x18
LEA EAX,[EBP + -0x64]
PUSH 0x1
PUSH 0x0
PUSH dword ptr [EBP + 0xffffff10]
PUSH EAX
PUSH ECX
PUSH dword ptr [EBP + 0xffffff24]
MOV dword ptr [EBP + 0xffffff78],ECX
CALL 0x00074340
MOV EAX,dword ptr [EBP + 0xffffff28]
ADD ESP,0x1c
MOV EAX,dword ptr [EAX]
MOV EAX,dword ptr [EAX + 0xc]
TEST EAX,EAX
JZ 0x000d2f8f
MOV EDX,dword ptr [EAX]
SUB ESP,0x4
PUSH dword ptr [EBP + 0xffffff40]
PUSH dword ptr [EBP + 0xffffff50]
PUSH dword ptr [EBP + 0xffffff44]
PUSH dword ptr [EBP + 0x18]
PUSH dword ptr [EBP + 0x14]
PUSH dword ptr [EBP + 0xc]
PUSH EAX
CALL dword ptr [EDX + 0x104]
MOV EAX,dword ptr [EBP + 0xffffff2c]
ADD ESP,0x20
TEST EAX,EAX
JZ 0x000d2489
MOV ESI,dword ptr [EBP + 0xc]
SUB ESP,0xc
MOV EBX,dword ptr [EBP + 0xffffff4c]
LEA EDX,[EBP + -0x28]
LEA EDI,[EBP + -0x30]
MOV dword ptr [EBP + 0xffffff50],EDX
MOV ESI,dword ptr [ESI + 0x158]
PUSH EAX
MOV dword ptr [EBP + 0xffffff54],EDI
MOV EDI,EAX
MOV dword ptr [EBP + -0x30],EDX
CALL 0x00039330
ADD ESP,0x10
ADD EAX,EDI
PUSH 0x0
PUSH EAX
PUSH EDI
MOV EDI,dword ptr [EBP + 0xffffff54]
PUSH EDI
CALL 0x00072b90
ADD ESP,0xc
LEA EAX,[EBP + 0xffffff58]
ADD ESI,0x44
PUSH EDI
PUSH ESI
PUSH EAX
CALL 0x00094bd0
MOV ESI,dword ptr [EBP + 0xffffff58]
MOV EAX,dword ptr [EBP + -0x30]
ADD ESP,0xc
CMP EAX,dword ptr [EBP + 0xffffff50]
JZ 0x000d290c
SUB ESP,0xc
MOV EBX,dword ptr [EBP + 0xffffff4c]
PUSH EAX
CALL 0x003ae080
ADD ESP,0x10
MOV EAX,dword ptr [EBP + 0xc]
MOV EDX,dword ptr [EAX + 0x158]
LEA EAX,[EDX + 0x48]
CMP ESI,EAX
JZ 0x000d2489
MOV EAX,dword ptr [EBP + 0x14]
LEA EBX,[EDX + 0x14]
MOV ECX,EBX
MOV dword ptr [EBP + -0x30],EAX
MOV EAX,dword ptr [EBP + 0x18]
MOV dword ptr [EBP + -0x2c],EAX
MOV EAX,dword ptr [EDX + 0x18]
TEST EAX,EAX
JNZ 0x000d2953
JMP 0x000d2bd8
JNZ 0x000d294a
MOV EDI,dword ptr [EAX + 0x14]
CMP dword ptr [EBP + 0x18],EDI
JA 0x000d295b
MOV ECX,EAX
MOV EAX,dword ptr [EAX + 0x8]
TEST EAX,EAX
JZ 0x000d2962
MOV EDI,dword ptr [EAX + 0x10]
CMP dword ptr [EBP + 0x14],EDI
JBE 0x000d2940
MOV EAX,dword ptr [EAX + 0xc]
TEST EAX,EAX
JNZ 0x000d2953
CMP ECX,EBX
JZ 0x000d2bd8
MOV EAX,dword ptr [ECX + 0x10]
CMP dword ptr [EBP + 0x14],EAX
JC 0x000d2bd8
JZ 0x000d2bc8
MOV EBX,dword ptr [ESI + 0x30]
LEA EDI,[EBP + 0xffffff74]
LEA ESI,[ECX + 0x18]
TEST EBX,EBX
JZ 0x000d2489
SUB ESP,0x8
LEA EAX,[EBX + 0x4]
MOV dword ptr [EBP + 0xffffff74],ESI
PUSH 0x1
PUSH 0x0
PUSH EDI
PUSH EAX
PUSH ESI
PUSH dword ptr [EBP + 0xffffff24]
CALL 0x00074340
MOV EBX,dword ptr [EBX]
ADD ESP,0x1c
TEST EBX,EBX
JNZ 0x000d2990
JMP 0x000d2489
SUB ESP,0x8
MOV EBX,dword ptr [EBP + 0xffffff4c]
PUSH EAX
PUSH dword ptr [EBP + 0xc]
CALL 0x0034cd90
ADD ESP,0x10
MOV dword ptr [EBP + -0x6c],EAX
TEST byte ptr [EAX + 0x2a],0x7
JZ 0x000d25f7
MOV EDI,dword ptr [EAX + 0x30]
MOV ESI,dword ptr [EBP + 0xffffff48]
XOR EBX,EBX
MOV dword ptr [EBP + 0xffffff50],0x0
MOV dword ptr [EBP + 0xffffff44],0x0
ADD ESI,EDI
MOV dword ptr [EBP + 0xffffff14],EDI
MOV dword ptr [EBP + 0xffffff40],ESI
JMP 0x000d2650
MOV dword ptr [EBP + -0x6c],0x0
MOV EBX,dword ptr [EBP + 0xffffff4c]
SUB ESP,0x4
LEA EAX,[EBX + 0xffe7a84c]
PUSH EAX
LEA EAX,[EBX + 0xffe635ca]
PUSH 0x11c
PUSH EAX
CALL 0x002446e0
MOV EAX,dword ptr [EBP + 0x14]
SUB ESP,0xc
MOV EAX,dword ptr [EAX]
PUSH dword ptr [EBP + 0x14]
CALL dword ptr [EAX + 0x6c]
MOV ECX,dword ptr [EBP + 0x14]
ADD ESP,0x10
MOV dword ptr [ECX + 0x30],EAX
JMP 0x000d257e
CMP byte ptr [EBP + 0xffffff32],0x0
JZ 0x000d2ad8
MOVZX EAX,byte ptr [ESI + 0xc]
AND EAX,0xf
CMP AL,0x1
JZ 0x000d2ad8
CMP EDI,0x17
JA 0x000d2a88
MOV EAX,0x843f84
BT EAX,EDI
JC 0x000d2ad8
LEA ESI,[ESI]
NOP
MOV EAX,dword ptr [EBP + 0xc]
SUB ESP,0x8
LEA EDX,[EBP + 0xffffff6c]
MOV EDI,dword ptr [EBP + 0x14]
MOV EAX,dword ptr [EAX + 0x15c]
MOV dword ptr [EBP + -0x7c],EDI
MOV dword ptr [EBP + 0xffffff54],EAX
MOVZX EAX,word ptr [ESI + 0xe]
PUSH 0x1
MOV dword ptr [EBP + -0x78],EAX
MOV EAX,dword ptr [EBP + 0xffffff54]
PUSH 0x0
ADD EAX,0x34
PUSH EDX
LEA EDX,[EBP + -0x7c]
PUSH EDX
PUSH EAX
PUSH dword ptr [EBP + 0xffffff24]
MOV dword ptr [EBP + 0xffffff6c],EAX
CALL 0x00074280
ADD ESP,0x1c
LEA ESI,[ESI]
MOV EAX,dword ptr [EBP + 0xffffff50]
CMP dword ptr [EBP + 0x18],EAX
JZ 0x000d2489
MOV EAX,dword ptr [EBP + 0x14]
MOV dword ptr [EBP + 0xffffff44],EAX
JMP 0x000d275e
SUB ESP,0x4
PUSH dword ptr [EBP + 0xffffff54]
PUSH ECX
PUSH dword ptr [EBP + 0xffffff34]
CALL 0x00072a40
ADD ESP,0x10
JMP 0x000d2460
MOV dword ptr [EBP + 0xffffff50],0x0
XOR EBX,EBX
MOV dword ptr [EBP + 0xffffff44],0x0
JMP 0x000d2650
SUB ESP,0x4
LEA EDX,[EBP + -0x6c]
PUSH EDX
PUSH EAX
PUSH dword ptr [EBP + 0xffffff38]
CALL 0x000726c0
ADD ESP,0x10
JMP 0x000d26da
MOV EAX,dword ptr [EBP + 0xffffff44]
MOV dword ptr [EBP + -0x30],EAX
MOV EAX,dword ptr [EBP + 0xffffff50]
MOV dword ptr [EBP + -0x2c],EAX
JMP 0x000d26a1
MOV EDI,dword ptr [EBP + 0xffffff4c]
MOV ECX,0x7
LEA ESI,[EDI + 0xffe635e3]
MOV EDI,EAX
CMPSB.REPE ES:EDI,ESI
SETA DL
SBB DL,0x0
ADD EAX,0x7
TEST DL,DL
CMOVNZ EAX,dword ptr [EBP + 0xffffff2c]
MOV dword ptr [EBP + 0xffffff2c],EAX
JMP 0x000d267e
SUB ESP,0x4
PUSH dword ptr [EBP + 0xffffff54]
PUSH EAX
PUSH dword ptr [EBP + 0xffffff34]
CALL 0x00072a40
ADD ESP,0x10
JMP 0x000d273a
MOV EAX,dword ptr [ECX + 0x14]
CMP dword ptr [EBP + 0x18],EAX
JNC 0x000d297c
LEA ESI,[ESI]
SUB ESP,0xc
LEA EBX,[EBP + -0x80]
MOV EAX,dword ptr [EBP + 0xffffff54]
ADD EDX,0x10
PUSH EBX
MOV dword ptr [EBP + -0x80],EAX
LEA EAX,[EBP + 0xffffff5c]
CALL 0x000c5e40
ADD ESP,0x10
MOV ECX,dword ptr [EBP + 0xffffff5c]
JMP 0x000d297c
MOV EAX,dword ptr [EBP + -0x48]
CMP EAX,dword ptr [EBP + 0xffffff0c]
JZ 0x000d2c25
SUB ESP,0xc
MOV EBX,dword ptr [EBP + 0xffffff4c]
PUSH EAX
CALL 0x003ae080
ADD ESP,0x10
MOV EDX,dword ptr [EBP + -0x5c]
TEST EDX,EDX
JZ 0x000d2c62
MOV EAX,dword ptr [EBP + -0x58]
TEST EAX,EAX
JZ 0x000d2c62
MOV ESI,dword ptr [EBP + 0xffffff4c]
SUB ESP,0xc
LEA EAX,[ESI + 0xffe7ca50]
MOV EBX,ESI
PUSH EAX
CALL 0x00039440
XOR EDX,EDX
MOV dword ptr [ESP],EAX
MOV EAX,dword ptr [EBP + -0x50]
PUSH EDX
PUSH EAX
PUSH dword ptr [EBP + -0x54]
PUSH dword ptr [EBP + -0x58]
CALL 0x0023bd50
ADD ESP,0x20
LEA ESP,[EBP + -0xc]
POP EBX
POP ESI
POP EDI
POP EBP
RET
TEST BL,BL
JZ 0x000d2c7d
CMP EDI,0x17
JBE 0x000d2f10
MOV EAX,dword ptr [EBP + 0xc]
SUB ESP,0x8
LEA EDX,[EBP + 0xffffff70]
MOV EAX,dword ptr [EAX + 0x15c]
PUSH 0x1
PUSH 0x0
MOV dword ptr [EBP + 0xffffff54],EAX
MOV EAX,dword ptr [EBP + 0xffffff44]
PUSH EDX
LEA EDX,[EBP + -0x74]
MOV dword ptr [EBP + -0x74],EAX
MOV EAX,dword ptr [EBP + 0xffffff50]
PUSH EDX
MOV dword ptr [EBP + -0x70],EAX
MOV EAX,dword ptr [EBP + 0xffffff54]
ADD EAX,0x34
PUSH EAX
PUSH dword ptr [EBP + 0xffffff24]
MOV dword ptr [EBP + 0xffffff70],EAX
CALL 0x00074280
ADD ESP,0x1c
MOV EAX,dword ptr [EBP + -0x6c]
JMP 0x000d2650
SUB ESP,0xc
PUSH dword ptr [EBP + 0x8]
CALL 0x000aaa70
ADD ESP,0x10
MOV byte ptr [EBP + 0xffffff32],AL
TEST AL,AL
JZ 0x000d233d
MOV EDX,dword ptr [EBP + -0x48]
MOV EBX,dword ptr [EBP + 0xffffff4c]
MOV ECX,0xc
MOV byte ptr [EBP + 0xffffff32],0x0
LEA ESI,[EBX + 0xffe65db0]
MOV EDI,EDX
CMPSB.REPE ES:EDI,ESI
SETA AL
SBB AL,0x0
TEST AL,AL
JZ 0x000d233d
MOV ECX,0x11
LEA ESI,[EBX + 0xffe65dbd]
MOV EDI,EDX
CMPSB.REPE ES:EDI,ESI
SETA AL
SBB AL,0x0
TEST AL,AL
JZ 0x000d233d
MOV ECX,0xc
LEA ESI,[EBX + 0xffe65dcf]
MOV EDI,EDX
CMPSB.REPE ES:EDI,ESI
SETA AL
SBB AL,0x0
TEST AL,AL
JZ 0x000d233d
MOV ECX,0x11
LEA ESI,[EBX + 0xffe65ddc]
MOV EDI,EDX
CMPSB.REPE ES:EDI,ESI
SETA AL
SBB AL,0x0
TEST AL,AL
JZ 0x000d233d
MOV ECX,0x9
LEA ESI,[EBX + 0xffe65dee]
MOV EDI,EDX
CMPSB.REPE ES:EDI,ESI
SETA AL
SBB AL,0x0
TEST AL,AL
SETNZ byte ptr [EBP + 0xffffff32]
JMP 0x000d233d
LEA EAX,[EBP + -0x40]
LEA EDX,[EBP + -0x48]
PUSH 0x0
MOV dword ptr [EBP + 0xffffff0c],EAX
MOV dword ptr [EBP + -0x48],EAX
MOV EAX,dword ptr [EBP + 0xffffff4c]
LEA EAX,[EAX + 0xffeb3b16]
PUSH EAX
PUSH EAX
PUSH EDX
CALL 0x00072b90
ADD ESP,0x10
JMP 0x000d22c4
MOV ESI,dword ptr [EBP + -0x48]
LEA EAX,[EBP + -0x28]
MOV dword ptr [EBP + 0xffffff50],EAX
MOV dword ptr [EBP + -0x30],EAX
MOV EAX,0xffffffff
TEST ESI,ESI
JZ 0x000d2dfc
SUB ESP,0xc
MOV EBX,dword ptr [EBP + 0xffffff4c]
PUSH ESI
CALL 0x00039330
ADD ESP,0x10
ADD EAX,ESI
PUSH 0x0
PUSH EAX
LEA EAX,[EBP + -0x30]
PUSH ESI
PUSH EAX
MOV dword ptr [EBP + 0xffffff54],EAX
CALL 0x00072b90
MOV EDX,dword ptr [EBP + -0x30]
MOV EBX,dword ptr [EBP + 0xffffff4c]
MOV ECX,0x5
ADD ESP,0x10
LEA ESI,[EBX + 0xffe635b4]
MOV EDI,EDX
CMPSB.REPE ES:EDI,ESI
SETA AL
SBB AL,0x0
TEST AL,AL
JZ 0x000d2e4b
MOV ECX,0xf
LEA ESI,[EBX + 0xffe635ba]
MOV EDI,EDX
CMPSB.REPE ES:EDI,ESI
SETA AL
SBB AL,0x0
TEST AL,AL
JNZ 0x000d2ec8
CMP EDX,dword ptr [EBP + 0xffffff50]
JNZ 0x000d3001
MOV EAX,dword ptr [EBP + 0x14]
SUB ESP,0x8
PUSH dword ptr [EBP + 0xffffff54]
MOV dword ptr [EBP + -0x30],EAX
MOV EAX,dword ptr [EBP + 0x18]
MOV dword ptr [EBP + -0x2c],EAX
MOV EAX,dword ptr [EBP + 0xc]
MOV EAX,dword ptr [EAX + 0x15c]
MOV dword ptr [EBP + 0xffffff54],EAX
ADD EAX,0x54
PUSH EAX
CALL 0x00074520
LEA EDI,[EAX + 0xc]
LEA ESI,[EAX + 0x18]
MOV dword ptr [EBP + 0xffffff3c],EAX
ADD ESP,0x10
MOV dword ptr [EBP + 0xffffff38],EDI
LEA EDI,[EAX + 0x24]
ADD EAX,0x30
MOV dword ptr [EBP + 0xffffff18],EAX
MOV EAX,dword ptr [EBP + 0xffffff28]
MOV dword ptr [EBP + 0xffffff1c],ESI
MOV dword ptr [EBP + 0xffffff34],EDI
MOV EAX,dword ptr [EAX]
MOV byte ptr [EBP + 0xffffff33],0x1
JMP 0x000d231e
CMP EDX,dword ptr [EBP + 0xffffff50]
JZ 0x000d3018
SUB ESP,0xc
MOV EBX,dword ptr [EBP + 0xffffff4c]
PUSH EDX
CALL 0x003ae080
MOV EAX,dword ptr [EBP + 0xffffff28]
ADD ESP,0x10
MOV EAX,dword ptr [EAX]
JMP 0x000d22e5
SUB ESP,0x4
LEA EDX,[EBP + -0x48]
PUSH dword ptr [EBP + 0x18]
PUSH dword ptr [EBP + 0x14]
PUSH EDX
CALL EAX
JMP 0x000d22b8
MOV EDX,0x843f84
BT EDX,EDI
JC 0x000d2650
JMP 0x000d2c7d
MOV EBX,dword ptr [EBP + 0xffffff4c]
SUB ESP,0x4
LEA EAX,[EBX + 0xffe7a84c]
PUSH EAX
LEA EAX,[EBX + 0xffe635ca]
PUSH 0xea
PUSH EAX
CALL 0x002446e0
MOV EBX,dword ptr [EBP + 0xffffff4c]
SUB ESP,0x4
LEA EAX,[EBX + 0xffe7ba28]
PUSH EAX
LEA EAX,[EBX + 0xffe5e26d]
PUSH 0x5c
PUSH EAX
CALL 0x002446e0
MOV EBX,dword ptr [EBP + 0xffffff4c]
SUB ESP,0x4
LEA EAX,[EBX + 0xffe7aa50]
PUSH EAX
LEA EAX,[EBX + 0xffe63385]
PUSH 0x8ad
PUSH EAX
CALL 0x002446e0
MOV EBX,dword ptr [EBP + 0xffffff4c]
SUB ESP,0x4
LEA EAX,[EBX + 0xffe7a8f0]
PUSH EAX
LEA EAX,[EBX + 0xffe5e26d]
PUSH 0x73
PUSH EAX
CALL 0x002446e0
MOV EBX,dword ptr [EBP + 0xffffff4c]
PUSH EAX
LEA EAX,[EBX + 0xffe7ba28]
PUSH EAX
LEA EAX,[EBX + 0xffe5e26d]
PUSH 0x5c
PUSH EAX
CALL 0x002446e0
MOV EBX,dword ptr [EBP + 0xffffff4c]
PUSH ESI
LEA EAX,[EBX + 0xffe7ba28]
PUSH EAX
LEA EAX,[EBX + 0xffe5e26d]
PUSH 0x5c
PUSH EAX
CALL 0x002446e0
MOV EBX,dword ptr [EBP + 0xffffff4c]
PUSH EAX
LEA EAX,[EBX + 0xffe7ba28]
PUSH EAX
LEA EAX,[EBX + 0xffe5e26d]
PUSH 0x5c
PUSH EAX
CALL 0x002446e0
SUB ESP,0xc
MOV EBX,dword ptr [EBP + 0xffffff4c]
PUSH EDX
CALL 0x003ae080
ADD ESP,0x10
JMP 0x000d2e57
MOV EAX,dword ptr [EBP + 0xffffff28]
MOV EAX,dword ptr [EAX]
JMP 0x000d22e5
(translation_unit "/* WARNING: Function: __i686.get_pc_thunk.ax replaced with injection: get_pc_thunk_ax */\n\nvoid FUN_000d2220(undefined4 param_1,int param_2,undefined4 param_3,undefined **param_4,\n                 undefined **param_5,undefined4 param_6,undefined4 *param_7,int param_8,\n                 undefined4 param_9,undefined4 param_10,undefined *param_11,int param_12)\n\n{\n  undefined4 *puVar1;\n  uint uVar2;\n  int iVar3;\n  code *pcVar4;\n  undefined ***pppuVar5;\n  size_t sVar6;\n  undefined *puVar7;\n  undefined4 uVar8;\n  byte *pbVar9;\n  int iVar10;\n  int iVar11;\n  int iVar12;\n  byte bVar13;\n  undefined **ppuVar14;\n  undefined *puVar15;\n  uint uVar16;\n  undefined1 *puVar17;\n  int *piVar18;\n  undefined **unaff_ESI;\n  int iVar19;\n  byte *pbVar20;\n  uint uVar21;\n  byte *pbVar22;\n  undefined **ppuVar23;\n  bool bVar24;\n  bool bVar25;\n  bool bVar26;\n  byte bVar27;\n  int iStack_100;\n  undefined1 auStack_fc [4];\n  byte *local_f8;\n  int *local_f4;\n  undefined **local_f0;\n  int local_ec;\n  undefined **local_e8;\n  int local_e4;\n  undefined1 *local_e0;\n  int *local_dc;\n  byte *local_d8;\n  char local_d2;\n  char local_d1;\n  int local_d0;\n  int local_cc;\n  int local_c8;\n  undefined *local_c4;\n  undefined **local_c0;\n  undefined *local_bc;\n  undefined **local_b8;\n  undefined **local_b4;\n  undefined ***local_b0;\n  int local_ac;\n  int local_a8;\n  undefined1 local_a4 [12];\n  undefined ***local_98;\n  undefined ***local_94;\n  int local_90;\n  int local_8c;\n  undefined ***local_88;\n  undefined ***local_84;\n  undefined **local_80;\n  uint local_7c;\n  undefined **local_78;\n  undefined **local_74;\n  undefined **local_70;\n  undefined **local_6c;\n  undefined **local_68;\n  undefined **local_64;\n  int local_60;\n  int local_5c;\n  undefined4 local_58;\n  undefined4 local_54;\n  undefined1 local_50;\n  byte *local_4c [2];\n  byte local_44 [16];\n  undefined **local_34;\n  undefined **local_30;\n  undefined *local_2c;\n  int local_28;\n  \n  bVar27 = 0;\n  local_b8 = &__DT_PLTGOT;\n  local_dc = &DAT_005ea7c8;\n  local_60 = 0;\n  local_5c = 0;\n  iVar19 = *(int *)(DAT_005ea7c8 + 8);\n  local_58 = 0;\n  local_54 = 0;\n  local_50 = 0;\n  if (iVar19 == 0) {\n    iStack_100 = iVar19;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 000d2fc4 to 000d2fc8 has its CatchHandler @ 000d3025 */\n    FUN_002446e0("../../gold/parameters.h",0x5c,"options");\n  }\n  if (*(int *)(iVar19 + 0x5934) == 0) {\n    local_f8 = local_44;\n    iStack_100 = 0;\n    local_4c[0] = local_f8;\n                    /* try { // try from 000d2dc0 to 000d2dc4 has its CatchHandler @ 000d3025 */\n    FUN_00072b90(local_4c,"","");\n    piVar18 = (int *)auStack_fc;\n  }\n  else {\n    unaff_ESI = &__DT_PLTGOT;\n    if (*(code **)(*param_4 + 0x40) == FUN_00106550) {\n                    /* try { // try from 000d22b3 to 000d22b7 has its CatchHandler @ 000d3025 */\n      FUN_001063c0(local_4c,param_4 + 0x24,param_5);\n      unaff_ESI = param_4;\n    }\n    else {\n                    /* try { // try from 000d2f05 to 000d2f06 has its CatchHandler @ 000d3025 */\n      (**(code **)(*param_4 + 0x40))(local_4c,param_4,param_5);\n    }\n    local_f8 = local_44;\n    piVar18 = &iStack_100;\n  }\n  pbVar20 = local_4c[0];\n  iVar19 = *local_dc;\n  if (*(int *)(iVar19 + 8) == 0) {\n    *(int *)((int)piVar18 + -4) = iVar19;\n    *(undefined ***)((int)piVar18 + -8) = local_b8 + -0x61176;\n    *(undefined4 *)((int)piVar18 + -0xc) = 0x5c;\n    *(int *)((int)piVar18 + -0x10) = (int)local_b8 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n    *(undefined4 *)((int)piVar18 + -0x14) = 0xd3001;\n    FUN_002446e0();\n  }\n  if (*(int *)(*(int *)(iVar19 + 8) + 0x5934) == 0) {\nLAB_000d22e5:\n    local_d1 = '\0';\n    local_ec = 0;\n    local_d0 = 0;\n    local_e8 = (undefined **)0x0;\n    local_cc = 0;\n    local_c8 = 0;\n  }\n  else {\n    local_b4 = &local_2c;\n    local_34 = local_b4;\n    pbVar9 = (byte *)0xffffffff;\n    if (local_4c[0] != (byte *)0x0) {\n      *(byte **)((int)piVar18 + -0x10) = local_4c[0];\n      *(undefined4 *)((int)piVar18 + -0x14) = 0xd2df7;\n      sVar6 = strlen(*(char **)((int)piVar18 + -0x10));\n      pbVar9 = pbVar20 + sVar6;\n    }\n    *(undefined4 *)((int)piVar18 + -4) = 0;\n    *(byte **)((int)piVar18 + -8) = pbVar9;\n    local_b0 = &local_34;\n    *(byte **)((int)piVar18 + -0xc) = pbVar20;\n    *(undefined ****)((int)piVar18 + -0x10) = local_b0;\n                    /* try { // try from 000d2e0a to 000d2e83 has its CatchHandler @ 000d302c */\n    *(undefined4 *)((int)piVar18 + -0x14) = 0xd2e0f;\n    FUN_00072b90();\n    iVar19 = 5;\n    bVar24 = (undefined1 *)0xffffffef < (undefined1 *)((int)piVar18 + -0x10);\n    bVar26 = piVar18 == (int *)0x0;\n    ppuVar14 = local_b8 + -0x67293;\n    ppuVar23 = local_34;\n    do {\n      if (iVar19 == 0) break;\n      iVar19 = iVar19 + -1;\n      bVar24 = *(byte *)ppuVar14 < *(byte *)ppuVar23;\n      bVar26 = *(byte *)ppuVar14 == *(byte *)ppuVar23;\n      ppuVar14 = (undefined **)((int)ppuVar14 + (uint)bVar27 * -2 + 1);\n      ppuVar23 = (undefined **)((int)ppuVar23 + (uint)bVar27 * -2 + 1);\n    } while (bVar26);\n    bVar25 = false;\n    bVar24 = (!bVar24 && !bVar26) == bVar24;\n    if (!bVar24) {\n      iVar19 = 0xf;\n      ppuVar14 = (undefined **)((int)local_b8 + -0x19ca46);\n      ppuVar23 = local_34;\n      do {\n        unaff_ESI = ppuVar14;\n        if (iVar19 == 0) break;\n        iVar19 = iVar19 + -1;\n        unaff_ESI = (undefined **)((int)ppuVar14 + (uint)bVar27 * -2 + 1);\n        bVar25 = *(byte *)ppuVar14 < *(byte *)ppuVar23;\n        bVar24 = *(byte *)ppuVar14 == *(byte *)ppuVar23;\n        ppuVar14 = unaff_ESI;\n        ppuVar23 = (undefined **)((int)ppuVar23 + (uint)bVar27 * -2 + 1);\n      } while (bVar24);\n      if ((!bVar25 && !bVar24) != bVar25) {\n        if (local_34 == local_b4) {\n          iVar19 = *local_dc;\n        }\n        else {\n          *(undefined ***)((int)piVar18 + -0x10) = local_34;\n          *(undefined4 *)((int)piVar18 + -0x14) = 0xd2ee3;\n          FUN_003ae080();\n          iVar19 = *local_dc;\n        }\n        goto LAB_000d22e5;\n      }\n    }\n    if (local_34 != local_b4) {\n      *(undefined ***)((int)piVar18 + -0x10) = local_34;\n      *(undefined4 *)((int)piVar18 + -0x14) = 0xd3010;\n      FUN_003ae080();\n    }\n    *(undefined ****)((int)piVar18 + -0xc) = local_b0;\n    local_34 = param_4;\n    local_30 = param_5;\n    local_b0 = *(undefined ****)(param_2 + 0x15c);\n    *(undefined ****)((int)piVar18 + -0x10) = local_b0 + 0x15;\n    *(undefined4 *)((int)piVar18 + -0x14) = 0xd2e84;\n    local_c8 = FUN_00074520();\n    local_cc = local_c8 + 0xc;\n    unaff_ESI = (undefined **)(local_c8 + 0x18);\n    local_d0 = local_c8 + 0x24;\n    local_ec = local_c8 + 0x30;\n    iVar19 = *local_dc;\n    local_d1 = '\x01';\n    local_e8 = unaff_ESI;\n  }\n  if (*(int *)(iVar19 + 8) == 0) {\n    *(undefined ***)((int)piVar18 + -4) = unaff_ESI;\n    *(undefined ***)((int)piVar18 + -8) = local_b8 + -0x61176;\n    *(undefined4 *)((int)piVar18 + -0xc) = 0x5c;\n    *(int *)((int)piVar18 + -0x10) = (int)local_b8 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 000d2fe0 to 000d3000 has its CatchHandler @ 000d302c */\n    *(undefined4 *)((int)piVar18 + -0x14) = 0xd2fe5;\n    FUN_002446e0();\n  }\n  local_d2 = '\0';\n  if (*(int *)(*(int *)(iVar19 + 8) + 0x5934) == 2) {\n    *(undefined4 *)((int)piVar18 + -0x10) = param_1;\n    *(undefined4 *)((int)piVar18 + -0x14) = 0xd2ceb;\n    local_d2 = FUN_000aaa70();\n    bVar24 = false;\n    bVar26 = local_d2 == '\0';\n    if (!bVar26) {\n      iVar19 = 0xc;\n      local_d2 = '\0';\n      ppuVar14 = local_b8 + -0x66894;\n      pbVar20 = local_4c[0];\n      do {\n        if (iVar19 == 0) break;\n        iVar19 = iVar19 + -1;\n        bVar24 = *(byte *)ppuVar14 < *pbVar20;\n        bVar26 = *(byte *)ppuVar14 == *pbVar20;\n        ppuVar14 = (undefined **)((int)ppuVar14 + (uint)bVar27 * -2 + 1);\n        pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n      } while (bVar26);\n      bVar25 = false;\n      bVar24 = (!bVar24 && !bVar26) == bVar24;\n      if (!bVar24) {\n        iVar19 = 0x11;\n        pbVar20 = (byte *)((int)local_b8 + -0x19a243);\n        pbVar9 = local_4c[0];\n        do {\n          if (iVar19 == 0) break;\n          iVar19 = iVar19 + -1;\n          bVar25 = *pbVar20 < *pbVar9;\n          bVar24 = *pbVar20 == *pbVar9;\n          pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n          pbVar9 = pbVar9 + (uint)bVar27 * -2 + 1;\n        } while (bVar24);\n        bVar26 = false;\n        bVar24 = (!bVar25 && !bVar24) == bVar25;\n        if (!bVar24) {\n          iVar19 = 0xc;\n          pbVar20 = (byte *)((int)local_b8 + -0x19a231);\n          pbVar9 = local_4c[0];\n          do {\n            if (iVar19 == 0) break;\n            iVar19 = iVar19 + -1;\n            bVar26 = *pbVar20 < *pbVar9;\n            bVar24 = *pbVar20 == *pbVar9;\n            pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n            pbVar9 = pbVar9 + (uint)bVar27 * -2 + 1;\n          } while (bVar24);\n          bVar25 = false;\n          bVar24 = (!bVar26 && !bVar24) == bVar26;\n          if (!bVar24) {\n            iVar19 = 0x11;\n            ppuVar14 = local_b8 + -0x66889;\n            pbVar20 = local_4c[0];\n            do {\n              if (iVar19 == 0) break;\n              iVar19 = iVar19 + -1;\n              bVar25 = *(byte *)ppuVar14 < *pbVar20;\n              bVar24 = *(byte *)ppuVar14 == *pbVar20;\n              ppuVar14 = (undefined **)((int)ppuVar14 + (uint)bVar27 * -2 + 1);\n              pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n            } while (bVar24);\n            bVar26 = false;\n            bVar24 = (!bVar25 && !bVar24) == bVar25;\n            if (!bVar24) {\n              iVar19 = 9;\n              pbVar20 = (byte *)((int)local_b8 + -0x19a212);\n              pbVar9 = local_4c[0];\n              do {\n                if (iVar19 == 0) break;\n                iVar19 = iVar19 + -1;\n                bVar26 = *pbVar20 < *pbVar9;\n                bVar24 = *pbVar20 == *pbVar9;\n                pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n                pbVar9 = pbVar9 + (uint)bVar27 * -2 + 1;\n              } while (bVar24);\n              local_d2 = (!bVar26 && !bVar24) != bVar26;\n            }\n          }\n        }\n      }\n    }\n  }\n  if (param_8 != 0) {\n    local_d8 = (byte *)0x0;\n    local_e0 = local_a4;\n    local_f4 = &local_8c;\n    local_e4 = 0;\n    do {\n      uVar2 = param_7[1];\n      uVar21 = uVar2 & 0xff;\n      puVar15 = (undefined *)(uVar2 >> 8);\n      local_bc = (undefined *)param_7[2];\n      if (puVar15 < param_11) {\n        if (param_12 == 0) {\n          *(undefined ***)((int)piVar18 + -8) = local_b8 + -0x615ed;\n          *(undefined4 *)((int)piVar18 + -0xc) = 0xea;\n          *(int *)((int)piVar18 + -0x10) = (int)local_b8 + -0x19ca36;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 000d2f44 to 000d2fac has its CatchHandler @ 000d302c */\n          *(undefined **)((int)piVar18 + -0x14) = &UNK_000d2f49;\n          FUN_002446e0();\n        }\n        iVar19 = (int)puVar15 * 0x10 + param_12;\n        local_b4 = (undefined **)(uint)*(ushort *)(iVar19 + 0xe);\n        if (local_b4 < (undefined **)0xff00) {\nLAB_000d24ee:\n          ppuVar14 = *(undefined ***)(iVar19 + 4);\n          local_c4 = local_bc + (int)ppuVar14;\n          if (local_d1 != '\0') {\n            local_34 = param_4;\n            local_30 = local_b4;\n            local_b0 = &local_34;\n            *(undefined ****)((int)piVar18 + -0xc) = local_b0;\n            *(int *)((int)piVar18 + -0x10) = local_c8;\n            *(undefined4 *)((int)piVar18 + -0x14) = 0xd2533;\n            FUN_00073b00();\n            local_c0 = (undefined **)CONCAT31(local_c0._1_3_,1);\n            if ((*(byte *)(iVar19 + 0xc) & 0xf) == 3) goto LAB_000d254c;\nLAB_000d23e8:\n            *(undefined ****)((int)piVar18 + -0xc) = local_b0;\n            *(int *)((int)piVar18 + -0x10) = local_cc;\n            local_34 = (undefined **)0x0;\n            *(undefined4 *)((int)piVar18 + -0x14) = 0xd2403;\n            FUN_00073ca0();\n            goto LAB_000d2403;\n          }\n        }\n        else {\n          if (local_b4 == (undefined **)0xffff) {\n            puVar7 = param_4[0xc];\n            if (puVar7 == (undefined *)0x0) {\n              puVar7 = *param_4;\n              *(undefined ***)((int)piVar18 + -0x10) = param_4;\n              pcVar4 = *(code **)(puVar7 + 0x6c);\n              *(undefined4 *)((int)piVar18 + -0x14) = 0xd2a4e;\n              puVar7 = (undefined *)(*pcVar4)();\n              param_4[0xc] = puVar7;\n            }\n            *(undefined **)((int)piVar18 + -8) = puVar15;\n            *(undefined ***)((int)piVar18 + -0xc) = param_4;\n            *(undefined **)((int)piVar18 + -0x10) = puVar7;\n            *(undefined4 *)((int)piVar18 + -0x14) = 0xd2591;\n            local_b4 = (undefined **)FUN_0028b7d0();\n            goto LAB_000d24ee;\n          }\n          ppuVar14 = *(undefined ***)(iVar19 + 4);\n          local_c4 = local_bc + (int)ppuVar14;\n          if (local_d1 == '\0') goto LAB_000d2489;\n          local_b0 = &local_34;\n          local_34 = (undefined **)0x0;\n          *(undefined ****)((int)piVar18 + -0xc) = local_b0;\n          *(int *)((int)piVar18 + -0x10) = local_c8;\n          local_30 = (undefined **)0x0;\n                    /* try { // try from 000d23ca to 000d2bf5 has its CatchHandler @ 000d302c */\n          *(undefined4 *)((int)piVar18 + -0x14) = 0xd23cf;\n          FUN_00073b00();\n          local_c0 = (undefined **)((uint)local_c0 & 0xffffff00);\n          if ((*(byte *)(iVar19 + 0xc) & 0xf) != 3) goto LAB_000d23e8;\nLAB_000d254c:\n          *(undefined ****)((int)piVar18 + -0xc) = local_b0;\n          *(int *)((int)piVar18 + -0x10) = local_cc;\n          local_34 = (undefined **)0xffffffff;\n          *(undefined4 *)((int)piVar18 + -0x14) = 0xd2567;\n          FUN_00073ca0();\nLAB_000d2403:\n          *(undefined ****)((int)piVar18 + -0xc) = local_b0;\n          *(undefined ***)((int)piVar18 + -0x10) = local_e8;\n          local_2c = local_bc;\n          local_28 = (int)local_bc >> 0x1f;\n          local_30 = (undefined **)0x0;\n          *(undefined4 *)((int)piVar18 + -0x14) = 0xd2433;\n          local_34 = ppuVar14;\n          FUN_00073e70();\n          local_30 = (undefined **)0x0;\n          local_34 = (undefined **)*param_7;\n          puVar1 = *(undefined4 **)(local_d0 + 4);\n          if (puVar1 == *(undefined4 **)(local_d0 + 8)) {\n            *(undefined ****)((int)piVar18 + -8) = local_b0;\n            *(undefined4 **)((int)piVar18 + -0xc) = puVar1;\n            *(int *)((int)piVar18 + -0x10) = local_d0;\n            *(undefined4 *)((int)piVar18 + -0x14) = 0xd2b0d;\n            FUN_00072a40();\n          }\n          else {\n            *puVar1 = local_34;\n            puVar1[1] = 0;\n            *(undefined4 **)(local_d0 + 4) = puVar1 + 2;\n          }\n          local_68 = (undefined **)0x0;\n          *(undefined ****)((int)piVar18 + -0xc) = &local_68;\n          *(int *)((int)piVar18 + -0x10) = local_ec;\n          *(undefined4 *)((int)piVar18 + -0x14) = 0xd2479;\n          FUN_00074020();\n          if ((char)local_c0 == '\0') goto LAB_000d2489;\n        }\n        if (((local_d2 != '\0') && ((*(byte *)(iVar19 + 0xc) & 0xf) != 1)) &&\n           ((0x17 < uVar21 || ((0x843f84U >> (uVar2 & 0x1f) & 1) == 0)))) {\n          local_b0 = *(undefined ****)(param_2 + 0x15c);\n          local_80 = param_4;\n          local_7c = (uint)*(ushort *)(iVar19 + 0xe);\n          *(undefined4 *)((int)piVar18 + -0xc) = 1;\n          *(undefined4 *)((int)piVar18 + -0x10) = 0;\n          local_98 = local_b0 + 0xd;\n          *(undefined *****)((int)piVar18 + -0x14) = &local_98;\n          *(undefined ****)((int)piVar18 + -0x18) = &local_80;\n          *(undefined ****)((int)piVar18 + -0x1c) = local_98;\n          *(undefined1 **)((int)piVar18 + -0x20) = local_e0;\n          *(undefined4 *)((int)piVar18 + -0x24) = 0xd2ad1;\n          FUN_00074280();\n          piVar18 = (int *)((int)piVar18 + -4);\n        }\n        if (param_5 != local_b4) {\n          local_c0 = param_4;\n          puVar17 = (undefined1 *)piVar18;\nLAB_000d275e:\n          if (*(int *)(*local_dc + 8) == 0) {\n            *(undefined ***)(puVar17 + -8) = local_b8 + -0x61176;\n            *(undefined4 *)(puVar17 + -0xc) = 0x5c;\n            *(int *)(puVar17 + -0x10) = (int)local_b8 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)(puVar17 + -0x14) = 0xd2f6e;\n            FUN_002446e0();\n          }\n          piVar18 = (int *)puVar17;\n          if (*(char *)(*(int *)(*local_dc + 8) + 0x18b1) != '\0') {\n            local_70 = param_4;\n            iVar19 = *(int *)(param_2 + 0x158) + 0x14;\n            local_6c = param_5;\n            local_68 = local_c0;\n            local_64 = local_b4;\n            iVar3 = *(int *)(*(int *)(param_2 + 0x158) + 0x18);\n            iVar10 = iVar19;\n            if (iVar3 == 0) {\nLAB_000d27f0:\n              local_88 = &local_70;\n              *(undefined *****)(puVar17 + -0x10) = &local_88;\n              *(undefined4 *)(puVar17 + -0x14) = 0xd2811;\n              FUN_000c5e40();\n              iVar11 = local_a8;\n            }\n            else {\n              do {\n                while ((iVar11 = iVar3, *(undefined ***)(iVar11 + 0x10) < param_4 ||\n                       ((param_4 == *(undefined ***)(iVar11 + 0x10) &&\n                        (*(undefined ***)(iVar11 + 0x14) < param_5))))) {\n                  piVar18 = (int *)(iVar11 + 0xc);\n                  iVar3 = *piVar18;\n                  iVar11 = iVar10;\n                  if (*piVar18 == 0) goto LAB_000d27da;\n                }\n                iVar3 = *(int *)(iVar11 + 8);\n                iVar10 = iVar11;\n              } while (*(int *)(iVar11 + 8) != 0);\nLAB_000d27da:\n              if (((iVar19 == iVar11) || (param_4 < *(undefined ***)(iVar11 + 0x10))) ||\n                 ((param_4 == *(undefined ***)(iVar11 + 0x10) &&\n                  (param_5 < *(undefined ***)(iVar11 + 0x14))))) goto LAB_000d27f0;\n            }\n            local_8c = iVar11 + 0x18;\n            *(undefined4 *)(puVar17 + -0xc) = 1;\n            *(undefined4 *)(puVar17 + -0x10) = 0;\n            *(int **)(puVar17 + -0x14) = local_f4;\n            *(undefined ****)(puVar17 + -0x18) = &local_68;\n            *(int *)(puVar17 + -0x1c) = local_8c;\n            *(undefined1 **)(puVar17 + -0x20) = local_e0;\n            *(undefined4 *)(puVar17 + -0x24) = 0xd2840;\n            FUN_00074340();\n            piVar18 = *(int **)(*local_dc + 0xc);\n            if (piVar18 == (int *)0x0) {\n              *(undefined ***)(puVar17 + -0xc) = local_b8 + -0x615c4;\n              *(undefined4 *)(puVar17 + -0x10) = 0x73;\n              *(int *)(puVar17 + -0x14) = (int)local_b8 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n              *(undefined4 *)(puVar17 + -0x18) = 0xd2fad;\n              FUN_002446e0();\n            }\n            iVar19 = *piVar18;\n            *(undefined **)(puVar17 + -0xc) = local_c4;\n            *(undefined ***)(puVar17 + -0x10) = local_b4;\n            *(undefined ***)(puVar17 + -0x14) = local_c0;\n            *(undefined ***)(puVar17 + -0x18) = param_5;\n            *(undefined ***)(puVar17 + -0x1c) = param_4;\n            *(int *)(puVar17 + -0x20) = param_2;\n            *(int **)(puVar17 + -0x24) = piVar18;\n            pcVar4 = *(code **)(iVar19 + 0x104);\n            *(undefined4 *)(puVar17 + -0x28) = 0xd287d;\n            (*pcVar4)();\n            pbVar20 = local_d8;\n            piVar18 = (int *)(puVar17 + -4);\n            if (local_d8 != (byte *)0x0) {\n              local_b4 = &local_2c;\n              local_b0 = &local_34;\n              iVar19 = *(int *)(param_2 + 0x158);\n              *(byte **)(puVar17 + -0x14) = local_d8;\n              local_34 = local_b4;\n              *(undefined4 *)(puVar17 + -0x18) = 0xd28bd;\n              sVar6 = strlen(*(char **)(puVar17 + -0x14));\n              pppuVar5 = local_b0;\n              *(undefined4 *)(puVar17 + -8) = 0;\n              *(byte **)(puVar17 + -0xc) = pbVar20 + sVar6;\n              *(byte **)(puVar17 + -0x10) = pbVar20;\n              *(undefined ****)(puVar17 + -0x14) = local_b0;\n              *(undefined4 *)(puVar17 + -0x18) = 0xd28d2;\n              FUN_00072b90();\n              *(undefined ****)(puVar17 + -0xc) = pppuVar5;\n              *(int *)(puVar17 + -0x10) = iVar19 + 0x44;\n              *(int **)(puVar17 + -0x14) = &local_ac;\n              *(undefined4 *)(puVar17 + -0x18) = 0xd28e6;\n              FUN_00094bd0();\n              iVar19 = local_ac;\n              if (local_34 != local_b4) {\n                *(undefined ***)(puVar17 + -0x18) = local_34;\n                *(undefined4 *)(puVar17 + -0x1c) = 0xd2909;\n                FUN_003ae080();\n              }\n              piVar18 = (int *)(puVar17 + -8);\n              iVar3 = *(int *)(param_2 + 0x158);\n              if (iVar19 != iVar3 + 0x48) {\n                local_34 = param_4;\n                local_30 = param_5;\n                iVar10 = *(int *)(iVar3 + 0x18);\n                iVar11 = iVar3 + 0x14;\n                if (*(int *)(iVar3 + 0x18) == 0) {\nLAB_000d2bd8:\n                  *(undefined *****)(puVar17 + -0x18) = &local_84;\n                  local_84 = local_b0;\n                  *(undefined4 *)(puVar17 + -0x1c) = 0xd2bf6;\n                  FUN_000c5e40();\n                  iVar12 = local_a8;\n                }\n                else {\n                  do {\n                    while ((iVar12 = iVar10, *(undefined ***)(iVar12 + 0x10) < param_4 ||\n                           ((param_4 == *(undefined ***)(iVar12 + 0x10) &&\n                            (*(undefined ***)(iVar12 + 0x14) < param_5))))) {\n                      piVar18 = (int *)(iVar12 + 0xc);\n                      iVar10 = *piVar18;\n                      iVar12 = iVar11;\n                      if (*piVar18 == 0) goto LAB_000d2962;\n                    }\n                    iVar10 = *(int *)(iVar12 + 8);\n                    iVar11 = iVar12;\n                  } while (*(int *)(iVar12 + 8) != 0);\nLAB_000d2962:\n                  if (((iVar12 == iVar3 + 0x14) || (param_4 < *(undefined ***)(iVar12 + 0x10))) ||\n                     ((param_4 == *(undefined ***)(iVar12 + 0x10) &&\n                      (param_5 < *(undefined ***)(iVar12 + 0x14))))) goto LAB_000d2bd8;\n                }\n                piVar18 = (int *)(puVar17 + -8);\n                puVar17 = puVar17 + -8;\n                for (puVar1 = *(undefined4 **)(iVar19 + 0x30); puVar1 != (undefined4 *)0x0;\n                    puVar1 = (undefined4 *)*puVar1) {\n                  *(undefined4 *)(puVar17 + -0xc) = 1;\n                  *(undefined4 *)(puVar17 + -0x10) = 0;\n                  *(int **)(puVar17 + -0x14) = &local_90;\n                  *(undefined4 **)(puVar17 + -0x18) = puVar1 + 1;\n                  *(int *)(puVar17 + -0x1c) = iVar12 + 0x18;\n                  *(undefined1 **)(puVar17 + -0x20) = local_e0;\n                  *(undefined4 *)(puVar17 + -0x24) = 0xd29ae;\n                  local_90 = iVar12 + 0x18;\n                  FUN_00074340();\n                  piVar18 = (int *)(puVar17 + -4);\n                  puVar17 = puVar17 + -4;\n                }\n              }\n            }\n          }\n        }\n      }\n      else {\n        if (puVar15 < param_4[0x2c]) {\n          local_70 = (undefined **)0x0;\nLAB_000d2a1f:\n          *(undefined ***)((int)piVar18 + -8) = local_b8 + -0x615ed;\n          *(undefined4 *)((int)piVar18 + -0xc) = 0x11c;\n          *(int *)((int)piVar18 + -0x10) = (int)local_b8 + -0x19ca36;\n                    /* WARNING: Subroutine does not return */\n          *(undefined4 *)((int)piVar18 + -0x14) = 0xd2a40;\n          FUN_002446e0();\n        }\n        uVar16 = (int)puVar15 - (int)param_4[0x2c];\n        local_b0 = (undefined ***)param_4[0x30];\n        if ((uint)((int)local_b0 - (int)param_4[0x2f] >> 2) <= uVar16) {\n          *(undefined ***)((int)piVar18 + -8) = local_b8 + -0x6156c;\n          *(undefined4 *)((int)piVar18 + -0xc) = 0x8ad;\n          *(int *)((int)piVar18 + -0x10) = (int)local_b8 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n          *(undefined4 *)((int)piVar18 + -0x14) = 0xd2f8f;\n          FUN_002446e0();\n        }\n        local_70 = *(undefined ***)(param_4[0x2f] + uVar16 * 4);\n        if (local_70 == (undefined **)0x0) goto LAB_000d2a1f;\n        if ((*(byte *)((int)local_70 + 0x2a) & 0x10) == 0) {\n          if ((*(byte *)((int)local_70 + 0x2a) & 7) == 0) goto LAB_000d25f7;\nLAB_000d29e2:\n          local_f0 = (undefined **)local_70[0xc];\n          bVar13 = 0;\n          local_b4 = (undefined **)0x0;\n          local_c0 = (undefined **)0x0;\n          bVar24 = CARRY4((uint)local_bc,(uint)local_f0);\n          local_c4 = local_bc + (int)local_f0;\n          bVar26 = local_c4 == (undefined *)0x0;\n        }\n        else {\n          *(undefined ***)((int)piVar18 + -0xc) = local_70;\n          *(int *)((int)piVar18 + -0x10) = param_2;\n          *(undefined4 *)((int)piVar18 + -0x14) = 0xd29d2;\n          local_70 = (undefined **)FUN_0034cd90();\n          if ((*(byte *)((int)local_70 + 0x2a) & 7) != 0) goto LAB_000d29e2;\nLAB_000d25f7:\n          local_f0 = (undefined **)local_70[0xc];\n          local_c0 = (undefined **)local_70[2];\n          local_c4 = local_bc + (int)local_f0;\n          if (((uint)local_c0[0xb] & 1) == 0) {\n            local_b4 = (undefined **)local_70[3];\n            bVar13 = *(byte *)((int)local_70 + 0x2b) >> 5 & 1;\n            bVar24 = (*(byte *)(local_70 + 10) & 0xf) < 2;\n            bVar26 = (*(byte *)(local_70 + 10) & 0xf) == 2;\n            if (bVar26) {\n              bVar24 = false;\n              bVar26 = local_d2 == '\0';\n              if ((!bVar26) &&\n                 (((bVar13 == 0 || (bVar26 = uVar21 == 0x17, 0x17 < uVar21)) ||\n                  (bVar24 = (0x843f84U >> (uVar2 & 0x1f) & 1) != 0, !bVar24)))) {\n                local_b0 = *(undefined ****)(param_2 + 0x15c);\n                *(undefined4 *)((int)piVar18 + -0xc) = 1;\n                *(undefined4 *)((int)piVar18 + -0x10) = 0;\n                *(undefined *****)((int)piVar18 + -0x14) = &local_94;\n                *(undefined ****)((int)piVar18 + -0x18) = &local_78;\n                local_94 = local_b0 + 0xd;\n                *(undefined ****)((int)piVar18 + -0x1c) = local_94;\n                *(undefined1 **)((int)piVar18 + -0x20) = local_e0;\n                    /* try { // try from 000d2cc6 to 000d2cca has its CatchHandler @ 000d302c */\n                *(undefined4 *)((int)piVar18 + -0x24) = 0xd2ccb;\n                local_78 = local_c0;\n                local_74 = local_b4;\n                FUN_00074280();\n                bVar24 = (undefined1 *)0xffffffe3 < (undefined1 *)((int)piVar18 + -0x20);\n                bVar26 = piVar18 == (int *)0x4;\n                piVar18 = (int *)((int)piVar18 + -4);\n              }\n            }\n          }\n          else {\n            local_b4 = (undefined **)0x0;\n            bVar24 = false;\n            bVar13 = 0;\n            bVar26 = true;\n            local_c0 = (undefined **)0x0;\n          }\n        }\n        pbVar20 = *local_70;\n        iVar19 = 8;\n        pbVar9 = (byte *)((int)local_b8 + -0x19ca26);\n        pbVar22 = pbVar20;\n        do {\n          if (iVar19 == 0) break;\n          iVar19 = iVar19 + -1;\n          bVar24 = *pbVar9 < *pbVar22;\n          bVar26 = *pbVar9 == *pbVar22;\n          pbVar9 = pbVar9 + (uint)bVar27 * -2 + 1;\n          pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n        } while (bVar26);\n        bVar25 = false;\n        bVar24 = (!bVar24 && !bVar26) == bVar24;\n        if (bVar24) {\n          pbVar20 = pbVar20 + 8;\n        }\n        else {\n          iVar19 = 7;\n          pbVar9 = (byte *)((int)local_b8 + -0x19ca1d);\n          pbVar22 = pbVar20;\n          do {\n            if (iVar19 == 0) break;\n            iVar19 = iVar19 + -1;\n            bVar25 = *pbVar9 < *pbVar22;\n            bVar24 = *pbVar9 == *pbVar22;\n            pbVar9 = pbVar9 + (uint)bVar27 * -2 + 1;\n            pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n          } while (bVar24);\n          pbVar20 = pbVar20 + 7;\n          if ((!bVar25 && !bVar24) != bVar25) {\n            pbVar20 = local_d8;\n          }\n        }\n        local_d8 = pbVar20;\n        if (local_d1 != '\0') {\n          if (bVar13 == 0) {\n            local_34 = (undefined **)0x0;\n            local_30 = (undefined **)0x0;\n          }\n          else {\n            local_34 = local_c0;\n            local_30 = local_b4;\n          }\n          local_b0 = &local_34;\n          *(undefined ****)((int)piVar18 + -0xc) = local_b0;\n          *(int *)((int)piVar18 + -0x10) = local_c8;\n          *(undefined4 *)((int)piVar18 + -0x14) = 0xd26b9;\n          FUN_00073b00();\n          puVar1 = *(undefined4 **)(local_cc + 4);\n          if (puVar1 == *(undefined4 **)(local_cc + 8)) {\n            *(undefined ****)((int)piVar18 + -8) = &local_70;\n            *(undefined4 **)((int)piVar18 + -0xc) = puVar1;\n            *(int *)((int)piVar18 + -0x10) = local_cc;\n            *(undefined4 *)((int)piVar18 + -0x14) = 0xd2b4b;\n            FUN_000726c0();\n          }\n          else {\n            *puVar1 = local_70;\n            *(undefined4 **)(local_cc + 4) = puVar1 + 1;\n          }\n          *(undefined ****)((int)piVar18 + -0xc) = local_b0;\n          *(undefined ***)((int)piVar18 + -0x10) = local_e8;\n          local_34 = local_f0;\n          local_30 = (undefined **)0x0;\n          local_2c = local_bc;\n          local_28 = (int)local_bc >> 0x1f;\n          *(undefined4 *)((int)piVar18 + -0x14) = 0xd270d;\n          FUN_00073e70();\n          local_30 = (undefined **)0x0;\n          local_34 = (undefined **)*param_7;\n          puVar1 = *(undefined4 **)(local_d0 + 4);\n          if (puVar1 == *(undefined4 **)(local_d0 + 8)) {\n            *(undefined ****)((int)piVar18 + -8) = local_b0;\n            *(undefined4 **)((int)piVar18 + -0xc) = puVar1;\n            *(int *)((int)piVar18 + -0x10) = local_d0;\n            *(undefined4 *)((int)piVar18 + -0x14) = 0xd2bbd;\n            FUN_00072a40();\n          }\n          else {\n            *puVar1 = local_34;\n            puVar1[1] = 0;\n            *(undefined4 **)(local_d0 + 4) = puVar1 + 2;\n          }\n          local_68 = (undefined **)0x0;\n          *(undefined ****)((int)piVar18 + -0xc) = &local_68;\n          *(int *)((int)piVar18 + -0x10) = local_ec;\n          *(undefined4 *)((int)piVar18 + -0x14) = 0xd2753;\n          FUN_00074020();\n        }\n        puVar17 = (undefined1 *)piVar18;\n        if (bVar13 != 0) goto LAB_000d275e;\n      }\nLAB_000d2489:\n      local_e4 = local_e4 + 1;\n      param_7 = param_7 + 3;\n    } while (param_8 != local_e4);\n  }\n  if (local_4c[0] != local_f8) {\n    *(byte **)((int)piVar18 + -0x10) = local_4c[0];\n    *(undefined4 *)((int)piVar18 + -0x14) = 0xd2c22;\n    FUN_003ae080();\n  }\n  if ((local_60 != 0) && (local_5c != 0)) {\n    *(undefined ***)((int)piVar18 + -0x10) = local_b8 + -0x60d6c;\n    *(undefined4 *)((int)piVar18 + -0x14) = 0xd2c4a;\n    uVar8 = gettext();\n    *(undefined4 *)((int)piVar18 + -0x10) = uVar8;\n    uVar8 = local_54;\n    *(undefined4 *)((int)piVar18 + -0x14) = 0;\n    *(undefined4 *)((int)piVar18 + -0x18) = uVar8;\n    *(undefined4 *)((int)piVar18 + -0x1c) = local_58;\n    *(int *)((int)piVar18 + -0x20) = local_5c;\n    *(undefined4 *)((int)piVar18 + -0x24) = 0xd2c5f;\n    FUN_0023bd50();\n  }\n  return;\n}\n\n" comment (function_definition "void FUN_000d2220(undefined4 param_1,int param_2,undefined4 param_3,undefined **param_4,\n                 undefined **param_5,undefined4 param_6,undefined4 *param_7,int param_8,\n                 undefined4 param_9,undefined4 param_10,undefined *param_11,int param_12)\n\n{\n  undefined4 *puVar1;\n  uint uVar2;\n  int iVar3;\n  code *pcVar4;\n  undefined ***pppuVar5;\n  size_t sVar6;\n  undefined *puVar7;\n  undefined4 uVar8;\n  byte *pbVar9;\n  int iVar10;\n  int iVar11;\n  int iVar12;\n  byte bVar13;\n  undefined **ppuVar14;\n  undefined *puVar15;\n  uint uVar16;\n  undefined1 *puVar17;\n  int *piVar18;\n  undefined **unaff_ESI;\n  int iVar19;\n  byte *pbVar20;\n  uint uVar21;\n  byte *pbVar22;\n  undefined **ppuVar23;\n  bool bVar24;\n  bool bVar25;\n  bool bVar26;\n  byte bVar27;\n  int iStack_100;\n  undefined1 auStack_fc [4];\n  byte *local_f8;\n  int *local_f4;\n  undefined **local_f0;\n  int local_ec;\n  undefined **local_e8;\n  int local_e4;\n  undefined1 *local_e0;\n  int *local_dc;\n  byte *local_d8;\n  char local_d2;\n  char local_d1;\n  int local_d0;\n  int local_cc;\n  int local_c8;\n  undefined *local_c4;\n  undefined **local_c0;\n  undefined *local_bc;\n  undefined **local_b8;\n  undefined **local_b4;\n  undefined ***local_b0;\n  int local_ac;\n  int local_a8;\n  undefined1 local_a4 [12];\n  undefined ***local_98;\n  undefined ***local_94;\n  int local_90;\n  int local_8c;\n  undefined ***local_88;\n  undefined ***local_84;\n  undefined **local_80;\n  uint local_7c;\n  undefined **local_78;\n  undefined **local_74;\n  undefined **local_70;\n  undefined **local_6c;\n  undefined **local_68;\n  undefined **local_64;\n  int local_60;\n  int local_5c;\n  undefined4 local_58;\n  undefined4 local_54;\n  undefined1 local_50;\n  byte *local_4c [2];\n  byte local_44 [16];\n  undefined **local_34;\n  undefined **local_30;\n  undefined *local_2c;\n  int local_28;\n  \n  bVar27 = 0;\n  local_b8 = &__DT_PLTGOT;\n  local_dc = &DAT_005ea7c8;\n  local_60 = 0;\n  local_5c = 0;\n  iVar19 = *(int *)(DAT_005ea7c8 + 8);\n  local_58 = 0;\n  local_54 = 0;\n  local_50 = 0;\n  if (iVar19 == 0) {\n    iStack_100 = iVar19;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 000d2fc4 to 000d2fc8 has its CatchHandler @ 000d3025 */\n    FUN_002446e0("../../gold/parameters.h",0x5c,"options");\n  }\n  if (*(int *)(iVar19 + 0x5934) == 0) {\n    local_f8 = local_44;\n    iStack_100 = 0;\n    local_4c[0] = local_f8;\n                    /* try { // try from 000d2dc0 to 000d2dc4 has its CatchHandler @ 000d3025 */\n    FUN_00072b90(local_4c,"","");\n    piVar18 = (int *)auStack_fc;\n  }\n  else {\n    unaff_ESI = &__DT_PLTGOT;\n    if (*(code **)(*param_4 + 0x40) == FUN_00106550) {\n                    /* try { // try from 000d22b3 to 000d22b7 has its CatchHandler @ 000d3025 */\n      FUN_001063c0(local_4c,param_4 + 0x24,param_5);\n      unaff_ESI = param_4;\n    }\n    else {\n                    /* try { // try from 000d2f05 to 000d2f06 has its CatchHandler @ 000d3025 */\n      (**(code **)(*param_4 + 0x40))(local_4c,param_4,param_5);\n    }\n    local_f8 = local_44;\n    piVar18 = &iStack_100;\n  }\n  pbVar20 = local_4c[0];\n  iVar19 = *local_dc;\n  if (*(int *)(iVar19 + 8) == 0) {\n    *(int *)((int)piVar18 + -4) = iVar19;\n    *(undefined ***)((int)piVar18 + -8) = local_b8 + -0x61176;\n    *(undefined4 *)((int)piVar18 + -0xc) = 0x5c;\n    *(int *)((int)piVar18 + -0x10) = (int)local_b8 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n    *(undefined4 *)((int)piVar18 + -0x14) = 0xd3001;\n    FUN_002446e0();\n  }\n  if (*(int *)(*(int *)(iVar19 + 8) + 0x5934) == 0) {\nLAB_000d22e5:\n    local_d1 = '\0';\n    local_ec = 0;\n    local_d0 = 0;\n    local_e8 = (undefined **)0x0;\n    local_cc = 0;\n    local_c8 = 0;\n  }\n  else {\n    local_b4 = &local_2c;\n    local_34 = local_b4;\n    pbVar9 = (byte *)0xffffffff;\n    if (local_4c[0] != (byte *)0x0) {\n      *(byte **)((int)piVar18 + -0x10) = local_4c[0];\n      *(undefined4 *)((int)piVar18 + -0x14) = 0xd2df7;\n      sVar6 = strlen(*(char **)((int)piVar18 + -0x10));\n      pbVar9 = pbVar20 + sVar6;\n    }\n    *(undefined4 *)((int)piVar18 + -4) = 0;\n    *(byte **)((int)piVar18 + -8) = pbVar9;\n    local_b0 = &local_34;\n    *(byte **)((int)piVar18 + -0xc) = pbVar20;\n    *(undefined ****)((int)piVar18 + -0x10) = local_b0;\n                    /* try { // try from 000d2e0a to 000d2e83 has its CatchHandler @ 000d302c */\n    *(undefined4 *)((int)piVar18 + -0x14) = 0xd2e0f;\n    FUN_00072b90();\n    iVar19 = 5;\n    bVar24 = (undefined1 *)0xffffffef < (undefined1 *)((int)piVar18 + -0x10);\n    bVar26 = piVar18 == (int *)0x0;\n    ppuVar14 = local_b8 + -0x67293;\n    ppuVar23 = local_34;\n    do {\n      if (iVar19 == 0) break;\n      iVar19 = iVar19 + -1;\n      bVar24 = *(byte *)ppuVar14 < *(byte *)ppuVar23;\n      bVar26 = *(byte *)ppuVar14 == *(byte *)ppuVar23;\n      ppuVar14 = (undefined **)((int)ppuVar14 + (uint)bVar27 * -2 + 1);\n      ppuVar23 = (undefined **)((int)ppuVar23 + (uint)bVar27 * -2 + 1);\n    } while (bVar26);\n    bVar25 = false;\n    bVar24 = (!bVar24 && !bVar26) == bVar24;\n    if (!bVar24) {\n      iVar19 = 0xf;\n      ppuVar14 = (undefined **)((int)local_b8 + -0x19ca46);\n      ppuVar23 = local_34;\n      do {\n        unaff_ESI = ppuVar14;\n        if (iVar19 == 0) break;\n        iVar19 = iVar19 + -1;\n        unaff_ESI = (undefined **)((int)ppuVar14 + (uint)bVar27 * -2 + 1);\n        bVar25 = *(byte *)ppuVar14 < *(byte *)ppuVar23;\n        bVar24 = *(byte *)ppuVar14 == *(byte *)ppuVar23;\n        ppuVar14 = unaff_ESI;\n        ppuVar23 = (undefined **)((int)ppuVar23 + (uint)bVar27 * -2 + 1);\n      } while (bVar24);\n      if ((!bVar25 && !bVar24) != bVar25) {\n        if (local_34 == local_b4) {\n          iVar19 = *local_dc;\n        }\n        else {\n          *(undefined ***)((int)piVar18 + -0x10) = local_34;\n          *(undefined4 *)((int)piVar18 + -0x14) = 0xd2ee3;\n          FUN_003ae080();\n          iVar19 = *local_dc;\n        }\n        goto LAB_000d22e5;\n      }\n    }\n    if (local_34 != local_b4) {\n      *(undefined ***)((int)piVar18 + -0x10) = local_34;\n      *(undefined4 *)((int)piVar18 + -0x14) = 0xd3010;\n      FUN_003ae080();\n    }\n    *(undefined ****)((int)piVar18 + -0xc) = local_b0;\n    local_34 = param_4;\n    local_30 = param_5;\n    local_b0 = *(undefined ****)(param_2 + 0x15c);\n    *(undefined ****)((int)piVar18 + -0x10) = local_b0 + 0x15;\n    *(undefined4 *)((int)piVar18 + -0x14) = 0xd2e84;\n    local_c8 = FUN_00074520();\n    local_cc = local_c8 + 0xc;\n    unaff_ESI = (undefined **)(local_c8 + 0x18);\n    local_d0 = local_c8 + 0x24;\n    local_ec = local_c8 + 0x30;\n    iVar19 = *local_dc;\n    local_d1 = '\x01';\n    local_e8 = unaff_ESI;\n  }\n  if (*(int *)(iVar19 + 8) == 0) {\n    *(undefined ***)((int)piVar18 + -4) = unaff_ESI;\n    *(undefined ***)((int)piVar18 + -8) = local_b8 + -0x61176;\n    *(undefined4 *)((int)piVar18 + -0xc) = 0x5c;\n    *(int *)((int)piVar18 + -0x10) = (int)local_b8 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 000d2fe0 to 000d3000 has its CatchHandler @ 000d302c */\n    *(undefined4 *)((int)piVar18 + -0x14) = 0xd2fe5;\n    FUN_002446e0();\n  }\n  local_d2 = '\0';\n  if (*(int *)(*(int *)(iVar19 + 8) + 0x5934) == 2) {\n    *(undefined4 *)((int)piVar18 + -0x10) = param_1;\n    *(undefined4 *)((int)piVar18 + -0x14) = 0xd2ceb;\n    local_d2 = FUN_000aaa70();\n    bVar24 = false;\n    bVar26 = local_d2 == '\0';\n    if (!bVar26) {\n      iVar19 = 0xc;\n      local_d2 = '\0';\n      ppuVar14 = local_b8 + -0x66894;\n      pbVar20 = local_4c[0];\n      do {\n        if (iVar19 == 0) break;\n        iVar19 = iVar19 + -1;\n        bVar24 = *(byte *)ppuVar14 < *pbVar20;\n        bVar26 = *(byte *)ppuVar14 == *pbVar20;\n        ppuVar14 = (undefined **)((int)ppuVar14 + (uint)bVar27 * -2 + 1);\n        pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n      } while (bVar26);\n      bVar25 = false;\n      bVar24 = (!bVar24 && !bVar26) == bVar24;\n      if (!bVar24) {\n        iVar19 = 0x11;\n        pbVar20 = (byte *)((int)local_b8 + -0x19a243);\n        pbVar9 = local_4c[0];\n        do {\n          if (iVar19 == 0) break;\n          iVar19 = iVar19 + -1;\n          bVar25 = *pbVar20 < *pbVar9;\n          bVar24 = *pbVar20 == *pbVar9;\n          pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n          pbVar9 = pbVar9 + (uint)bVar27 * -2 + 1;\n        } while (bVar24);\n        bVar26 = false;\n        bVar24 = (!bVar25 && !bVar24) == bVar25;\n        if (!bVar24) {\n          iVar19 = 0xc;\n          pbVar20 = (byte *)((int)local_b8 + -0x19a231);\n          pbVar9 = local_4c[0];\n          do {\n            if (iVar19 == 0) break;\n            iVar19 = iVar19 + -1;\n            bVar26 = *pbVar20 < *pbVar9;\n            bVar24 = *pbVar20 == *pbVar9;\n            pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n            pbVar9 = pbVar9 + (uint)bVar27 * -2 + 1;\n          } while (bVar24);\n          bVar25 = false;\n          bVar24 = (!bVar26 && !bVar24) == bVar26;\n          if (!bVar24) {\n            iVar19 = 0x11;\n            ppuVar14 = local_b8 + -0x66889;\n            pbVar20 = local_4c[0];\n            do {\n              if (iVar19 == 0) break;\n              iVar19 = iVar19 + -1;\n              bVar25 = *(byte *)ppuVar14 < *pbVar20;\n              bVar24 = *(byte *)ppuVar14 == *pbVar20;\n              ppuVar14 = (undefined **)((int)ppuVar14 + (uint)bVar27 * -2 + 1);\n              pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n            } while (bVar24);\n            bVar26 = false;\n            bVar24 = (!bVar25 && !bVar24) == bVar25;\n            if (!bVar24) {\n              iVar19 = 9;\n              pbVar20 = (byte *)((int)local_b8 + -0x19a212);\n              pbVar9 = local_4c[0];\n              do {\n                if (iVar19 == 0) break;\n                iVar19 = iVar19 + -1;\n                bVar26 = *pbVar20 < *pbVar9;\n                bVar24 = *pbVar20 == *pbVar9;\n                pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n                pbVar9 = pbVar9 + (uint)bVar27 * -2 + 1;\n              } while (bVar24);\n              local_d2 = (!bVar26 && !bVar24) != bVar26;\n            }\n          }\n        }\n      }\n    }\n  }\n  if (param_8 != 0) {\n    local_d8 = (byte *)0x0;\n    local_e0 = local_a4;\n    local_f4 = &local_8c;\n    local_e4 = 0;\n    do {\n      uVar2 = param_7[1];\n      uVar21 = uVar2 & 0xff;\n      puVar15 = (undefined *)(uVar2 >> 8);\n      local_bc = (undefined *)param_7[2];\n      if (puVar15 < param_11) {\n        if (param_12 == 0) {\n          *(undefined ***)((int)piVar18 + -8) = local_b8 + -0x615ed;\n          *(undefined4 *)((int)piVar18 + -0xc) = 0xea;\n          *(int *)((int)piVar18 + -0x10) = (int)local_b8 + -0x19ca36;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 000d2f44 to 000d2fac has its CatchHandler @ 000d302c */\n          *(undefined **)((int)piVar18 + -0x14) = &UNK_000d2f49;\n          FUN_002446e0();\n        }\n        iVar19 = (int)puVar15 * 0x10 + param_12;\n        local_b4 = (undefined **)(uint)*(ushort *)(iVar19 + 0xe);\n        if (local_b4 < (undefined **)0xff00) {\nLAB_000d24ee:\n          ppuVar14 = *(undefined ***)(iVar19 + 4);\n          local_c4 = local_bc + (int)ppuVar14;\n          if (local_d1 != '\0') {\n            local_34 = param_4;\n            local_30 = local_b4;\n            local_b0 = &local_34;\n            *(undefined ****)((int)piVar18 + -0xc) = local_b0;\n            *(int *)((int)piVar18 + -0x10) = local_c8;\n            *(undefined4 *)((int)piVar18 + -0x14) = 0xd2533;\n            FUN_00073b00();\n            local_c0 = (undefined **)CONCAT31(local_c0._1_3_,1);\n            if ((*(byte *)(iVar19 + 0xc) & 0xf) == 3) goto LAB_000d254c;\nLAB_000d23e8:\n            *(undefined ****)((int)piVar18 + -0xc) = local_b0;\n            *(int *)((int)piVar18 + -0x10) = local_cc;\n            local_34 = (undefined **)0x0;\n            *(undefined4 *)((int)piVar18 + -0x14) = 0xd2403;\n            FUN_00073ca0();\n            goto LAB_000d2403;\n          }\n        }\n        else {\n          if (local_b4 == (undefined **)0xffff) {\n            puVar7 = param_4[0xc];\n            if (puVar7 == (undefined *)0x0) {\n              puVar7 = *param_4;\n              *(undefined ***)((int)piVar18 + -0x10) = param_4;\n              pcVar4 = *(code **)(puVar7 + 0x6c);\n              *(undefined4 *)((int)piVar18 + -0x14) = 0xd2a4e;\n              puVar7 = (undefined *)(*pcVar4)();\n              param_4[0xc] = puVar7;\n            }\n            *(undefined **)((int)piVar18 + -8) = puVar15;\n            *(undefined ***)((int)piVar18 + -0xc) = param_4;\n            *(undefined **)((int)piVar18 + -0x10) = puVar7;\n            *(undefined4 *)((int)piVar18 + -0x14) = 0xd2591;\n            local_b4 = (undefined **)FUN_0028b7d0();\n            goto LAB_000d24ee;\n          }\n          ppuVar14 = *(undefined ***)(iVar19 + 4);\n          local_c4 = local_bc + (int)ppuVar14;\n          if (local_d1 == '\0') goto LAB_000d2489;\n          local_b0 = &local_34;\n          local_34 = (undefined **)0x0;\n          *(undefined ****)((int)piVar18 + -0xc) = local_b0;\n          *(int *)((int)piVar18 + -0x10) = local_c8;\n          local_30 = (undefined **)0x0;\n                    /* try { // try from 000d23ca to 000d2bf5 has its CatchHandler @ 000d302c */\n          *(undefined4 *)((int)piVar18 + -0x14) = 0xd23cf;\n          FUN_00073b00();\n          local_c0 = (undefined **)((uint)local_c0 & 0xffffff00);\n          if ((*(byte *)(iVar19 + 0xc) & 0xf) != 3) goto LAB_000d23e8;\nLAB_000d254c:\n          *(undefined ****)((int)piVar18 + -0xc) = local_b0;\n          *(int *)((int)piVar18 + -0x10) = local_cc;\n          local_34 = (undefined **)0xffffffff;\n          *(undefined4 *)((int)piVar18 + -0x14) = 0xd2567;\n          FUN_00073ca0();\nLAB_000d2403:\n          *(undefined ****)((int)piVar18 + -0xc) = local_b0;\n          *(undefined ***)((int)piVar18 + -0x10) = local_e8;\n          local_2c = local_bc;\n          local_28 = (int)local_bc >> 0x1f;\n          local_30 = (undefined **)0x0;\n          *(undefined4 *)((int)piVar18 + -0x14) = 0xd2433;\n          local_34 = ppuVar14;\n          FUN_00073e70();\n          local_30 = (undefined **)0x0;\n          local_34 = (undefined **)*param_7;\n          puVar1 = *(undefined4 **)(local_d0 + 4);\n          if (puVar1 == *(undefined4 **)(local_d0 + 8)) {\n            *(undefined ****)((int)piVar18 + -8) = local_b0;\n            *(undefined4 **)((int)piVar18 + -0xc) = puVar1;\n            *(int *)((int)piVar18 + -0x10) = local_d0;\n            *(undefined4 *)((int)piVar18 + -0x14) = 0xd2b0d;\n            FUN_00072a40();\n          }\n          else {\n            *puVar1 = local_34;\n            puVar1[1] = 0;\n            *(undefined4 **)(local_d0 + 4) = puVar1 + 2;\n          }\n          local_68 = (undefined **)0x0;\n          *(undefined ****)((int)piVar18 + -0xc) = &local_68;\n          *(int *)((int)piVar18 + -0x10) = local_ec;\n          *(undefined4 *)((int)piVar18 + -0x14) = 0xd2479;\n          FUN_00074020();\n          if ((char)local_c0 == '\0') goto LAB_000d2489;\n        }\n        if (((local_d2 != '\0') && ((*(byte *)(iVar19 + 0xc) & 0xf) != 1)) &&\n           ((0x17 < uVar21 || ((0x843f84U >> (uVar2 & 0x1f) & 1) == 0)))) {\n          local_b0 = *(undefined ****)(param_2 + 0x15c);\n          local_80 = param_4;\n          local_7c = (uint)*(ushort *)(iVar19 + 0xe);\n          *(undefined4 *)((int)piVar18 + -0xc) = 1;\n          *(undefined4 *)((int)piVar18 + -0x10) = 0;\n          local_98 = local_b0 + 0xd;\n          *(undefined *****)((int)piVar18 + -0x14) = &local_98;\n          *(undefined ****)((int)piVar18 + -0x18) = &local_80;\n          *(undefined ****)((int)piVar18 + -0x1c) = local_98;\n          *(undefined1 **)((int)piVar18 + -0x20) = local_e0;\n          *(undefined4 *)((int)piVar18 + -0x24) = 0xd2ad1;\n          FUN_00074280();\n          piVar18 = (int *)((int)piVar18 + -4);\n        }\n        if (param_5 != local_b4) {\n          local_c0 = param_4;\n          puVar17 = (undefined1 *)piVar18;\nLAB_000d275e:\n          if (*(int *)(*local_dc + 8) == 0) {\n            *(undefined ***)(puVar17 + -8) = local_b8 + -0x61176;\n            *(undefined4 *)(puVar17 + -0xc) = 0x5c;\n            *(int *)(puVar17 + -0x10) = (int)local_b8 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)(puVar17 + -0x14) = 0xd2f6e;\n            FUN_002446e0();\n          }\n          piVar18 = (int *)puVar17;\n          if (*(char *)(*(int *)(*local_dc + 8) + 0x18b1) != '\0') {\n            local_70 = param_4;\n            iVar19 = *(int *)(param_2 + 0x158) + 0x14;\n            local_6c = param_5;\n            local_68 = local_c0;\n            local_64 = local_b4;\n            iVar3 = *(int *)(*(int *)(param_2 + 0x158) + 0x18);\n            iVar10 = iVar19;\n            if (iVar3 == 0) {\nLAB_000d27f0:\n              local_88 = &local_70;\n              *(undefined *****)(puVar17 + -0x10) = &local_88;\n              *(undefined4 *)(puVar17 + -0x14) = 0xd2811;\n              FUN_000c5e40();\n              iVar11 = local_a8;\n            }\n            else {\n              do {\n                while ((iVar11 = iVar3, *(undefined ***)(iVar11 + 0x10) < param_4 ||\n                       ((param_4 == *(undefined ***)(iVar11 + 0x10) &&\n                        (*(undefined ***)(iVar11 + 0x14) < param_5))))) {\n                  piVar18 = (int *)(iVar11 + 0xc);\n                  iVar3 = *piVar18;\n                  iVar11 = iVar10;\n                  if (*piVar18 == 0) goto LAB_000d27da;\n                }\n                iVar3 = *(int *)(iVar11 + 8);\n                iVar10 = iVar11;\n              } while (*(int *)(iVar11 + 8) != 0);\nLAB_000d27da:\n              if (((iVar19 == iVar11) || (param_4 < *(undefined ***)(iVar11 + 0x10))) ||\n                 ((param_4 == *(undefined ***)(iVar11 + 0x10) &&\n                  (param_5 < *(undefined ***)(iVar11 + 0x14))))) goto LAB_000d27f0;\n            }\n            local_8c = iVar11 + 0x18;\n            *(undefined4 *)(puVar17 + -0xc) = 1;\n            *(undefined4 *)(puVar17 + -0x10) = 0;\n            *(int **)(puVar17 + -0x14) = local_f4;\n            *(undefined ****)(puVar17 + -0x18) = &local_68;\n            *(int *)(puVar17 + -0x1c) = local_8c;\n            *(undefined1 **)(puVar17 + -0x20) = local_e0;\n            *(undefined4 *)(puVar17 + -0x24) = 0xd2840;\n            FUN_00074340();\n            piVar18 = *(int **)(*local_dc + 0xc);\n            if (piVar18 == (int *)0x0) {\n              *(undefined ***)(puVar17 + -0xc) = local_b8 + -0x615c4;\n              *(undefined4 *)(puVar17 + -0x10) = 0x73;\n              *(int *)(puVar17 + -0x14) = (int)local_b8 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n              *(undefined4 *)(puVar17 + -0x18) = 0xd2fad;\n              FUN_002446e0();\n            }\n            iVar19 = *piVar18;\n            *(undefined **)(puVar17 + -0xc) = local_c4;\n            *(undefined ***)(puVar17 + -0x10) = local_b4;\n            *(undefined ***)(puVar17 + -0x14) = local_c0;\n            *(undefined ***)(puVar17 + -0x18) = param_5;\n            *(undefined ***)(puVar17 + -0x1c) = param_4;\n            *(int *)(puVar17 + -0x20) = param_2;\n            *(int **)(puVar17 + -0x24) = piVar18;\n            pcVar4 = *(code **)(iVar19 + 0x104);\n            *(undefined4 *)(puVar17 + -0x28) = 0xd287d;\n            (*pcVar4)();\n            pbVar20 = local_d8;\n            piVar18 = (int *)(puVar17 + -4);\n            if (local_d8 != (byte *)0x0) {\n              local_b4 = &local_2c;\n              local_b0 = &local_34;\n              iVar19 = *(int *)(param_2 + 0x158);\n              *(byte **)(puVar17 + -0x14) = local_d8;\n              local_34 = local_b4;\n              *(undefined4 *)(puVar17 + -0x18) = 0xd28bd;\n              sVar6 = strlen(*(char **)(puVar17 + -0x14));\n              pppuVar5 = local_b0;\n              *(undefined4 *)(puVar17 + -8) = 0;\n              *(byte **)(puVar17 + -0xc) = pbVar20 + sVar6;\n              *(byte **)(puVar17 + -0x10) = pbVar20;\n              *(undefined ****)(puVar17 + -0x14) = local_b0;\n              *(undefined4 *)(puVar17 + -0x18) = 0xd28d2;\n              FUN_00072b90();\n              *(undefined ****)(puVar17 + -0xc) = pppuVar5;\n              *(int *)(puVar17 + -0x10) = iVar19 + 0x44;\n              *(int **)(puVar17 + -0x14) = &local_ac;\n              *(undefined4 *)(puVar17 + -0x18) = 0xd28e6;\n              FUN_00094bd0();\n              iVar19 = local_ac;\n              if (local_34 != local_b4) {\n                *(undefined ***)(puVar17 + -0x18) = local_34;\n                *(undefined4 *)(puVar17 + -0x1c) = 0xd2909;\n                FUN_003ae080();\n              }\n              piVar18 = (int *)(puVar17 + -8);\n              iVar3 = *(int *)(param_2 + 0x158);\n              if (iVar19 != iVar3 + 0x48) {\n                local_34 = param_4;\n                local_30 = param_5;\n                iVar10 = *(int *)(iVar3 + 0x18);\n                iVar11 = iVar3 + 0x14;\n                if (*(int *)(iVar3 + 0x18) == 0) {\nLAB_000d2bd8:\n                  *(undefined *****)(puVar17 + -0x18) = &local_84;\n                  local_84 = local_b0;\n                  *(undefined4 *)(puVar17 + -0x1c) = 0xd2bf6;\n                  FUN_000c5e40();\n                  iVar12 = local_a8;\n                }\n                else {\n                  do {\n                    while ((iVar12 = iVar10, *(undefined ***)(iVar12 + 0x10) < param_4 ||\n                           ((param_4 == *(undefined ***)(iVar12 + 0x10) &&\n                            (*(undefined ***)(iVar12 + 0x14) < param_5))))) {\n                      piVar18 = (int *)(iVar12 + 0xc);\n                      iVar10 = *piVar18;\n                      iVar12 = iVar11;\n                      if (*piVar18 == 0) goto LAB_000d2962;\n                    }\n                    iVar10 = *(int *)(iVar12 + 8);\n                    iVar11 = iVar12;\n                  } while (*(int *)(iVar12 + 8) != 0);\nLAB_000d2962:\n                  if (((iVar12 == iVar3 + 0x14) || (param_4 < *(undefined ***)(iVar12 + 0x10))) ||\n                     ((param_4 == *(undefined ***)(iVar12 + 0x10) &&\n                      (param_5 < *(undefined ***)(iVar12 + 0x14))))) goto LAB_000d2bd8;\n                }\n                piVar18 = (int *)(puVar17 + -8);\n                puVar17 = puVar17 + -8;\n                for (puVar1 = *(undefined4 **)(iVar19 + 0x30); puVar1 != (undefined4 *)0x0;\n                    puVar1 = (undefined4 *)*puVar1) {\n                  *(undefined4 *)(puVar17 + -0xc) = 1;\n                  *(undefined4 *)(puVar17 + -0x10) = 0;\n                  *(int **)(puVar17 + -0x14) = &local_90;\n                  *(undefined4 **)(puVar17 + -0x18) = puVar1 + 1;\n                  *(int *)(puVar17 + -0x1c) = iVar12 + 0x18;\n                  *(undefined1 **)(puVar17 + -0x20) = local_e0;\n                  *(undefined4 *)(puVar17 + -0x24) = 0xd29ae;\n                  local_90 = iVar12 + 0x18;\n                  FUN_00074340();\n                  piVar18 = (int *)(puVar17 + -4);\n                  puVar17 = puVar17 + -4;\n                }\n              }\n            }\n          }\n        }\n      }\n      else {\n        if (puVar15 < param_4[0x2c]) {\n          local_70 = (undefined **)0x0;\nLAB_000d2a1f:\n          *(undefined ***)((int)piVar18 + -8) = local_b8 + -0x615ed;\n          *(undefined4 *)((int)piVar18 + -0xc) = 0x11c;\n          *(int *)((int)piVar18 + -0x10) = (int)local_b8 + -0x19ca36;\n                    /* WARNING: Subroutine does not return */\n          *(undefined4 *)((int)piVar18 + -0x14) = 0xd2a40;\n          FUN_002446e0();\n        }\n        uVar16 = (int)puVar15 - (int)param_4[0x2c];\n        local_b0 = (undefined ***)param_4[0x30];\n        if ((uint)((int)local_b0 - (int)param_4[0x2f] >> 2) <= uVar16) {\n          *(undefined ***)((int)piVar18 + -8) = local_b8 + -0x6156c;\n          *(undefined4 *)((int)piVar18 + -0xc) = 0x8ad;\n          *(int *)((int)piVar18 + -0x10) = (int)local_b8 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n          *(undefined4 *)((int)piVar18 + -0x14) = 0xd2f8f;\n          FUN_002446e0();\n        }\n        local_70 = *(undefined ***)(param_4[0x2f] + uVar16 * 4);\n        if (local_70 == (undefined **)0x0) goto LAB_000d2a1f;\n        if ((*(byte *)((int)local_70 + 0x2a) & 0x10) == 0) {\n          if ((*(byte *)((int)local_70 + 0x2a) & 7) == 0) goto LAB_000d25f7;\nLAB_000d29e2:\n          local_f0 = (undefined **)local_70[0xc];\n          bVar13 = 0;\n          local_b4 = (undefined **)0x0;\n          local_c0 = (undefined **)0x0;\n          bVar24 = CARRY4((uint)local_bc,(uint)local_f0);\n          local_c4 = local_bc + (int)local_f0;\n          bVar26 = local_c4 == (undefined *)0x0;\n        }\n        else {\n          *(undefined ***)((int)piVar18 + -0xc) = local_70;\n          *(int *)((int)piVar18 + -0x10) = param_2;\n          *(undefined4 *)((int)piVar18 + -0x14) = 0xd29d2;\n          local_70 = (undefined **)FUN_0034cd90();\n          if ((*(byte *)((int)local_70 + 0x2a) & 7) != 0) goto LAB_000d29e2;\nLAB_000d25f7:\n          local_f0 = (undefined **)local_70[0xc];\n          local_c0 = (undefined **)local_70[2];\n          local_c4 = local_bc + (int)local_f0;\n          if (((uint)local_c0[0xb] & 1) == 0) {\n            local_b4 = (undefined **)local_70[3];\n            bVar13 = *(byte *)((int)local_70 + 0x2b) >> 5 & 1;\n            bVar24 = (*(byte *)(local_70 + 10) & 0xf) < 2;\n            bVar26 = (*(byte *)(local_70 + 10) & 0xf) == 2;\n            if (bVar26) {\n              bVar24 = false;\n              bVar26 = local_d2 == '\0';\n              if ((!bVar26) &&\n                 (((bVar13 == 0 || (bVar26 = uVar21 == 0x17, 0x17 < uVar21)) ||\n                  (bVar24 = (0x843f84U >> (uVar2 & 0x1f) & 1) != 0, !bVar24)))) {\n                local_b0 = *(undefined ****)(param_2 + 0x15c);\n                *(undefined4 *)((int)piVar18 + -0xc) = 1;\n                *(undefined4 *)((int)piVar18 + -0x10) = 0;\n                *(undefined *****)((int)piVar18 + -0x14) = &local_94;\n                *(undefined ****)((int)piVar18 + -0x18) = &local_78;\n                local_94 = local_b0 + 0xd;\n                *(undefined ****)((int)piVar18 + -0x1c) = local_94;\n                *(undefined1 **)((int)piVar18 + -0x20) = local_e0;\n                    /* try { // try from 000d2cc6 to 000d2cca has its CatchHandler @ 000d302c */\n                *(undefined4 *)((int)piVar18 + -0x24) = 0xd2ccb;\n                local_78 = local_c0;\n                local_74 = local_b4;\n                FUN_00074280();\n                bVar24 = (undefined1 *)0xffffffe3 < (undefined1 *)((int)piVar18 + -0x20);\n                bVar26 = piVar18 == (int *)0x4;\n                piVar18 = (int *)((int)piVar18 + -4);\n              }\n            }\n          }\n          else {\n            local_b4 = (undefined **)0x0;\n            bVar24 = false;\n            bVar13 = 0;\n            bVar26 = true;\n            local_c0 = (undefined **)0x0;\n          }\n        }\n        pbVar20 = *local_70;\n        iVar19 = 8;\n        pbVar9 = (byte *)((int)local_b8 + -0x19ca26);\n        pbVar22 = pbVar20;\n        do {\n          if (iVar19 == 0) break;\n          iVar19 = iVar19 + -1;\n          bVar24 = *pbVar9 < *pbVar22;\n          bVar26 = *pbVar9 == *pbVar22;\n          pbVar9 = pbVar9 + (uint)bVar27 * -2 + 1;\n          pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n        } while (bVar26);\n        bVar25 = false;\n        bVar24 = (!bVar24 && !bVar26) == bVar24;\n        if (bVar24) {\n          pbVar20 = pbVar20 + 8;\n        }\n        else {\n          iVar19 = 7;\n          pbVar9 = (byte *)((int)local_b8 + -0x19ca1d);\n          pbVar22 = pbVar20;\n          do {\n            if (iVar19 == 0) break;\n            iVar19 = iVar19 + -1;\n            bVar25 = *pbVar9 < *pbVar22;\n            bVar24 = *pbVar9 == *pbVar22;\n            pbVar9 = pbVar9 + (uint)bVar27 * -2 + 1;\n            pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n          } while (bVar24);\n          pbVar20 = pbVar20 + 7;\n          if ((!bVar25 && !bVar24) != bVar25) {\n            pbVar20 = local_d8;\n          }\n        }\n        local_d8 = pbVar20;\n        if (local_d1 != '\0') {\n          if (bVar13 == 0) {\n            local_34 = (undefined **)0x0;\n            local_30 = (undefined **)0x0;\n          }\n          else {\n            local_34 = local_c0;\n            local_30 = local_b4;\n          }\n          local_b0 = &local_34;\n          *(undefined ****)((int)piVar18 + -0xc) = local_b0;\n          *(int *)((int)piVar18 + -0x10) = local_c8;\n          *(undefined4 *)((int)piVar18 + -0x14) = 0xd26b9;\n          FUN_00073b00();\n          puVar1 = *(undefined4 **)(local_cc + 4);\n          if (puVar1 == *(undefined4 **)(local_cc + 8)) {\n            *(undefined ****)((int)piVar18 + -8) = &local_70;\n            *(undefined4 **)((int)piVar18 + -0xc) = puVar1;\n            *(int *)((int)piVar18 + -0x10) = local_cc;\n            *(undefined4 *)((int)piVar18 + -0x14) = 0xd2b4b;\n            FUN_000726c0();\n          }\n          else {\n            *puVar1 = local_70;\n            *(undefined4 **)(local_cc + 4) = puVar1 + 1;\n          }\n          *(undefined ****)((int)piVar18 + -0xc) = local_b0;\n          *(undefined ***)((int)piVar18 + -0x10) = local_e8;\n          local_34 = local_f0;\n          local_30 = (undefined **)0x0;\n          local_2c = local_bc;\n          local_28 = (int)local_bc >> 0x1f;\n          *(undefined4 *)((int)piVar18 + -0x14) = 0xd270d;\n          FUN_00073e70();\n          local_30 = (undefined **)0x0;\n          local_34 = (undefined **)*param_7;\n          puVar1 = *(undefined4 **)(local_d0 + 4);\n          if (puVar1 == *(undefined4 **)(local_d0 + 8)) {\n            *(undefined ****)((int)piVar18 + -8) = local_b0;\n            *(undefined4 **)((int)piVar18 + -0xc) = puVar1;\n            *(int *)((int)piVar18 + -0x10) = local_d0;\n            *(undefined4 *)((int)piVar18 + -0x14) = 0xd2bbd;\n            FUN_00072a40();\n          }\n          else {\n            *puVar1 = local_34;\n            puVar1[1] = 0;\n            *(undefined4 **)(local_d0 + 4) = puVar1 + 2;\n          }\n          local_68 = (undefined **)0x0;\n          *(undefined ****)((int)piVar18 + -0xc) = &local_68;\n          *(int *)((int)piVar18 + -0x10) = local_ec;\n          *(undefined4 *)((int)piVar18 + -0x14) = 0xd2753;\n          FUN_00074020();\n        }\n        puVar17 = (undefined1 *)piVar18;\n        if (bVar13 != 0) goto LAB_000d275e;\n      }\nLAB_000d2489:\n      local_e4 = local_e4 + 1;\n      param_7 = param_7 + 3;\n    } while (param_8 != local_e4);\n  }\n  if (local_4c[0] != local_f8) {\n    *(byte **)((int)piVar18 + -0x10) = local_4c[0];\n    *(undefined4 *)((int)piVar18 + -0x14) = 0xd2c22;\n    FUN_003ae080();\n  }\n  if ((local_60 != 0) && (local_5c != 0)) {\n    *(undefined ***)((int)piVar18 + -0x10) = local_b8 + -0x60d6c;\n    *(undefined4 *)((int)piVar18 + -0x14) = 0xd2c4a;\n    uVar8 = gettext();\n    *(undefined4 *)((int)piVar18 + -0x10) = uVar8;\n    uVar8 = local_54;\n    *(undefined4 *)((int)piVar18 + -0x14) = 0;\n    *(undefined4 *)((int)piVar18 + -0x18) = uVar8;\n    *(undefined4 *)((int)piVar18 + -0x1c) = local_58;\n    *(int *)((int)piVar18 + -0x20) = local_5c;\n    *(undefined4 *)((int)piVar18 + -0x24) = 0xd2c5f;\n    FUN_0023bd50();\n  }\n  return;\n}" primitive_type (function_declarator "FUN_000d2220(undefined4 param_1,int param_2,undefined4 param_3,undefined **param_4,\n                 undefined **param_5,undefined4 param_6,undefined4 *param_7,int param_8,\n                 undefined4 param_9,undefined4 param_10,undefined *param_11,int param_12)" identifier (parameter_list "(undefined4 param_1,int param_2,undefined4 param_3,undefined **param_4,\n                 undefined **param_5,undefined4 param_6,undefined4 *param_7,int param_8,\n                 undefined4 param_9,undefined4 param_10,undefined *param_11,int param_12)" ( (parameter_declaration "undefined4 param_1" type_identifier identifier) , (parameter_declaration "int param_2" primitive_type identifier) , (parameter_declaration "undefined4 param_3" type_identifier identifier) , (parameter_declaration "undefined **param_4" type_identifier (pointer_declarator "**param_4" * (pointer_declarator "*param_4" * identifier))) , (parameter_declaration "undefined **param_5" type_identifier (pointer_declarator "**param_5" * (pointer_declarator "*param_5" * identifier))) , (parameter_declaration "undefined4 param_6" type_identifier identifier) , (parameter_declaration "undefined4 *param_7" type_identifier (pointer_declarator "*param_7" * identifier)) , (parameter_declaration "int param_8" primitive_type identifier) , (parameter_declaration "undefined4 param_9" type_identifier identifier) , (parameter_declaration "undefined4 param_10" type_identifier identifier) , (parameter_declaration "undefined *param_11" type_identifier (pointer_declarator "*param_11" * identifier)) , (parameter_declaration "int param_12" primitive_type identifier) ))) (compound_statement "{\n  undefined4 *puVar1;\n  uint uVar2;\n  int iVar3;\n  code *pcVar4;\n  undefined ***pppuVar5;\n  size_t sVar6;\n  undefined *puVar7;\n  undefined4 uVar8;\n  byte *pbVar9;\n  int iVar10;\n  int iVar11;\n  int iVar12;\n  byte bVar13;\n  undefined **ppuVar14;\n  undefined *puVar15;\n  uint uVar16;\n  undefined1 *puVar17;\n  int *piVar18;\n  undefined **unaff_ESI;\n  int iVar19;\n  byte *pbVar20;\n  uint uVar21;\n  byte *pbVar22;\n  undefined **ppuVar23;\n  bool bVar24;\n  bool bVar25;\n  bool bVar26;\n  byte bVar27;\n  int iStack_100;\n  undefined1 auStack_fc [4];\n  byte *local_f8;\n  int *local_f4;\n  undefined **local_f0;\n  int local_ec;\n  undefined **local_e8;\n  int local_e4;\n  undefined1 *local_e0;\n  int *local_dc;\n  byte *local_d8;\n  char local_d2;\n  char local_d1;\n  int local_d0;\n  int local_cc;\n  int local_c8;\n  undefined *local_c4;\n  undefined **local_c0;\n  undefined *local_bc;\n  undefined **local_b8;\n  undefined **local_b4;\n  undefined ***local_b0;\n  int local_ac;\n  int local_a8;\n  undefined1 local_a4 [12];\n  undefined ***local_98;\n  undefined ***local_94;\n  int local_90;\n  int local_8c;\n  undefined ***local_88;\n  undefined ***local_84;\n  undefined **local_80;\n  uint local_7c;\n  undefined **local_78;\n  undefined **local_74;\n  undefined **local_70;\n  undefined **local_6c;\n  undefined **local_68;\n  undefined **local_64;\n  int local_60;\n  int local_5c;\n  undefined4 local_58;\n  undefined4 local_54;\n  undefined1 local_50;\n  byte *local_4c [2];\n  byte local_44 [16];\n  undefined **local_34;\n  undefined **local_30;\n  undefined *local_2c;\n  int local_28;\n  \n  bVar27 = 0;\n  local_b8 = &__DT_PLTGOT;\n  local_dc = &DAT_005ea7c8;\n  local_60 = 0;\n  local_5c = 0;\n  iVar19 = *(int *)(DAT_005ea7c8 + 8);\n  local_58 = 0;\n  local_54 = 0;\n  local_50 = 0;\n  if (iVar19 == 0) {\n    iStack_100 = iVar19;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 000d2fc4 to 000d2fc8 has its CatchHandler @ 000d3025 */\n    FUN_002446e0("../../gold/parameters.h",0x5c,"options");\n  }\n  if (*(int *)(iVar19 + 0x5934) == 0) {\n    local_f8 = local_44;\n    iStack_100 = 0;\n    local_4c[0] = local_f8;\n                    /* try { // try from 000d2dc0 to 000d2dc4 has its CatchHandler @ 000d3025 */\n    FUN_00072b90(local_4c,"","");\n    piVar18 = (int *)auStack_fc;\n  }\n  else {\n    unaff_ESI = &__DT_PLTGOT;\n    if (*(code **)(*param_4 + 0x40) == FUN_00106550) {\n                    /* try { // try from 000d22b3 to 000d22b7 has its CatchHandler @ 000d3025 */\n      FUN_001063c0(local_4c,param_4 + 0x24,param_5);\n      unaff_ESI = param_4;\n    }\n    else {\n                    /* try { // try from 000d2f05 to 000d2f06 has its CatchHandler @ 000d3025 */\n      (**(code **)(*param_4 + 0x40))(local_4c,param_4,param_5);\n    }\n    local_f8 = local_44;\n    piVar18 = &iStack_100;\n  }\n  pbVar20 = local_4c[0];\n  iVar19 = *local_dc;\n  if (*(int *)(iVar19 + 8) == 0) {\n    *(int *)((int)piVar18 + -4) = iVar19;\n    *(undefined ***)((int)piVar18 + -8) = local_b8 + -0x61176;\n    *(undefined4 *)((int)piVar18 + -0xc) = 0x5c;\n    *(int *)((int)piVar18 + -0x10) = (int)local_b8 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n    *(undefined4 *)((int)piVar18 + -0x14) = 0xd3001;\n    FUN_002446e0();\n  }\n  if (*(int *)(*(int *)(iVar19 + 8) + 0x5934) == 0) {\nLAB_000d22e5:\n    local_d1 = '\0';\n    local_ec = 0;\n    local_d0 = 0;\n    local_e8 = (undefined **)0x0;\n    local_cc = 0;\n    local_c8 = 0;\n  }\n  else {\n    local_b4 = &local_2c;\n    local_34 = local_b4;\n    pbVar9 = (byte *)0xffffffff;\n    if (local_4c[0] != (byte *)0x0) {\n      *(byte **)((int)piVar18 + -0x10) = local_4c[0];\n      *(undefined4 *)((int)piVar18 + -0x14) = 0xd2df7;\n      sVar6 = strlen(*(char **)((int)piVar18 + -0x10));\n      pbVar9 = pbVar20 + sVar6;\n    }\n    *(undefined4 *)((int)piVar18 + -4) = 0;\n    *(byte **)((int)piVar18 + -8) = pbVar9;\n    local_b0 = &local_34;\n    *(byte **)((int)piVar18 + -0xc) = pbVar20;\n    *(undefined ****)((int)piVar18 + -0x10) = local_b0;\n                    /* try { // try from 000d2e0a to 000d2e83 has its CatchHandler @ 000d302c */\n    *(undefined4 *)((int)piVar18 + -0x14) = 0xd2e0f;\n    FUN_00072b90();\n    iVar19 = 5;\n    bVar24 = (undefined1 *)0xffffffef < (undefined1 *)((int)piVar18 + -0x10);\n    bVar26 = piVar18 == (int *)0x0;\n    ppuVar14 = local_b8 + -0x67293;\n    ppuVar23 = local_34;\n    do {\n      if (iVar19 == 0) break;\n      iVar19 = iVar19 + -1;\n      bVar24 = *(byte *)ppuVar14 < *(byte *)ppuVar23;\n      bVar26 = *(byte *)ppuVar14 == *(byte *)ppuVar23;\n      ppuVar14 = (undefined **)((int)ppuVar14 + (uint)bVar27 * -2 + 1);\n      ppuVar23 = (undefined **)((int)ppuVar23 + (uint)bVar27 * -2 + 1);\n    } while (bVar26);\n    bVar25 = false;\n    bVar24 = (!bVar24 && !bVar26) == bVar24;\n    if (!bVar24) {\n      iVar19 = 0xf;\n      ppuVar14 = (undefined **)((int)local_b8 + -0x19ca46);\n      ppuVar23 = local_34;\n      do {\n        unaff_ESI = ppuVar14;\n        if (iVar19 == 0) break;\n        iVar19 = iVar19 + -1;\n        unaff_ESI = (undefined **)((int)ppuVar14 + (uint)bVar27 * -2 + 1);\n        bVar25 = *(byte *)ppuVar14 < *(byte *)ppuVar23;\n        bVar24 = *(byte *)ppuVar14 == *(byte *)ppuVar23;\n        ppuVar14 = unaff_ESI;\n        ppuVar23 = (undefined **)((int)ppuVar23 + (uint)bVar27 * -2 + 1);\n      } while (bVar24);\n      if ((!bVar25 && !bVar24) != bVar25) {\n        if (local_34 == local_b4) {\n          iVar19 = *local_dc;\n        }\n        else {\n          *(undefined ***)((int)piVar18 + -0x10) = local_34;\n          *(undefined4 *)((int)piVar18 + -0x14) = 0xd2ee3;\n          FUN_003ae080();\n          iVar19 = *local_dc;\n        }\n        goto LAB_000d22e5;\n      }\n    }\n    if (local_34 != local_b4) {\n      *(undefined ***)((int)piVar18 + -0x10) = local_34;\n      *(undefined4 *)((int)piVar18 + -0x14) = 0xd3010;\n      FUN_003ae080();\n    }\n    *(undefined ****)((int)piVar18 + -0xc) = local_b0;\n    local_34 = param_4;\n    local_30 = param_5;\n    local_b0 = *(undefined ****)(param_2 + 0x15c);\n    *(undefined ****)((int)piVar18 + -0x10) = local_b0 + 0x15;\n    *(undefined4 *)((int)piVar18 + -0x14) = 0xd2e84;\n    local_c8 = FUN_00074520();\n    local_cc = local_c8 + 0xc;\n    unaff_ESI = (undefined **)(local_c8 + 0x18);\n    local_d0 = local_c8 + 0x24;\n    local_ec = local_c8 + 0x30;\n    iVar19 = *local_dc;\n    local_d1 = '\x01';\n    local_e8 = unaff_ESI;\n  }\n  if (*(int *)(iVar19 + 8) == 0) {\n    *(undefined ***)((int)piVar18 + -4) = unaff_ESI;\n    *(undefined ***)((int)piVar18 + -8) = local_b8 + -0x61176;\n    *(undefined4 *)((int)piVar18 + -0xc) = 0x5c;\n    *(int *)((int)piVar18 + -0x10) = (int)local_b8 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 000d2fe0 to 000d3000 has its CatchHandler @ 000d302c */\n    *(undefined4 *)((int)piVar18 + -0x14) = 0xd2fe5;\n    FUN_002446e0();\n  }\n  local_d2 = '\0';\n  if (*(int *)(*(int *)(iVar19 + 8) + 0x5934) == 2) {\n    *(undefined4 *)((int)piVar18 + -0x10) = param_1;\n    *(undefined4 *)((int)piVar18 + -0x14) = 0xd2ceb;\n    local_d2 = FUN_000aaa70();\n    bVar24 = false;\n    bVar26 = local_d2 == '\0';\n    if (!bVar26) {\n      iVar19 = 0xc;\n      local_d2 = '\0';\n      ppuVar14 = local_b8 + -0x66894;\n      pbVar20 = local_4c[0];\n      do {\n        if (iVar19 == 0) break;\n        iVar19 = iVar19 + -1;\n        bVar24 = *(byte *)ppuVar14 < *pbVar20;\n        bVar26 = *(byte *)ppuVar14 == *pbVar20;\n        ppuVar14 = (undefined **)((int)ppuVar14 + (uint)bVar27 * -2 + 1);\n        pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n      } while (bVar26);\n      bVar25 = false;\n      bVar24 = (!bVar24 && !bVar26) == bVar24;\n      if (!bVar24) {\n        iVar19 = 0x11;\n        pbVar20 = (byte *)((int)local_b8 + -0x19a243);\n        pbVar9 = local_4c[0];\n        do {\n          if (iVar19 == 0) break;\n          iVar19 = iVar19 + -1;\n          bVar25 = *pbVar20 < *pbVar9;\n          bVar24 = *pbVar20 == *pbVar9;\n          pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n          pbVar9 = pbVar9 + (uint)bVar27 * -2 + 1;\n        } while (bVar24);\n        bVar26 = false;\n        bVar24 = (!bVar25 && !bVar24) == bVar25;\n        if (!bVar24) {\n          iVar19 = 0xc;\n          pbVar20 = (byte *)((int)local_b8 + -0x19a231);\n          pbVar9 = local_4c[0];\n          do {\n            if (iVar19 == 0) break;\n            iVar19 = iVar19 + -1;\n            bVar26 = *pbVar20 < *pbVar9;\n            bVar24 = *pbVar20 == *pbVar9;\n            pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n            pbVar9 = pbVar9 + (uint)bVar27 * -2 + 1;\n          } while (bVar24);\n          bVar25 = false;\n          bVar24 = (!bVar26 && !bVar24) == bVar26;\n          if (!bVar24) {\n            iVar19 = 0x11;\n            ppuVar14 = local_b8 + -0x66889;\n            pbVar20 = local_4c[0];\n            do {\n              if (iVar19 == 0) break;\n              iVar19 = iVar19 + -1;\n              bVar25 = *(byte *)ppuVar14 < *pbVar20;\n              bVar24 = *(byte *)ppuVar14 == *pbVar20;\n              ppuVar14 = (undefined **)((int)ppuVar14 + (uint)bVar27 * -2 + 1);\n              pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n            } while (bVar24);\n            bVar26 = false;\n            bVar24 = (!bVar25 && !bVar24) == bVar25;\n            if (!bVar24) {\n              iVar19 = 9;\n              pbVar20 = (byte *)((int)local_b8 + -0x19a212);\n              pbVar9 = local_4c[0];\n              do {\n                if (iVar19 == 0) break;\n                iVar19 = iVar19 + -1;\n                bVar26 = *pbVar20 < *pbVar9;\n                bVar24 = *pbVar20 == *pbVar9;\n                pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n                pbVar9 = pbVar9 + (uint)bVar27 * -2 + 1;\n              } while (bVar24);\n              local_d2 = (!bVar26 && !bVar24) != bVar26;\n            }\n          }\n        }\n      }\n    }\n  }\n  if (param_8 != 0) {\n    local_d8 = (byte *)0x0;\n    local_e0 = local_a4;\n    local_f4 = &local_8c;\n    local_e4 = 0;\n    do {\n      uVar2 = param_7[1];\n      uVar21 = uVar2 & 0xff;\n      puVar15 = (undefined *)(uVar2 >> 8);\n      local_bc = (undefined *)param_7[2];\n      if (puVar15 < param_11) {\n        if (param_12 == 0) {\n          *(undefined ***)((int)piVar18 + -8) = local_b8 + -0x615ed;\n          *(undefined4 *)((int)piVar18 + -0xc) = 0xea;\n          *(int *)((int)piVar18 + -0x10) = (int)local_b8 + -0x19ca36;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 000d2f44 to 000d2fac has its CatchHandler @ 000d302c */\n          *(undefined **)((int)piVar18 + -0x14) = &UNK_000d2f49;\n          FUN_002446e0();\n        }\n        iVar19 = (int)puVar15 * 0x10 + param_12;\n        local_b4 = (undefined **)(uint)*(ushort *)(iVar19 + 0xe);\n        if (local_b4 < (undefined **)0xff00) {\nLAB_000d24ee:\n          ppuVar14 = *(undefined ***)(iVar19 + 4);\n          local_c4 = local_bc + (int)ppuVar14;\n          if (local_d1 != '\0') {\n            local_34 = param_4;\n            local_30 = local_b4;\n            local_b0 = &local_34;\n            *(undefined ****)((int)piVar18 + -0xc) = local_b0;\n            *(int *)((int)piVar18 + -0x10) = local_c8;\n            *(undefined4 *)((int)piVar18 + -0x14) = 0xd2533;\n            FUN_00073b00();\n            local_c0 = (undefined **)CONCAT31(local_c0._1_3_,1);\n            if ((*(byte *)(iVar19 + 0xc) & 0xf) == 3) goto LAB_000d254c;\nLAB_000d23e8:\n            *(undefined ****)((int)piVar18 + -0xc) = local_b0;\n            *(int *)((int)piVar18 + -0x10) = local_cc;\n            local_34 = (undefined **)0x0;\n            *(undefined4 *)((int)piVar18 + -0x14) = 0xd2403;\n            FUN_00073ca0();\n            goto LAB_000d2403;\n          }\n        }\n        else {\n          if (local_b4 == (undefined **)0xffff) {\n            puVar7 = param_4[0xc];\n            if (puVar7 == (undefined *)0x0) {\n              puVar7 = *param_4;\n              *(undefined ***)((int)piVar18 + -0x10) = param_4;\n              pcVar4 = *(code **)(puVar7 + 0x6c);\n              *(undefined4 *)((int)piVar18 + -0x14) = 0xd2a4e;\n              puVar7 = (undefined *)(*pcVar4)();\n              param_4[0xc] = puVar7;\n            }\n            *(undefined **)((int)piVar18 + -8) = puVar15;\n            *(undefined ***)((int)piVar18 + -0xc) = param_4;\n            *(undefined **)((int)piVar18 + -0x10) = puVar7;\n            *(undefined4 *)((int)piVar18 + -0x14) = 0xd2591;\n            local_b4 = (undefined **)FUN_0028b7d0();\n            goto LAB_000d24ee;\n          }\n          ppuVar14 = *(undefined ***)(iVar19 + 4);\n          local_c4 = local_bc + (int)ppuVar14;\n          if (local_d1 == '\0') goto LAB_000d2489;\n          local_b0 = &local_34;\n          local_34 = (undefined **)0x0;\n          *(undefined ****)((int)piVar18 + -0xc) = local_b0;\n          *(int *)((int)piVar18 + -0x10) = local_c8;\n          local_30 = (undefined **)0x0;\n                    /* try { // try from 000d23ca to 000d2bf5 has its CatchHandler @ 000d302c */\n          *(undefined4 *)((int)piVar18 + -0x14) = 0xd23cf;\n          FUN_00073b00();\n          local_c0 = (undefined **)((uint)local_c0 & 0xffffff00);\n          if ((*(byte *)(iVar19 + 0xc) & 0xf) != 3) goto LAB_000d23e8;\nLAB_000d254c:\n          *(undefined ****)((int)piVar18 + -0xc) = local_b0;\n          *(int *)((int)piVar18 + -0x10) = local_cc;\n          local_34 = (undefined **)0xffffffff;\n          *(undefined4 *)((int)piVar18 + -0x14) = 0xd2567;\n          FUN_00073ca0();\nLAB_000d2403:\n          *(undefined ****)((int)piVar18 + -0xc) = local_b0;\n          *(undefined ***)((int)piVar18 + -0x10) = local_e8;\n          local_2c = local_bc;\n          local_28 = (int)local_bc >> 0x1f;\n          local_30 = (undefined **)0x0;\n          *(undefined4 *)((int)piVar18 + -0x14) = 0xd2433;\n          local_34 = ppuVar14;\n          FUN_00073e70();\n          local_30 = (undefined **)0x0;\n          local_34 = (undefined **)*param_7;\n          puVar1 = *(undefined4 **)(local_d0 + 4);\n          if (puVar1 == *(undefined4 **)(local_d0 + 8)) {\n            *(undefined ****)((int)piVar18 + -8) = local_b0;\n            *(undefined4 **)((int)piVar18 + -0xc) = puVar1;\n            *(int *)((int)piVar18 + -0x10) = local_d0;\n            *(undefined4 *)((int)piVar18 + -0x14) = 0xd2b0d;\n            FUN_00072a40();\n          }\n          else {\n            *puVar1 = local_34;\n            puVar1[1] = 0;\n            *(undefined4 **)(local_d0 + 4) = puVar1 + 2;\n          }\n          local_68 = (undefined **)0x0;\n          *(undefined ****)((int)piVar18 + -0xc) = &local_68;\n          *(int *)((int)piVar18 + -0x10) = local_ec;\n          *(undefined4 *)((int)piVar18 + -0x14) = 0xd2479;\n          FUN_00074020();\n          if ((char)local_c0 == '\0') goto LAB_000d2489;\n        }\n        if (((local_d2 != '\0') && ((*(byte *)(iVar19 + 0xc) & 0xf) != 1)) &&\n           ((0x17 < uVar21 || ((0x843f84U >> (uVar2 & 0x1f) & 1) == 0)))) {\n          local_b0 = *(undefined ****)(param_2 + 0x15c);\n          local_80 = param_4;\n          local_7c = (uint)*(ushort *)(iVar19 + 0xe);\n          *(undefined4 *)((int)piVar18 + -0xc) = 1;\n          *(undefined4 *)((int)piVar18 + -0x10) = 0;\n          local_98 = local_b0 + 0xd;\n          *(undefined *****)((int)piVar18 + -0x14) = &local_98;\n          *(undefined ****)((int)piVar18 + -0x18) = &local_80;\n          *(undefined ****)((int)piVar18 + -0x1c) = local_98;\n          *(undefined1 **)((int)piVar18 + -0x20) = local_e0;\n          *(undefined4 *)((int)piVar18 + -0x24) = 0xd2ad1;\n          FUN_00074280();\n          piVar18 = (int *)((int)piVar18 + -4);\n        }\n        if (param_5 != local_b4) {\n          local_c0 = param_4;\n          puVar17 = (undefined1 *)piVar18;\nLAB_000d275e:\n          if (*(int *)(*local_dc + 8) == 0) {\n            *(undefined ***)(puVar17 + -8) = local_b8 + -0x61176;\n            *(undefined4 *)(puVar17 + -0xc) = 0x5c;\n            *(int *)(puVar17 + -0x10) = (int)local_b8 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)(puVar17 + -0x14) = 0xd2f6e;\n            FUN_002446e0();\n          }\n          piVar18 = (int *)puVar17;\n          if (*(char *)(*(int *)(*local_dc + 8) + 0x18b1) != '\0') {\n            local_70 = param_4;\n            iVar19 = *(int *)(param_2 + 0x158) + 0x14;\n            local_6c = param_5;\n            local_68 = local_c0;\n            local_64 = local_b4;\n            iVar3 = *(int *)(*(int *)(param_2 + 0x158) + 0x18);\n            iVar10 = iVar19;\n            if (iVar3 == 0) {\nLAB_000d27f0:\n              local_88 = &local_70;\n              *(undefined *****)(puVar17 + -0x10) = &local_88;\n              *(undefined4 *)(puVar17 + -0x14) = 0xd2811;\n              FUN_000c5e40();\n              iVar11 = local_a8;\n            }\n            else {\n              do {\n                while ((iVar11 = iVar3, *(undefined ***)(iVar11 + 0x10) < param_4 ||\n                       ((param_4 == *(undefined ***)(iVar11 + 0x10) &&\n                        (*(undefined ***)(iVar11 + 0x14) < param_5))))) {\n                  piVar18 = (int *)(iVar11 + 0xc);\n                  iVar3 = *piVar18;\n                  iVar11 = iVar10;\n                  if (*piVar18 == 0) goto LAB_000d27da;\n                }\n                iVar3 = *(int *)(iVar11 + 8);\n                iVar10 = iVar11;\n              } while (*(int *)(iVar11 + 8) != 0);\nLAB_000d27da:\n              if (((iVar19 == iVar11) || (param_4 < *(undefined ***)(iVar11 + 0x10))) ||\n                 ((param_4 == *(undefined ***)(iVar11 + 0x10) &&\n                  (param_5 < *(undefined ***)(iVar11 + 0x14))))) goto LAB_000d27f0;\n            }\n            local_8c = iVar11 + 0x18;\n            *(undefined4 *)(puVar17 + -0xc) = 1;\n            *(undefined4 *)(puVar17 + -0x10) = 0;\n            *(int **)(puVar17 + -0x14) = local_f4;\n            *(undefined ****)(puVar17 + -0x18) = &local_68;\n            *(int *)(puVar17 + -0x1c) = local_8c;\n            *(undefined1 **)(puVar17 + -0x20) = local_e0;\n            *(undefined4 *)(puVar17 + -0x24) = 0xd2840;\n            FUN_00074340();\n            piVar18 = *(int **)(*local_dc + 0xc);\n            if (piVar18 == (int *)0x0) {\n              *(undefined ***)(puVar17 + -0xc) = local_b8 + -0x615c4;\n              *(undefined4 *)(puVar17 + -0x10) = 0x73;\n              *(int *)(puVar17 + -0x14) = (int)local_b8 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n              *(undefined4 *)(puVar17 + -0x18) = 0xd2fad;\n              FUN_002446e0();\n            }\n            iVar19 = *piVar18;\n            *(undefined **)(puVar17 + -0xc) = local_c4;\n            *(undefined ***)(puVar17 + -0x10) = local_b4;\n            *(undefined ***)(puVar17 + -0x14) = local_c0;\n            *(undefined ***)(puVar17 + -0x18) = param_5;\n            *(undefined ***)(puVar17 + -0x1c) = param_4;\n            *(int *)(puVar17 + -0x20) = param_2;\n            *(int **)(puVar17 + -0x24) = piVar18;\n            pcVar4 = *(code **)(iVar19 + 0x104);\n            *(undefined4 *)(puVar17 + -0x28) = 0xd287d;\n            (*pcVar4)();\n            pbVar20 = local_d8;\n            piVar18 = (int *)(puVar17 + -4);\n            if (local_d8 != (byte *)0x0) {\n              local_b4 = &local_2c;\n              local_b0 = &local_34;\n              iVar19 = *(int *)(param_2 + 0x158);\n              *(byte **)(puVar17 + -0x14) = local_d8;\n              local_34 = local_b4;\n              *(undefined4 *)(puVar17 + -0x18) = 0xd28bd;\n              sVar6 = strlen(*(char **)(puVar17 + -0x14));\n              pppuVar5 = local_b0;\n              *(undefined4 *)(puVar17 + -8) = 0;\n              *(byte **)(puVar17 + -0xc) = pbVar20 + sVar6;\n              *(byte **)(puVar17 + -0x10) = pbVar20;\n              *(undefined ****)(puVar17 + -0x14) = local_b0;\n              *(undefined4 *)(puVar17 + -0x18) = 0xd28d2;\n              FUN_00072b90();\n              *(undefined ****)(puVar17 + -0xc) = pppuVar5;\n              *(int *)(puVar17 + -0x10) = iVar19 + 0x44;\n              *(int **)(puVar17 + -0x14) = &local_ac;\n              *(undefined4 *)(puVar17 + -0x18) = 0xd28e6;\n              FUN_00094bd0();\n              iVar19 = local_ac;\n              if (local_34 != local_b4) {\n                *(undefined ***)(puVar17 + -0x18) = local_34;\n                *(undefined4 *)(puVar17 + -0x1c) = 0xd2909;\n                FUN_003ae080();\n              }\n              piVar18 = (int *)(puVar17 + -8);\n              iVar3 = *(int *)(param_2 + 0x158);\n              if (iVar19 != iVar3 + 0x48) {\n                local_34 = param_4;\n                local_30 = param_5;\n                iVar10 = *(int *)(iVar3 + 0x18);\n                iVar11 = iVar3 + 0x14;\n                if (*(int *)(iVar3 + 0x18) == 0) {\nLAB_000d2bd8:\n                  *(undefined *****)(puVar17 + -0x18) = &local_84;\n                  local_84 = local_b0;\n                  *(undefined4 *)(puVar17 + -0x1c) = 0xd2bf6;\n                  FUN_000c5e40();\n                  iVar12 = local_a8;\n                }\n                else {\n                  do {\n                    while ((iVar12 = iVar10, *(undefined ***)(iVar12 + 0x10) < param_4 ||\n                           ((param_4 == *(undefined ***)(iVar12 + 0x10) &&\n                            (*(undefined ***)(iVar12 + 0x14) < param_5))))) {\n                      piVar18 = (int *)(iVar12 + 0xc);\n                      iVar10 = *piVar18;\n                      iVar12 = iVar11;\n                      if (*piVar18 == 0) goto LAB_000d2962;\n                    }\n                    iVar10 = *(int *)(iVar12 + 8);\n                    iVar11 = iVar12;\n                  } while (*(int *)(iVar12 + 8) != 0);\nLAB_000d2962:\n                  if (((iVar12 == iVar3 + 0x14) || (param_4 < *(undefined ***)(iVar12 + 0x10))) ||\n                     ((param_4 == *(undefined ***)(iVar12 + 0x10) &&\n                      (param_5 < *(undefined ***)(iVar12 + 0x14))))) goto LAB_000d2bd8;\n                }\n                piVar18 = (int *)(puVar17 + -8);\n                puVar17 = puVar17 + -8;\n                for (puVar1 = *(undefined4 **)(iVar19 + 0x30); puVar1 != (undefined4 *)0x0;\n                    puVar1 = (undefined4 *)*puVar1) {\n                  *(undefined4 *)(puVar17 + -0xc) = 1;\n                  *(undefined4 *)(puVar17 + -0x10) = 0;\n                  *(int **)(puVar17 + -0x14) = &local_90;\n                  *(undefined4 **)(puVar17 + -0x18) = puVar1 + 1;\n                  *(int *)(puVar17 + -0x1c) = iVar12 + 0x18;\n                  *(undefined1 **)(puVar17 + -0x20) = local_e0;\n                  *(undefined4 *)(puVar17 + -0x24) = 0xd29ae;\n                  local_90 = iVar12 + 0x18;\n                  FUN_00074340();\n                  piVar18 = (int *)(puVar17 + -4);\n                  puVar17 = puVar17 + -4;\n                }\n              }\n            }\n          }\n        }\n      }\n      else {\n        if (puVar15 < param_4[0x2c]) {\n          local_70 = (undefined **)0x0;\nLAB_000d2a1f:\n          *(undefined ***)((int)piVar18 + -8) = local_b8 + -0x615ed;\n          *(undefined4 *)((int)piVar18 + -0xc) = 0x11c;\n          *(int *)((int)piVar18 + -0x10) = (int)local_b8 + -0x19ca36;\n                    /* WARNING: Subroutine does not return */\n          *(undefined4 *)((int)piVar18 + -0x14) = 0xd2a40;\n          FUN_002446e0();\n        }\n        uVar16 = (int)puVar15 - (int)param_4[0x2c];\n        local_b0 = (undefined ***)param_4[0x30];\n        if ((uint)((int)local_b0 - (int)param_4[0x2f] >> 2) <= uVar16) {\n          *(undefined ***)((int)piVar18 + -8) = local_b8 + -0x6156c;\n          *(undefined4 *)((int)piVar18 + -0xc) = 0x8ad;\n          *(int *)((int)piVar18 + -0x10) = (int)local_b8 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n          *(undefined4 *)((int)piVar18 + -0x14) = 0xd2f8f;\n          FUN_002446e0();\n        }\n        local_70 = *(undefined ***)(param_4[0x2f] + uVar16 * 4);\n        if (local_70 == (undefined **)0x0) goto LAB_000d2a1f;\n        if ((*(byte *)((int)local_70 + 0x2a) & 0x10) == 0) {\n          if ((*(byte *)((int)local_70 + 0x2a) & 7) == 0) goto LAB_000d25f7;\nLAB_000d29e2:\n          local_f0 = (undefined **)local_70[0xc];\n          bVar13 = 0;\n          local_b4 = (undefined **)0x0;\n          local_c0 = (undefined **)0x0;\n          bVar24 = CARRY4((uint)local_bc,(uint)local_f0);\n          local_c4 = local_bc + (int)local_f0;\n          bVar26 = local_c4 == (undefined *)0x0;\n        }\n        else {\n          *(undefined ***)((int)piVar18 + -0xc) = local_70;\n          *(int *)((int)piVar18 + -0x10) = param_2;\n          *(undefined4 *)((int)piVar18 + -0x14) = 0xd29d2;\n          local_70 = (undefined **)FUN_0034cd90();\n          if ((*(byte *)((int)local_70 + 0x2a) & 7) != 0) goto LAB_000d29e2;\nLAB_000d25f7:\n          local_f0 = (undefined **)local_70[0xc];\n          local_c0 = (undefined **)local_70[2];\n          local_c4 = local_bc + (int)local_f0;\n          if (((uint)local_c0[0xb] & 1) == 0) {\n            local_b4 = (undefined **)local_70[3];\n            bVar13 = *(byte *)((int)local_70 + 0x2b) >> 5 & 1;\n            bVar24 = (*(byte *)(local_70 + 10) & 0xf) < 2;\n            bVar26 = (*(byte *)(local_70 + 10) & 0xf) == 2;\n            if (bVar26) {\n              bVar24 = false;\n              bVar26 = local_d2 == '\0';\n              if ((!bVar26) &&\n                 (((bVar13 == 0 || (bVar26 = uVar21 == 0x17, 0x17 < uVar21)) ||\n                  (bVar24 = (0x843f84U >> (uVar2 & 0x1f) & 1) != 0, !bVar24)))) {\n                local_b0 = *(undefined ****)(param_2 + 0x15c);\n                *(undefined4 *)((int)piVar18 + -0xc) = 1;\n                *(undefined4 *)((int)piVar18 + -0x10) = 0;\n                *(undefined *****)((int)piVar18 + -0x14) = &local_94;\n                *(undefined ****)((int)piVar18 + -0x18) = &local_78;\n                local_94 = local_b0 + 0xd;\n                *(undefined ****)((int)piVar18 + -0x1c) = local_94;\n                *(undefined1 **)((int)piVar18 + -0x20) = local_e0;\n                    /* try { // try from 000d2cc6 to 000d2cca has its CatchHandler @ 000d302c */\n                *(undefined4 *)((int)piVar18 + -0x24) = 0xd2ccb;\n                local_78 = local_c0;\n                local_74 = local_b4;\n                FUN_00074280();\n                bVar24 = (undefined1 *)0xffffffe3 < (undefined1 *)((int)piVar18 + -0x20);\n                bVar26 = piVar18 == (int *)0x4;\n                piVar18 = (int *)((int)piVar18 + -4);\n              }\n            }\n          }\n          else {\n            local_b4 = (undefined **)0x0;\n            bVar24 = false;\n            bVar13 = 0;\n            bVar26 = true;\n            local_c0 = (undefined **)0x0;\n          }\n        }\n        pbVar20 = *local_70;\n        iVar19 = 8;\n        pbVar9 = (byte *)((int)local_b8 + -0x19ca26);\n        pbVar22 = pbVar20;\n        do {\n          if (iVar19 == 0) break;\n          iVar19 = iVar19 + -1;\n          bVar24 = *pbVar9 < *pbVar22;\n          bVar26 = *pbVar9 == *pbVar22;\n          pbVar9 = pbVar9 + (uint)bVar27 * -2 + 1;\n          pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n        } while (bVar26);\n        bVar25 = false;\n        bVar24 = (!bVar24 && !bVar26) == bVar24;\n        if (bVar24) {\n          pbVar20 = pbVar20 + 8;\n        }\n        else {\n          iVar19 = 7;\n          pbVar9 = (byte *)((int)local_b8 + -0x19ca1d);\n          pbVar22 = pbVar20;\n          do {\n            if (iVar19 == 0) break;\n            iVar19 = iVar19 + -1;\n            bVar25 = *pbVar9 < *pbVar22;\n            bVar24 = *pbVar9 == *pbVar22;\n            pbVar9 = pbVar9 + (uint)bVar27 * -2 + 1;\n            pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n          } while (bVar24);\n          pbVar20 = pbVar20 + 7;\n          if ((!bVar25 && !bVar24) != bVar25) {\n            pbVar20 = local_d8;\n          }\n        }\n        local_d8 = pbVar20;\n        if (local_d1 != '\0') {\n          if (bVar13 == 0) {\n            local_34 = (undefined **)0x0;\n            local_30 = (undefined **)0x0;\n          }\n          else {\n            local_34 = local_c0;\n            local_30 = local_b4;\n          }\n          local_b0 = &local_34;\n          *(undefined ****)((int)piVar18 + -0xc) = local_b0;\n          *(int *)((int)piVar18 + -0x10) = local_c8;\n          *(undefined4 *)((int)piVar18 + -0x14) = 0xd26b9;\n          FUN_00073b00();\n          puVar1 = *(undefined4 **)(local_cc + 4);\n          if (puVar1 == *(undefined4 **)(local_cc + 8)) {\n            *(undefined ****)((int)piVar18 + -8) = &local_70;\n            *(undefined4 **)((int)piVar18 + -0xc) = puVar1;\n            *(int *)((int)piVar18 + -0x10) = local_cc;\n            *(undefined4 *)((int)piVar18 + -0x14) = 0xd2b4b;\n            FUN_000726c0();\n          }\n          else {\n            *puVar1 = local_70;\n            *(undefined4 **)(local_cc + 4) = puVar1 + 1;\n          }\n          *(undefined ****)((int)piVar18 + -0xc) = local_b0;\n          *(undefined ***)((int)piVar18 + -0x10) = local_e8;\n          local_34 = local_f0;\n          local_30 = (undefined **)0x0;\n          local_2c = local_bc;\n          local_28 = (int)local_bc >> 0x1f;\n          *(undefined4 *)((int)piVar18 + -0x14) = 0xd270d;\n          FUN_00073e70();\n          local_30 = (undefined **)0x0;\n          local_34 = (undefined **)*param_7;\n          puVar1 = *(undefined4 **)(local_d0 + 4);\n          if (puVar1 == *(undefined4 **)(local_d0 + 8)) {\n            *(undefined ****)((int)piVar18 + -8) = local_b0;\n            *(undefined4 **)((int)piVar18 + -0xc) = puVar1;\n            *(int *)((int)piVar18 + -0x10) = local_d0;\n            *(undefined4 *)((int)piVar18 + -0x14) = 0xd2bbd;\n            FUN_00072a40();\n          }\n          else {\n            *puVar1 = local_34;\n            puVar1[1] = 0;\n            *(undefined4 **)(local_d0 + 4) = puVar1 + 2;\n          }\n          local_68 = (undefined **)0x0;\n          *(undefined ****)((int)piVar18 + -0xc) = &local_68;\n          *(int *)((int)piVar18 + -0x10) = local_ec;\n          *(undefined4 *)((int)piVar18 + -0x14) = 0xd2753;\n          FUN_00074020();\n        }\n        puVar17 = (undefined1 *)piVar18;\n        if (bVar13 != 0) goto LAB_000d275e;\n      }\nLAB_000d2489:\n      local_e4 = local_e4 + 1;\n      param_7 = param_7 + 3;\n    } while (param_8 != local_e4);\n  }\n  if (local_4c[0] != local_f8) {\n    *(byte **)((int)piVar18 + -0x10) = local_4c[0];\n    *(undefined4 *)((int)piVar18 + -0x14) = 0xd2c22;\n    FUN_003ae080();\n  }\n  if ((local_60 != 0) && (local_5c != 0)) {\n    *(undefined ***)((int)piVar18 + -0x10) = local_b8 + -0x60d6c;\n    *(undefined4 *)((int)piVar18 + -0x14) = 0xd2c4a;\n    uVar8 = gettext();\n    *(undefined4 *)((int)piVar18 + -0x10) = uVar8;\n    uVar8 = local_54;\n    *(undefined4 *)((int)piVar18 + -0x14) = 0;\n    *(undefined4 *)((int)piVar18 + -0x18) = uVar8;\n    *(undefined4 *)((int)piVar18 + -0x1c) = local_58;\n    *(int *)((int)piVar18 + -0x20) = local_5c;\n    *(undefined4 *)((int)piVar18 + -0x24) = 0xd2c5f;\n    FUN_0023bd50();\n  }\n  return;\n}" { (declaration "undefined4 *puVar1;" type_identifier (pointer_declarator "*puVar1" * identifier) ;) (declaration "uint uVar2;" type_identifier identifier ;) (declaration "int iVar3;" primitive_type identifier ;) (declaration "code *pcVar4;" type_identifier (pointer_declarator "*pcVar4" * identifier) ;) (declaration "undefined ***pppuVar5;" type_identifier (pointer_declarator "***pppuVar5" * (pointer_declarator "**pppuVar5" * (pointer_declarator "*pppuVar5" * identifier))) ;) (declaration "size_t sVar6;" primitive_type identifier ;) (declaration "undefined *puVar7;" type_identifier (pointer_declarator "*puVar7" * identifier) ;) (declaration "undefined4 uVar8;" type_identifier identifier ;) (declaration "byte *pbVar9;" type_identifier (pointer_declarator "*pbVar9" * identifier) ;) (declaration "int iVar10;" primitive_type identifier ;) (declaration "int iVar11;" primitive_type identifier ;) (declaration "int iVar12;" primitive_type identifier ;) (declaration "byte bVar13;" type_identifier identifier ;) (declaration "undefined **ppuVar14;" type_identifier (pointer_declarator "**ppuVar14" * (pointer_declarator "*ppuVar14" * identifier)) ;) (declaration "undefined *puVar15;" type_identifier (pointer_declarator "*puVar15" * identifier) ;) (declaration "uint uVar16;" type_identifier identifier ;) (declaration "undefined1 *puVar17;" type_identifier (pointer_declarator "*puVar17" * identifier) ;) (declaration "int *piVar18;" primitive_type (pointer_declarator "*piVar18" * identifier) ;) (declaration "undefined **unaff_ESI;" type_identifier (pointer_declarator "**unaff_ESI" * (pointer_declarator "*unaff_ESI" * identifier)) ;) (declaration "int iVar19;" primitive_type identifier ;) (declaration "byte *pbVar20;" type_identifier (pointer_declarator "*pbVar20" * identifier) ;) (declaration "uint uVar21;" type_identifier identifier ;) (declaration "byte *pbVar22;" type_identifier (pointer_declarator "*pbVar22" * identifier) ;) (declaration "undefined **ppuVar23;" type_identifier (pointer_declarator "**ppuVar23" * (pointer_declarator "*ppuVar23" * identifier)) ;) (declaration "bool bVar24;" primitive_type identifier ;) (declaration "bool bVar25;" primitive_type identifier ;) (declaration "bool bVar26;" primitive_type identifier ;) (declaration "byte bVar27;" type_identifier identifier ;) (declaration "int iStack_100;" primitive_type identifier ;) (declaration "undefined1 auStack_fc [4];" type_identifier (array_declarator "auStack_fc [4]" identifier [ number_literal ]) ;) (declaration "byte *local_f8;" type_identifier (pointer_declarator "*local_f8" * identifier) ;) (declaration "int *local_f4;" primitive_type (pointer_declarator "*local_f4" * identifier) ;) (declaration "undefined **local_f0;" type_identifier (pointer_declarator "**local_f0" * (pointer_declarator "*local_f0" * identifier)) ;) (declaration "int local_ec;" primitive_type identifier ;) (declaration "undefined **local_e8;" type_identifier (pointer_declarator "**local_e8" * (pointer_declarator "*local_e8" * identifier)) ;) (declaration "int local_e4;" primitive_type identifier ;) (declaration "undefined1 *local_e0;" type_identifier (pointer_declarator "*local_e0" * identifier) ;) (declaration "int *local_dc;" primitive_type (pointer_declarator "*local_dc" * identifier) ;) (declaration "byte *local_d8;" type_identifier (pointer_declarator "*local_d8" * identifier) ;) (declaration "char local_d2;" primitive_type identifier ;) (declaration "char local_d1;" primitive_type identifier ;) (declaration "int local_d0;" primitive_type identifier ;) (declaration "int local_cc;" primitive_type identifier ;) (declaration "int local_c8;" primitive_type identifier ;) (declaration "undefined *local_c4;" type_identifier (pointer_declarator "*local_c4" * identifier) ;) (declaration "undefined **local_c0;" type_identifier (pointer_declarator "**local_c0" * (pointer_declarator "*local_c0" * identifier)) ;) (declaration "undefined *local_bc;" type_identifier (pointer_declarator "*local_bc" * identifier) ;) (declaration "undefined **local_b8;" type_identifier (pointer_declarator "**local_b8" * (pointer_declarator "*local_b8" * identifier)) ;) (declaration "undefined **local_b4;" type_identifier (pointer_declarator "**local_b4" * (pointer_declarator "*local_b4" * identifier)) ;) (declaration "undefined ***local_b0;" type_identifier (pointer_declarator "***local_b0" * (pointer_declarator "**local_b0" * (pointer_declarator "*local_b0" * identifier))) ;) (declaration "int local_ac;" primitive_type identifier ;) (declaration "int local_a8;" primitive_type identifier ;) (declaration "undefined1 local_a4 [12];" type_identifier (array_declarator "local_a4 [12]" identifier [ number_literal ]) ;) (declaration "undefined ***local_98;" type_identifier (pointer_declarator "***local_98" * (pointer_declarator "**local_98" * (pointer_declarator "*local_98" * identifier))) ;) (declaration "undefined ***local_94;" type_identifier (pointer_declarator "***local_94" * (pointer_declarator "**local_94" * (pointer_declarator "*local_94" * identifier))) ;) (declaration "int local_90;" primitive_type identifier ;) (declaration "int local_8c;" primitive_type identifier ;) (declaration "undefined ***local_88;" type_identifier (pointer_declarator "***local_88" * (pointer_declarator "**local_88" * (pointer_declarator "*local_88" * identifier))) ;) (declaration "undefined ***local_84;" type_identifier (pointer_declarator "***local_84" * (pointer_declarator "**local_84" * (pointer_declarator "*local_84" * identifier))) ;) (declaration "undefined **local_80;" type_identifier (pointer_declarator "**local_80" * (pointer_declarator "*local_80" * identifier)) ;) (declaration "uint local_7c;" type_identifier identifier ;) (declaration "undefined **local_78;" type_identifier (pointer_declarator "**local_78" * (pointer_declarator "*local_78" * identifier)) ;) (declaration "undefined **local_74;" type_identifier (pointer_declarator "**local_74" * (pointer_declarator "*local_74" * identifier)) ;) (declaration "undefined **local_70;" type_identifier (pointer_declarator "**local_70" * (pointer_declarator "*local_70" * identifier)) ;) (declaration "undefined **local_6c;" type_identifier (pointer_declarator "**local_6c" * (pointer_declarator "*local_6c" * identifier)) ;) (declaration "undefined **local_68;" type_identifier (pointer_declarator "**local_68" * (pointer_declarator "*local_68" * identifier)) ;) (declaration "undefined **local_64;" type_identifier (pointer_declarator "**local_64" * (pointer_declarator "*local_64" * identifier)) ;) (declaration "int local_60;" primitive_type identifier ;) (declaration "int local_5c;" primitive_type identifier ;) (declaration "undefined4 local_58;" type_identifier identifier ;) (declaration "undefined4 local_54;" type_identifier identifier ;) (declaration "undefined1 local_50;" type_identifier identifier ;) (declaration "byte *local_4c [2];" type_identifier (pointer_declarator "*local_4c [2]" * (array_declarator "local_4c [2]" identifier [ number_literal ])) ;) (declaration "byte local_44 [16];" type_identifier (array_declarator "local_44 [16]" identifier [ number_literal ]) ;) (declaration "undefined **local_34;" type_identifier (pointer_declarator "**local_34" * (pointer_declarator "*local_34" * identifier)) ;) (declaration "undefined **local_30;" type_identifier (pointer_declarator "**local_30" * (pointer_declarator "*local_30" * identifier)) ;) (declaration "undefined *local_2c;" type_identifier (pointer_declarator "*local_2c" * identifier) ;) (declaration "int local_28;" primitive_type identifier ;) (expression_statement "bVar27 = 0;" (assignment_expression "bVar27 = 0" identifier = number_literal) ;) (expression_statement "local_b8 = &__DT_PLTGOT;" (assignment_expression "local_b8 = &__DT_PLTGOT" identifier = (pointer_expression "&__DT_PLTGOT" & identifier)) ;) (expression_statement "local_dc = &DAT_005ea7c8;" (assignment_expression "local_dc = &DAT_005ea7c8" identifier = (pointer_expression "&DAT_005ea7c8" & identifier)) ;) (expression_statement "local_60 = 0;" (assignment_expression "local_60 = 0" identifier = number_literal) ;) (expression_statement "local_5c = 0;" (assignment_expression "local_5c = 0" identifier = number_literal) ;) (expression_statement "iVar19 = *(int *)(DAT_005ea7c8 + 8);" (assignment_expression "iVar19 = *(int *)(DAT_005ea7c8 + 8)" identifier = (pointer_expression "*(int *)(DAT_005ea7c8 + 8)" * (cast_expression "(int *)(DAT_005ea7c8 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(DAT_005ea7c8 + 8)" ( (binary_expression "DAT_005ea7c8 + 8" identifier + number_literal) ))))) ;) (expression_statement "local_58 = 0;" (assignment_expression "local_58 = 0" identifier = number_literal) ;) (expression_statement "local_54 = 0;" (assignment_expression "local_54 = 0" identifier = number_literal) ;) (expression_statement "local_50 = 0;" (assignment_expression "local_50 = 0" identifier = number_literal) ;) (if_statement "if (iVar19 == 0) {\n    iStack_100 = iVar19;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 000d2fc4 to 000d2fc8 has its CatchHandler @ 000d3025 */\n    FUN_002446e0("../../gold/parameters.h",0x5c,"options");\n  }" if (parenthesized_expression "(iVar19 == 0)" ( (binary_expression "iVar19 == 0" identifier == number_literal) )) (compound_statement "{\n    iStack_100 = iVar19;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 000d2fc4 to 000d2fc8 has its CatchHandler @ 000d3025 */\n    FUN_002446e0("../../gold/parameters.h",0x5c,"options");\n  }" { (expression_statement "iStack_100 = iVar19;" (assignment_expression "iStack_100 = iVar19" identifier = identifier) ;) comment comment (expression_statement "FUN_002446e0("../../gold/parameters.h",0x5c,"options");" (call_expression "FUN_002446e0("../../gold/parameters.h",0x5c,"options")" identifier (argument_list "("../../gold/parameters.h",0x5c,"options")" ( (string_literal ""../../gold/parameters.h"" " string_content ") , number_literal , (string_literal ""options"" " string_content ") ))) ;) })) (if_statement "if (*(int *)(iVar19 + 0x5934) == 0) {\n    local_f8 = local_44;\n    iStack_100 = 0;\n    local_4c[0] = local_f8;\n                    /* try { // try from 000d2dc0 to 000d2dc4 has its CatchHandler @ 000d3025 */\n    FUN_00072b90(local_4c,"","");\n    piVar18 = (int *)auStack_fc;\n  }\n  else {\n    unaff_ESI = &__DT_PLTGOT;\n    if (*(code **)(*param_4 + 0x40) == FUN_00106550) {\n                    /* try { // try from 000d22b3 to 000d22b7 has its CatchHandler @ 000d3025 */\n      FUN_001063c0(local_4c,param_4 + 0x24,param_5);\n      unaff_ESI = param_4;\n    }\n    else {\n                    /* try { // try from 000d2f05 to 000d2f06 has its CatchHandler @ 000d3025 */\n      (**(code **)(*param_4 + 0x40))(local_4c,param_4,param_5);\n    }\n    local_f8 = local_44;\n    piVar18 = &iStack_100;\n  }" if (parenthesized_expression "(*(int *)(iVar19 + 0x5934) == 0)" ( (binary_expression "*(int *)(iVar19 + 0x5934) == 0" (pointer_expression "*(int *)(iVar19 + 0x5934)" * (cast_expression "(int *)(iVar19 + 0x5934)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar19 + 0x5934)" ( (binary_expression "iVar19 + 0x5934" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n    local_f8 = local_44;\n    iStack_100 = 0;\n    local_4c[0] = local_f8;\n                    /* try { // try from 000d2dc0 to 000d2dc4 has its CatchHandler @ 000d3025 */\n    FUN_00072b90(local_4c,"","");\n    piVar18 = (int *)auStack_fc;\n  }" { (expression_statement "local_f8 = local_44;" (assignment_expression "local_f8 = local_44" identifier = identifier) ;) (expression_statement "iStack_100 = 0;" (assignment_expression "iStack_100 = 0" identifier = number_literal) ;) (expression_statement "local_4c[0] = local_f8;" (assignment_expression "local_4c[0] = local_f8" (subscript_expression "local_4c[0]" identifier [ number_literal ]) = identifier) ;) comment (expression_statement "FUN_00072b90(local_4c,"","");" (call_expression "FUN_00072b90(local_4c,"","")" identifier (argument_list "(local_4c,"","")" ( identifier , (string_literal """" " ") , (string_literal """" " ") ))) ;) (expression_statement "piVar18 = (int *)auStack_fc;" (assignment_expression "piVar18 = (int *)auStack_fc" identifier = (cast_expression "(int *)auStack_fc" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) }) (else_clause "else {\n    unaff_ESI = &__DT_PLTGOT;\n    if (*(code **)(*param_4 + 0x40) == FUN_00106550) {\n                    /* try { // try from 000d22b3 to 000d22b7 has its CatchHandler @ 000d3025 */\n      FUN_001063c0(local_4c,param_4 + 0x24,param_5);\n      unaff_ESI = param_4;\n    }\n    else {\n                    /* try { // try from 000d2f05 to 000d2f06 has its CatchHandler @ 000d3025 */\n      (**(code **)(*param_4 + 0x40))(local_4c,param_4,param_5);\n    }\n    local_f8 = local_44;\n    piVar18 = &iStack_100;\n  }" else (compound_statement "{\n    unaff_ESI = &__DT_PLTGOT;\n    if (*(code **)(*param_4 + 0x40) == FUN_00106550) {\n                    /* try { // try from 000d22b3 to 000d22b7 has its CatchHandler @ 000d3025 */\n      FUN_001063c0(local_4c,param_4 + 0x24,param_5);\n      unaff_ESI = param_4;\n    }\n    else {\n                    /* try { // try from 000d2f05 to 000d2f06 has its CatchHandler @ 000d3025 */\n      (**(code **)(*param_4 + 0x40))(local_4c,param_4,param_5);\n    }\n    local_f8 = local_44;\n    piVar18 = &iStack_100;\n  }" { (expression_statement "unaff_ESI = &__DT_PLTGOT;" (assignment_expression "unaff_ESI = &__DT_PLTGOT" identifier = (pointer_expression "&__DT_PLTGOT" & identifier)) ;) (if_statement "if (*(code **)(*param_4 + 0x40) == FUN_00106550) {\n                    /* try { // try from 000d22b3 to 000d22b7 has its CatchHandler @ 000d3025 */\n      FUN_001063c0(local_4c,param_4 + 0x24,param_5);\n      unaff_ESI = param_4;\n    }\n    else {\n                    /* try { // try from 000d2f05 to 000d2f06 has its CatchHandler @ 000d3025 */\n      (**(code **)(*param_4 + 0x40))(local_4c,param_4,param_5);\n    }" if (parenthesized_expression "(*(code **)(*param_4 + 0x40) == FUN_00106550)" ( (binary_expression "*(code **)(*param_4 + 0x40) == FUN_00106550" (pointer_expression "*(code **)(*param_4 + 0x40)" * (cast_expression "(code **)(*param_4 + 0x40)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*param_4 + 0x40)" ( (binary_expression "*param_4 + 0x40" (pointer_expression "*param_4" * identifier) + number_literal) )))) == identifier) )) (compound_statement "{\n                    /* try { // try from 000d22b3 to 000d22b7 has its CatchHandler @ 000d3025 */\n      FUN_001063c0(local_4c,param_4 + 0x24,param_5);\n      unaff_ESI = param_4;\n    }" { comment (expression_statement "FUN_001063c0(local_4c,param_4 + 0x24,param_5);" (call_expression "FUN_001063c0(local_4c,param_4 + 0x24,param_5)" identifier (argument_list "(local_4c,param_4 + 0x24,param_5)" ( identifier , (binary_expression "param_4 + 0x24" identifier + number_literal) , identifier ))) ;) (expression_statement "unaff_ESI = param_4;" (assignment_expression "unaff_ESI = param_4" identifier = identifier) ;) }) (else_clause "else {\n                    /* try { // try from 000d2f05 to 000d2f06 has its CatchHandler @ 000d3025 */\n      (**(code **)(*param_4 + 0x40))(local_4c,param_4,param_5);\n    }" else (compound_statement "{\n                    /* try { // try from 000d2f05 to 000d2f06 has its CatchHandler @ 000d3025 */\n      (**(code **)(*param_4 + 0x40))(local_4c,param_4,param_5);\n    }" { comment (expression_statement "(**(code **)(*param_4 + 0x40))(local_4c,param_4,param_5);" (call_expression "(**(code **)(*param_4 + 0x40))(local_4c,param_4,param_5)" (parenthesized_expression "(**(code **)(*param_4 + 0x40))" ( (pointer_expression "**(code **)(*param_4 + 0x40)" * (pointer_expression "*(code **)(*param_4 + 0x40)" * (cast_expression "(code **)(*param_4 + 0x40)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*param_4 + 0x40)" ( (binary_expression "*param_4 + 0x40" (pointer_expression "*param_4" * identifier) + number_literal) ))))) )) (argument_list "(local_4c,param_4,param_5)" ( identifier , identifier , identifier ))) ;) }))) (expression_statement "local_f8 = local_44;" (assignment_expression "local_f8 = local_44" identifier = identifier) ;) (expression_statement "piVar18 = &iStack_100;" (assignment_expression "piVar18 = &iStack_100" identifier = (pointer_expression "&iStack_100" & identifier)) ;) }))) (expression_statement "pbVar20 = local_4c[0];" (assignment_expression "pbVar20 = local_4c[0]" identifier = (subscript_expression "local_4c[0]" identifier [ number_literal ])) ;) (expression_statement "iVar19 = *local_dc;" (assignment_expression "iVar19 = *local_dc" identifier = (pointer_expression "*local_dc" * identifier)) ;) (if_statement "if (*(int *)(iVar19 + 8) == 0) {\n    *(int *)((int)piVar18 + -4) = iVar19;\n    *(undefined ***)((int)piVar18 + -8) = local_b8 + -0x61176;\n    *(undefined4 *)((int)piVar18 + -0xc) = 0x5c;\n    *(int *)((int)piVar18 + -0x10) = (int)local_b8 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n    *(undefined4 *)((int)piVar18 + -0x14) = 0xd3001;\n    FUN_002446e0();\n  }" if (parenthesized_expression "(*(int *)(iVar19 + 8) == 0)" ( (binary_expression "*(int *)(iVar19 + 8) == 0" (pointer_expression "*(int *)(iVar19 + 8)" * (cast_expression "(int *)(iVar19 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar19 + 8)" ( (binary_expression "iVar19 + 8" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n    *(int *)((int)piVar18 + -4) = iVar19;\n    *(undefined ***)((int)piVar18 + -8) = local_b8 + -0x61176;\n    *(undefined4 *)((int)piVar18 + -0xc) = 0x5c;\n    *(int *)((int)piVar18 + -0x10) = (int)local_b8 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n    *(undefined4 *)((int)piVar18 + -0x14) = 0xd3001;\n    FUN_002446e0();\n  }" { (expression_statement "*(int *)((int)piVar18 + -4) = iVar19;" (assignment_expression "*(int *)((int)piVar18 + -4) = iVar19" (pointer_expression "*(int *)((int)piVar18 + -4)" * (cast_expression "(int *)((int)piVar18 + -4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar18 + -4)" ( (binary_expression "(int)piVar18 + -4" (cast_expression "(int)piVar18" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined ***)((int)piVar18 + -8) = local_b8 + -0x61176;" (assignment_expression "*(undefined ***)((int)piVar18 + -8) = local_b8 + -0x61176" (pointer_expression "*(undefined ***)((int)piVar18 + -8)" * (cast_expression "(undefined ***)((int)piVar18 + -8)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "((int)piVar18 + -8)" ( (binary_expression "(int)piVar18 + -8" (cast_expression "(int)piVar18" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "local_b8 + -0x61176" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)((int)piVar18 + -0xc) = 0x5c;" (assignment_expression "*(undefined4 *)((int)piVar18 + -0xc) = 0x5c" (pointer_expression "*(undefined4 *)((int)piVar18 + -0xc)" * (cast_expression "(undefined4 *)((int)piVar18 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar18 + -0xc)" ( (binary_expression "(int)piVar18 + -0xc" (cast_expression "(int)piVar18" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)((int)piVar18 + -0x10) = (int)local_b8 + -0x1a1d93;" (assignment_expression "*(int *)((int)piVar18 + -0x10) = (int)local_b8 + -0x1a1d93" (pointer_expression "*(int *)((int)piVar18 + -0x10)" * (cast_expression "(int *)((int)piVar18 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar18 + -0x10)" ( (binary_expression "(int)piVar18 + -0x10" (cast_expression "(int)piVar18" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "(int)local_b8 + -0x1a1d93" (cast_expression "(int)local_b8" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) comment (expression_statement "*(undefined4 *)((int)piVar18 + -0x14) = 0xd3001;" (assignment_expression "*(undefined4 *)((int)piVar18 + -0x14) = 0xd3001" (pointer_expression "*(undefined4 *)((int)piVar18 + -0x14)" * (cast_expression "(undefined4 *)((int)piVar18 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar18 + -0x14)" ( (binary_expression "(int)piVar18 + -0x14" (cast_expression "(int)piVar18" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "FUN_002446e0();" (call_expression "FUN_002446e0()" identifier (argument_list "()" ( ))) ;) })) (if_statement "if (*(int *)(*(int *)(iVar19 + 8) + 0x5934) == 0) {\nLAB_000d22e5:\n    local_d1 = '\0';\n    local_ec = 0;\n    local_d0 = 0;\n    local_e8 = (undefined **)0x0;\n    local_cc = 0;\n    local_c8 = 0;\n  }\n  else {\n    local_b4 = &local_2c;\n    local_34 = local_b4;\n    pbVar9 = (byte *)0xffffffff;\n    if (local_4c[0] != (byte *)0x0) {\n      *(byte **)((int)piVar18 + -0x10) = local_4c[0];\n      *(undefined4 *)((int)piVar18 + -0x14) = 0xd2df7;\n      sVar6 = strlen(*(char **)((int)piVar18 + -0x10));\n      pbVar9 = pbVar20 + sVar6;\n    }\n    *(undefined4 *)((int)piVar18 + -4) = 0;\n    *(byte **)((int)piVar18 + -8) = pbVar9;\n    local_b0 = &local_34;\n    *(byte **)((int)piVar18 + -0xc) = pbVar20;\n    *(undefined ****)((int)piVar18 + -0x10) = local_b0;\n                    /* try { // try from 000d2e0a to 000d2e83 has its CatchHandler @ 000d302c */\n    *(undefined4 *)((int)piVar18 + -0x14) = 0xd2e0f;\n    FUN_00072b90();\n    iVar19 = 5;\n    bVar24 = (undefined1 *)0xffffffef < (undefined1 *)((int)piVar18 + -0x10);\n    bVar26 = piVar18 == (int *)0x0;\n    ppuVar14 = local_b8 + -0x67293;\n    ppuVar23 = local_34;\n    do {\n      if (iVar19 == 0) break;\n      iVar19 = iVar19 + -1;\n      bVar24 = *(byte *)ppuVar14 < *(byte *)ppuVar23;\n      bVar26 = *(byte *)ppuVar14 == *(byte *)ppuVar23;\n      ppuVar14 = (undefined **)((int)ppuVar14 + (uint)bVar27 * -2 + 1);\n      ppuVar23 = (undefined **)((int)ppuVar23 + (uint)bVar27 * -2 + 1);\n    } while (bVar26);\n    bVar25 = false;\n    bVar24 = (!bVar24 && !bVar26) == bVar24;\n    if (!bVar24) {\n      iVar19 = 0xf;\n      ppuVar14 = (undefined **)((int)local_b8 + -0x19ca46);\n      ppuVar23 = local_34;\n      do {\n        unaff_ESI = ppuVar14;\n        if (iVar19 == 0) break;\n        iVar19 = iVar19 + -1;\n        unaff_ESI = (undefined **)((int)ppuVar14 + (uint)bVar27 * -2 + 1);\n        bVar25 = *(byte *)ppuVar14 < *(byte *)ppuVar23;\n        bVar24 = *(byte *)ppuVar14 == *(byte *)ppuVar23;\n        ppuVar14 = unaff_ESI;\n        ppuVar23 = (undefined **)((int)ppuVar23 + (uint)bVar27 * -2 + 1);\n      } while (bVar24);\n      if ((!bVar25 && !bVar24) != bVar25) {\n        if (local_34 == local_b4) {\n          iVar19 = *local_dc;\n        }\n        else {\n          *(undefined ***)((int)piVar18 + -0x10) = local_34;\n          *(undefined4 *)((int)piVar18 + -0x14) = 0xd2ee3;\n          FUN_003ae080();\n          iVar19 = *local_dc;\n        }\n        goto LAB_000d22e5;\n      }\n    }\n    if (local_34 != local_b4) {\n      *(undefined ***)((int)piVar18 + -0x10) = local_34;\n      *(undefined4 *)((int)piVar18 + -0x14) = 0xd3010;\n      FUN_003ae080();\n    }\n    *(undefined ****)((int)piVar18 + -0xc) = local_b0;\n    local_34 = param_4;\n    local_30 = param_5;\n    local_b0 = *(undefined ****)(param_2 + 0x15c);\n    *(undefined ****)((int)piVar18 + -0x10) = local_b0 + 0x15;\n    *(undefined4 *)((int)piVar18 + -0x14) = 0xd2e84;\n    local_c8 = FUN_00074520();\n    local_cc = local_c8 + 0xc;\n    unaff_ESI = (undefined **)(local_c8 + 0x18);\n    local_d0 = local_c8 + 0x24;\n    local_ec = local_c8 + 0x30;\n    iVar19 = *local_dc;\n    local_d1 = '\x01';\n    local_e8 = unaff_ESI;\n  }" if (parenthesized_expression "(*(int *)(*(int *)(iVar19 + 8) + 0x5934) == 0)" ( (binary_expression "*(int *)(*(int *)(iVar19 + 8) + 0x5934) == 0" (pointer_expression "*(int *)(*(int *)(iVar19 + 8) + 0x5934)" * (cast_expression "(int *)(*(int *)(iVar19 + 8) + 0x5934)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(iVar19 + 8) + 0x5934)" ( (binary_expression "*(int *)(iVar19 + 8) + 0x5934" (pointer_expression "*(int *)(iVar19 + 8)" * (cast_expression "(int *)(iVar19 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar19 + 8)" ( (binary_expression "iVar19 + 8" identifier + number_literal) )))) + number_literal) )))) == number_literal) )) (compound_statement "{\nLAB_000d22e5:\n    local_d1 = '\0';\n    local_ec = 0;\n    local_d0 = 0;\n    local_e8 = (undefined **)0x0;\n    local_cc = 0;\n    local_c8 = 0;\n  }" { (labeled_statement "LAB_000d22e5:\n    local_d1 = '\0';" statement_identifier : (expression_statement "local_d1 = '\0';" (assignment_expression "local_d1 = '\0'" identifier = (char_literal "'\0'" ' escape_sequence ')) ;)) (expression_statement "local_ec = 0;" (assignment_expression "local_ec = 0" identifier = number_literal) ;) (expression_statement "local_d0 = 0;" (assignment_expression "local_d0 = 0" identifier = number_literal) ;) (expression_statement "local_e8 = (undefined **)0x0;" (assignment_expression "local_e8 = (undefined **)0x0" identifier = (cast_expression "(undefined **)0x0" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) ;) (expression_statement "local_cc = 0;" (assignment_expression "local_cc = 0" identifier = number_literal) ;) (expression_statement "local_c8 = 0;" (assignment_expression "local_c8 = 0" identifier = number_literal) ;) }) (else_clause "else {\n    local_b4 = &local_2c;\n    local_34 = local_b4;\n    pbVar9 = (byte *)0xffffffff;\n    if (local_4c[0] != (byte *)0x0) {\n      *(byte **)((int)piVar18 + -0x10) = local_4c[0];\n      *(undefined4 *)((int)piVar18 + -0x14) = 0xd2df7;\n      sVar6 = strlen(*(char **)((int)piVar18 + -0x10));\n      pbVar9 = pbVar20 + sVar6;\n    }\n    *(undefined4 *)((int)piVar18 + -4) = 0;\n    *(byte **)((int)piVar18 + -8) = pbVar9;\n    local_b0 = &local_34;\n    *(byte **)((int)piVar18 + -0xc) = pbVar20;\n    *(undefined ****)((int)piVar18 + -0x10) = local_b0;\n                    /* try { // try from 000d2e0a to 000d2e83 has its CatchHandler @ 000d302c */\n    *(undefined4 *)((int)piVar18 + -0x14) = 0xd2e0f;\n    FUN_00072b90();\n    iVar19 = 5;\n    bVar24 = (undefined1 *)0xffffffef < (undefined1 *)((int)piVar18 + -0x10);\n    bVar26 = piVar18 == (int *)0x0;\n    ppuVar14 = local_b8 + -0x67293;\n    ppuVar23 = local_34;\n    do {\n      if (iVar19 == 0) break;\n      iVar19 = iVar19 + -1;\n      bVar24 = *(byte *)ppuVar14 < *(byte *)ppuVar23;\n      bVar26 = *(byte *)ppuVar14 == *(byte *)ppuVar23;\n      ppuVar14 = (undefined **)((int)ppuVar14 + (uint)bVar27 * -2 + 1);\n      ppuVar23 = (undefined **)((int)ppuVar23 + (uint)bVar27 * -2 + 1);\n    } while (bVar26);\n    bVar25 = false;\n    bVar24 = (!bVar24 && !bVar26) == bVar24;\n    if (!bVar24) {\n      iVar19 = 0xf;\n      ppuVar14 = (undefined **)((int)local_b8 + -0x19ca46);\n      ppuVar23 = local_34;\n      do {\n        unaff_ESI = ppuVar14;\n        if (iVar19 == 0) break;\n        iVar19 = iVar19 + -1;\n        unaff_ESI = (undefined **)((int)ppuVar14 + (uint)bVar27 * -2 + 1);\n        bVar25 = *(byte *)ppuVar14 < *(byte *)ppuVar23;\n        bVar24 = *(byte *)ppuVar14 == *(byte *)ppuVar23;\n        ppuVar14 = unaff_ESI;\n        ppuVar23 = (undefined **)((int)ppuVar23 + (uint)bVar27 * -2 + 1);\n      } while (bVar24);\n      if ((!bVar25 && !bVar24) != bVar25) {\n        if (local_34 == local_b4) {\n          iVar19 = *local_dc;\n        }\n        else {\n          *(undefined ***)((int)piVar18 + -0x10) = local_34;\n          *(undefined4 *)((int)piVar18 + -0x14) = 0xd2ee3;\n          FUN_003ae080();\n          iVar19 = *local_dc;\n        }\n        goto LAB_000d22e5;\n      }\n    }\n    if (local_34 != local_b4) {\n      *(undefined ***)((int)piVar18 + -0x10) = local_34;\n      *(undefined4 *)((int)piVar18 + -0x14) = 0xd3010;\n      FUN_003ae080();\n    }\n    *(undefined ****)((int)piVar18 + -0xc) = local_b0;\n    local_34 = param_4;\n    local_30 = param_5;\n    local_b0 = *(undefined ****)(param_2 + 0x15c);\n    *(undefined ****)((int)piVar18 + -0x10) = local_b0 + 0x15;\n    *(undefined4 *)((int)piVar18 + -0x14) = 0xd2e84;\n    local_c8 = FUN_00074520();\n    local_cc = local_c8 + 0xc;\n    unaff_ESI = (undefined **)(local_c8 + 0x18);\n    local_d0 = local_c8 + 0x24;\n    local_ec = local_c8 + 0x30;\n    iVar19 = *local_dc;\n    local_d1 = '\x01';\n    local_e8 = unaff_ESI;\n  }" else (compound_statement "{\n    local_b4 = &local_2c;\n    local_34 = local_b4;\n    pbVar9 = (byte *)0xffffffff;\n    if (local_4c[0] != (byte *)0x0) {\n      *(byte **)((int)piVar18 + -0x10) = local_4c[0];\n      *(undefined4 *)((int)piVar18 + -0x14) = 0xd2df7;\n      sVar6 = strlen(*(char **)((int)piVar18 + -0x10));\n      pbVar9 = pbVar20 + sVar6;\n    }\n    *(undefined4 *)((int)piVar18 + -4) = 0;\n    *(byte **)((int)piVar18 + -8) = pbVar9;\n    local_b0 = &local_34;\n    *(byte **)((int)piVar18 + -0xc) = pbVar20;\n    *(undefined ****)((int)piVar18 + -0x10) = local_b0;\n                    /* try { // try from 000d2e0a to 000d2e83 has its CatchHandler @ 000d302c */\n    *(undefined4 *)((int)piVar18 + -0x14) = 0xd2e0f;\n    FUN_00072b90();\n    iVar19 = 5;\n    bVar24 = (undefined1 *)0xffffffef < (undefined1 *)((int)piVar18 + -0x10);\n    bVar26 = piVar18 == (int *)0x0;\n    ppuVar14 = local_b8 + -0x67293;\n    ppuVar23 = local_34;\n    do {\n      if (iVar19 == 0) break;\n      iVar19 = iVar19 + -1;\n      bVar24 = *(byte *)ppuVar14 < *(byte *)ppuVar23;\n      bVar26 = *(byte *)ppuVar14 == *(byte *)ppuVar23;\n      ppuVar14 = (undefined **)((int)ppuVar14 + (uint)bVar27 * -2 + 1);\n      ppuVar23 = (undefined **)((int)ppuVar23 + (uint)bVar27 * -2 + 1);\n    } while (bVar26);\n    bVar25 = false;\n    bVar24 = (!bVar24 && !bVar26) == bVar24;\n    if (!bVar24) {\n      iVar19 = 0xf;\n      ppuVar14 = (undefined **)((int)local_b8 + -0x19ca46);\n      ppuVar23 = local_34;\n      do {\n        unaff_ESI = ppuVar14;\n        if (iVar19 == 0) break;\n        iVar19 = iVar19 + -1;\n        unaff_ESI = (undefined **)((int)ppuVar14 + (uint)bVar27 * -2 + 1);\n        bVar25 = *(byte *)ppuVar14 < *(byte *)ppuVar23;\n        bVar24 = *(byte *)ppuVar14 == *(byte *)ppuVar23;\n        ppuVar14 = unaff_ESI;\n        ppuVar23 = (undefined **)((int)ppuVar23 + (uint)bVar27 * -2 + 1);\n      } while (bVar24);\n      if ((!bVar25 && !bVar24) != bVar25) {\n        if (local_34 == local_b4) {\n          iVar19 = *local_dc;\n        }\n        else {\n          *(undefined ***)((int)piVar18 + -0x10) = local_34;\n          *(undefined4 *)((int)piVar18 + -0x14) = 0xd2ee3;\n          FUN_003ae080();\n          iVar19 = *local_dc;\n        }\n        goto LAB_000d22e5;\n      }\n    }\n    if (local_34 != local_b4) {\n      *(undefined ***)((int)piVar18 + -0x10) = local_34;\n      *(undefined4 *)((int)piVar18 + -0x14) = 0xd3010;\n      FUN_003ae080();\n    }\n    *(undefined ****)((int)piVar18 + -0xc) = local_b0;\n    local_34 = param_4;\n    local_30 = param_5;\n    local_b0 = *(undefined ****)(param_2 + 0x15c);\n    *(undefined ****)((int)piVar18 + -0x10) = local_b0 + 0x15;\n    *(undefined4 *)((int)piVar18 + -0x14) = 0xd2e84;\n    local_c8 = FUN_00074520();\n    local_cc = local_c8 + 0xc;\n    unaff_ESI = (undefined **)(local_c8 + 0x18);\n    local_d0 = local_c8 + 0x24;\n    local_ec = local_c8 + 0x30;\n    iVar19 = *local_dc;\n    local_d1 = '\x01';\n    local_e8 = unaff_ESI;\n  }" { (expression_statement "local_b4 = &local_2c;" (assignment_expression "local_b4 = &local_2c" identifier = (pointer_expression "&local_2c" & identifier)) ;) (expression_statement "local_34 = local_b4;" (assignment_expression "local_34 = local_b4" identifier = identifier) ;) (expression_statement "pbVar9 = (byte *)0xffffffff;" (assignment_expression "pbVar9 = (byte *)0xffffffff" identifier = (cast_expression "(byte *)0xffffffff" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (if_statement "if (local_4c[0] != (byte *)0x0) {\n      *(byte **)((int)piVar18 + -0x10) = local_4c[0];\n      *(undefined4 *)((int)piVar18 + -0x14) = 0xd2df7;\n      sVar6 = strlen(*(char **)((int)piVar18 + -0x10));\n      pbVar9 = pbVar20 + sVar6;\n    }" if (parenthesized_expression "(local_4c[0] != (byte *)0x0)" ( (binary_expression "local_4c[0] != (byte *)0x0" (subscript_expression "local_4c[0]" identifier [ number_literal ]) != (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      *(byte **)((int)piVar18 + -0x10) = local_4c[0];\n      *(undefined4 *)((int)piVar18 + -0x14) = 0xd2df7;\n      sVar6 = strlen(*(char **)((int)piVar18 + -0x10));\n      pbVar9 = pbVar20 + sVar6;\n    }" { (expression_statement "*(byte **)((int)piVar18 + -0x10) = local_4c[0];" (assignment_expression "*(byte **)((int)piVar18 + -0x10) = local_4c[0]" (pointer_expression "*(byte **)((int)piVar18 + -0x10)" * (cast_expression "(byte **)((int)piVar18 + -0x10)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)piVar18 + -0x10)" ( (binary_expression "(int)piVar18 + -0x10" (cast_expression "(int)piVar18" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (subscript_expression "local_4c[0]" identifier [ number_literal ])) ;) (expression_statement "*(undefined4 *)((int)piVar18 + -0x14) = 0xd2df7;" (assignment_expression "*(undefined4 *)((int)piVar18 + -0x14) = 0xd2df7" (pointer_expression "*(undefined4 *)((int)piVar18 + -0x14)" * (cast_expression "(undefined4 *)((int)piVar18 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar18 + -0x14)" ( (binary_expression "(int)piVar18 + -0x14" (cast_expression "(int)piVar18" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "sVar6 = strlen(*(char **)((int)piVar18 + -0x10));" (assignment_expression "sVar6 = strlen(*(char **)((int)piVar18 + -0x10))" identifier = (call_expression "strlen(*(char **)((int)piVar18 + -0x10))" identifier (argument_list "(*(char **)((int)piVar18 + -0x10))" ( (pointer_expression "*(char **)((int)piVar18 + -0x10)" * (cast_expression "(char **)((int)piVar18 + -0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)piVar18 + -0x10)" ( (binary_expression "(int)piVar18 + -0x10" (cast_expression "(int)piVar18" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) )))) ;) (expression_statement "pbVar9 = pbVar20 + sVar6;" (assignment_expression "pbVar9 = pbVar20 + sVar6" identifier = (binary_expression "pbVar20 + sVar6" identifier + identifier)) ;) })) (expression_statement "*(undefined4 *)((int)piVar18 + -4) = 0;" (assignment_expression "*(undefined4 *)((int)piVar18 + -4) = 0" (pointer_expression "*(undefined4 *)((int)piVar18 + -4)" * (cast_expression "(undefined4 *)((int)piVar18 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar18 + -4)" ( (binary_expression "(int)piVar18 + -4" (cast_expression "(int)piVar18" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(byte **)((int)piVar18 + -8) = pbVar9;" (assignment_expression "*(byte **)((int)piVar18 + -8) = pbVar9" (pointer_expression "*(byte **)((int)piVar18 + -8)" * (cast_expression "(byte **)((int)piVar18 + -8)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)piVar18 + -8)" ( (binary_expression "(int)piVar18 + -8" (cast_expression "(int)piVar18" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "local_b0 = &local_34;" (assignment_expression "local_b0 = &local_34" identifier = (pointer_expression "&local_34" & identifier)) ;) (expression_statement "*(byte **)((int)piVar18 + -0xc) = pbVar20;" (assignment_expression "*(byte **)((int)piVar18 + -0xc) = pbVar20" (pointer_expression "*(byte **)((int)piVar18 + -0xc)" * (cast_expression "(byte **)((int)piVar18 + -0xc)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)piVar18 + -0xc)" ( (binary_expression "(int)piVar18 + -0xc" (cast_expression "(int)piVar18" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined ****)((int)piVar18 + -0x10) = local_b0;" (assignment_expression "*(undefined ****)((int)piVar18 + -0x10) = local_b0" (pointer_expression "*(undefined ****)((int)piVar18 + -0x10)" * (cast_expression "(undefined ****)((int)piVar18 + -0x10)" ( (type_descriptor "undefined ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) (parenthesized_expression "((int)piVar18 + -0x10)" ( (binary_expression "(int)piVar18 + -0x10" (cast_expression "(int)piVar18" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) comment (expression_statement "*(undefined4 *)((int)piVar18 + -0x14) = 0xd2e0f;" (assignment_expression "*(undefined4 *)((int)piVar18 + -0x14) = 0xd2e0f" (pointer_expression "*(undefined4 *)((int)piVar18 + -0x14)" * (cast_expression "(undefined4 *)((int)piVar18 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar18 + -0x14)" ( (binary_expression "(int)piVar18 + -0x14" (cast_expression "(int)piVar18" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "FUN_00072b90();" (call_expression "FUN_00072b90()" identifier (argument_list "()" ( ))) ;) (expression_statement "iVar19 = 5;" (assignment_expression "iVar19 = 5" identifier = number_literal) ;) (expression_statement "bVar24 = (undefined1 *)0xffffffef < (undefined1 *)((int)piVar18 + -0x10);" (assignment_expression "bVar24 = (undefined1 *)0xffffffef < (undefined1 *)((int)piVar18 + -0x10)" identifier = (binary_expression "(undefined1 *)0xffffffef < (undefined1 *)((int)piVar18 + -0x10)" (cast_expression "(undefined1 *)0xffffffef" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) < (cast_expression "(undefined1 *)((int)piVar18 + -0x10)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar18 + -0x10)" ( (binary_expression "(int)piVar18 + -0x10" (cast_expression "(int)piVar18" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "bVar26 = piVar18 == (int *)0x0;" (assignment_expression "bVar26 = piVar18 == (int *)0x0" identifier = (binary_expression "piVar18 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal))) ;) (expression_statement "ppuVar14 = local_b8 + -0x67293;" (assignment_expression "ppuVar14 = local_b8 + -0x67293" identifier = (binary_expression "local_b8 + -0x67293" identifier + number_literal)) ;) (expression_statement "ppuVar23 = local_34;" (assignment_expression "ppuVar23 = local_34" identifier = identifier) ;) (do_statement "do {\n      if (iVar19 == 0) break;\n      iVar19 = iVar19 + -1;\n      bVar24 = *(byte *)ppuVar14 < *(byte *)ppuVar23;\n      bVar26 = *(byte *)ppuVar14 == *(byte *)ppuVar23;\n      ppuVar14 = (undefined **)((int)ppuVar14 + (uint)bVar27 * -2 + 1);\n      ppuVar23 = (undefined **)((int)ppuVar23 + (uint)bVar27 * -2 + 1);\n    } while (bVar26);" do (compound_statement "{\n      if (iVar19 == 0) break;\n      iVar19 = iVar19 + -1;\n      bVar24 = *(byte *)ppuVar14 < *(byte *)ppuVar23;\n      bVar26 = *(byte *)ppuVar14 == *(byte *)ppuVar23;\n      ppuVar14 = (undefined **)((int)ppuVar14 + (uint)bVar27 * -2 + 1);\n      ppuVar23 = (undefined **)((int)ppuVar23 + (uint)bVar27 * -2 + 1);\n    }" { (if_statement "if (iVar19 == 0) break;" if (parenthesized_expression "(iVar19 == 0)" ( (binary_expression "iVar19 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar19 = iVar19 + -1;" (assignment_expression "iVar19 = iVar19 + -1" identifier = (binary_expression "iVar19 + -1" identifier + number_literal)) ;) (expression_statement "bVar24 = *(byte *)ppuVar14 < *(byte *)ppuVar23;" (assignment_expression "bVar24 = *(byte *)ppuVar14 < *(byte *)ppuVar23" identifier = (binary_expression "*(byte *)ppuVar14 < *(byte *)ppuVar23" (pointer_expression "*(byte *)ppuVar14" * (cast_expression "(byte *)ppuVar14" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) < (pointer_expression "*(byte *)ppuVar23" * (cast_expression "(byte *)ppuVar23" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)))) ;) (expression_statement "bVar26 = *(byte *)ppuVar14 == *(byte *)ppuVar23;" (assignment_expression "bVar26 = *(byte *)ppuVar14 == *(byte *)ppuVar23" identifier = (binary_expression "*(byte *)ppuVar14 == *(byte *)ppuVar23" (pointer_expression "*(byte *)ppuVar14" * (cast_expression "(byte *)ppuVar14" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) == (pointer_expression "*(byte *)ppuVar23" * (cast_expression "(byte *)ppuVar23" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)))) ;) (expression_statement "ppuVar14 = (undefined **)((int)ppuVar14 + (uint)bVar27 * -2 + 1);" (assignment_expression "ppuVar14 = (undefined **)((int)ppuVar14 + (uint)bVar27 * -2 + 1)" identifier = (cast_expression "(undefined **)((int)ppuVar14 + (uint)bVar27 * -2 + 1)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)ppuVar14 + (uint)bVar27 * -2 + 1)" ( (binary_expression "(int)ppuVar14 + (uint)bVar27 * -2 + 1" (binary_expression "(int)ppuVar14 + (uint)bVar27 * -2" (cast_expression "(int)ppuVar14" ( (type_descriptor "int" primitive_type) ) identifier) + (binary_expression "(uint)bVar27 * -2" (cast_expression "(uint)bVar27" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal) )))) ;) (expression_statement "ppuVar23 = (undefined **)((int)ppuVar23 + (uint)bVar27 * -2 + 1);" (assignment_expression "ppuVar23 = (undefined **)((int)ppuVar23 + (uint)bVar27 * -2 + 1)" identifier = (cast_expression "(undefined **)((int)ppuVar23 + (uint)bVar27 * -2 + 1)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)ppuVar23 + (uint)bVar27 * -2 + 1)" ( (binary_expression "(int)ppuVar23 + (uint)bVar27 * -2 + 1" (binary_expression "(int)ppuVar23 + (uint)bVar27 * -2" (cast_expression "(int)ppuVar23" ( (type_descriptor "int" primitive_type) ) identifier) + (binary_expression "(uint)bVar27 * -2" (cast_expression "(uint)bVar27" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal) )))) ;) }) while (parenthesized_expression "(bVar26)" ( identifier )) ;) (expression_statement "bVar25 = false;" (assignment_expression "bVar25 = false" identifier = false) ;) (expression_statement "bVar24 = (!bVar24 && !bVar26) == bVar24;" (assignment_expression "bVar24 = (!bVar24 && !bVar26) == bVar24" identifier = (binary_expression "(!bVar24 && !bVar26) == bVar24" (parenthesized_expression "(!bVar24 && !bVar26)" ( (binary_expression "!bVar24 && !bVar26" (unary_expression "!bVar24" ! identifier) && (unary_expression "!bVar26" ! identifier)) )) == identifier)) ;) (if_statement "if (!bVar24) {\n      iVar19 = 0xf;\n      ppuVar14 = (undefined **)((int)local_b8 + -0x19ca46);\n      ppuVar23 = local_34;\n      do {\n        unaff_ESI = ppuVar14;\n        if (iVar19 == 0) break;\n        iVar19 = iVar19 + -1;\n        unaff_ESI = (undefined **)((int)ppuVar14 + (uint)bVar27 * -2 + 1);\n        bVar25 = *(byte *)ppuVar14 < *(byte *)ppuVar23;\n        bVar24 = *(byte *)ppuVar14 == *(byte *)ppuVar23;\n        ppuVar14 = unaff_ESI;\n        ppuVar23 = (undefined **)((int)ppuVar23 + (uint)bVar27 * -2 + 1);\n      } while (bVar24);\n      if ((!bVar25 && !bVar24) != bVar25) {\n        if (local_34 == local_b4) {\n          iVar19 = *local_dc;\n        }\n        else {\n          *(undefined ***)((int)piVar18 + -0x10) = local_34;\n          *(undefined4 *)((int)piVar18 + -0x14) = 0xd2ee3;\n          FUN_003ae080();\n          iVar19 = *local_dc;\n        }\n        goto LAB_000d22e5;\n      }\n    }" if (parenthesized_expression "(!bVar24)" ( (unary_expression "!bVar24" ! identifier) )) (compound_statement "{\n      iVar19 = 0xf;\n      ppuVar14 = (undefined **)((int)local_b8 + -0x19ca46);\n      ppuVar23 = local_34;\n      do {\n        unaff_ESI = ppuVar14;\n        if (iVar19 == 0) break;\n        iVar19 = iVar19 + -1;\n        unaff_ESI = (undefined **)((int)ppuVar14 + (uint)bVar27 * -2 + 1);\n        bVar25 = *(byte *)ppuVar14 < *(byte *)ppuVar23;\n        bVar24 = *(byte *)ppuVar14 == *(byte *)ppuVar23;\n        ppuVar14 = unaff_ESI;\n        ppuVar23 = (undefined **)((int)ppuVar23 + (uint)bVar27 * -2 + 1);\n      } while (bVar24);\n      if ((!bVar25 && !bVar24) != bVar25) {\n        if (local_34 == local_b4) {\n          iVar19 = *local_dc;\n        }\n        else {\n          *(undefined ***)((int)piVar18 + -0x10) = local_34;\n          *(undefined4 *)((int)piVar18 + -0x14) = 0xd2ee3;\n          FUN_003ae080();\n          iVar19 = *local_dc;\n        }\n        goto LAB_000d22e5;\n      }\n    }" { (expression_statement "iVar19 = 0xf;" (assignment_expression "iVar19 = 0xf" identifier = number_literal) ;) (expression_statement "ppuVar14 = (undefined **)((int)local_b8 + -0x19ca46);" (assignment_expression "ppuVar14 = (undefined **)((int)local_b8 + -0x19ca46)" identifier = (cast_expression "(undefined **)((int)local_b8 + -0x19ca46)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)local_b8 + -0x19ca46)" ( (binary_expression "(int)local_b8 + -0x19ca46" (cast_expression "(int)local_b8" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "ppuVar23 = local_34;" (assignment_expression "ppuVar23 = local_34" identifier = identifier) ;) (do_statement "do {\n        unaff_ESI = ppuVar14;\n        if (iVar19 == 0) break;\n        iVar19 = iVar19 + -1;\n        unaff_ESI = (undefined **)((int)ppuVar14 + (uint)bVar27 * -2 + 1);\n        bVar25 = *(byte *)ppuVar14 < *(byte *)ppuVar23;\n        bVar24 = *(byte *)ppuVar14 == *(byte *)ppuVar23;\n        ppuVar14 = unaff_ESI;\n        ppuVar23 = (undefined **)((int)ppuVar23 + (uint)bVar27 * -2 + 1);\n      } while (bVar24);" do (compound_statement "{\n        unaff_ESI = ppuVar14;\n        if (iVar19 == 0) break;\n        iVar19 = iVar19 + -1;\n        unaff_ESI = (undefined **)((int)ppuVar14 + (uint)bVar27 * -2 + 1);\n        bVar25 = *(byte *)ppuVar14 < *(byte *)ppuVar23;\n        bVar24 = *(byte *)ppuVar14 == *(byte *)ppuVar23;\n        ppuVar14 = unaff_ESI;\n        ppuVar23 = (undefined **)((int)ppuVar23 + (uint)bVar27 * -2 + 1);\n      }" { (expression_statement "unaff_ESI = ppuVar14;" (assignment_expression "unaff_ESI = ppuVar14" identifier = identifier) ;) (if_statement "if (iVar19 == 0) break;" if (parenthesized_expression "(iVar19 == 0)" ( (binary_expression "iVar19 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar19 = iVar19 + -1;" (assignment_expression "iVar19 = iVar19 + -1" identifier = (binary_expression "iVar19 + -1" identifier + number_literal)) ;) (expression_statement "unaff_ESI = (undefined **)((int)ppuVar14 + (uint)bVar27 * -2 + 1);" (assignment_expression "unaff_ESI = (undefined **)((int)ppuVar14 + (uint)bVar27 * -2 + 1)" identifier = (cast_expression "(undefined **)((int)ppuVar14 + (uint)bVar27 * -2 + 1)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)ppuVar14 + (uint)bVar27 * -2 + 1)" ( (binary_expression "(int)ppuVar14 + (uint)bVar27 * -2 + 1" (binary_expression "(int)ppuVar14 + (uint)bVar27 * -2" (cast_expression "(int)ppuVar14" ( (type_descriptor "int" primitive_type) ) identifier) + (binary_expression "(uint)bVar27 * -2" (cast_expression "(uint)bVar27" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal) )))) ;) (expression_statement "bVar25 = *(byte *)ppuVar14 < *(byte *)ppuVar23;" (assignment_expression "bVar25 = *(byte *)ppuVar14 < *(byte *)ppuVar23" identifier = (binary_expression "*(byte *)ppuVar14 < *(byte *)ppuVar23" (pointer_expression "*(byte *)ppuVar14" * (cast_expression "(byte *)ppuVar14" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) < (pointer_expression "*(byte *)ppuVar23" * (cast_expression "(byte *)ppuVar23" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)))) ;) (expression_statement "bVar24 = *(byte *)ppuVar14 == *(byte *)ppuVar23;" (assignment_expression "bVar24 = *(byte *)ppuVar14 == *(byte *)ppuVar23" identifier = (binary_expression "*(byte *)ppuVar14 == *(byte *)ppuVar23" (pointer_expression "*(byte *)ppuVar14" * (cast_expression "(byte *)ppuVar14" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) == (pointer_expression "*(byte *)ppuVar23" * (cast_expression "(byte *)ppuVar23" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)))) ;) (expression_statement "ppuVar14 = unaff_ESI;" (assignment_expression "ppuVar14 = unaff_ESI" identifier = identifier) ;) (expression_statement "ppuVar23 = (undefined **)((int)ppuVar23 + (uint)bVar27 * -2 + 1);" (assignment_expression "ppuVar23 = (undefined **)((int)ppuVar23 + (uint)bVar27 * -2 + 1)" identifier = (cast_expression "(undefined **)((int)ppuVar23 + (uint)bVar27 * -2 + 1)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)ppuVar23 + (uint)bVar27 * -2 + 1)" ( (binary_expression "(int)ppuVar23 + (uint)bVar27 * -2 + 1" (binary_expression "(int)ppuVar23 + (uint)bVar27 * -2" (cast_expression "(int)ppuVar23" ( (type_descriptor "int" primitive_type) ) identifier) + (binary_expression "(uint)bVar27 * -2" (cast_expression "(uint)bVar27" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal) )))) ;) }) while (parenthesized_expression "(bVar24)" ( identifier )) ;) (if_statement "if ((!bVar25 && !bVar24) != bVar25) {\n        if (local_34 == local_b4) {\n          iVar19 = *local_dc;\n        }\n        else {\n          *(undefined ***)((int)piVar18 + -0x10) = local_34;\n          *(undefined4 *)((int)piVar18 + -0x14) = 0xd2ee3;\n          FUN_003ae080();\n          iVar19 = *local_dc;\n        }\n        goto LAB_000d22e5;\n      }" if (parenthesized_expression "((!bVar25 && !bVar24) != bVar25)" ( (binary_expression "(!bVar25 && !bVar24) != bVar25" (parenthesized_expression "(!bVar25 && !bVar24)" ( (binary_expression "!bVar25 && !bVar24" (unary_expression "!bVar25" ! identifier) && (unary_expression "!bVar24" ! identifier)) )) != identifier) )) (compound_statement "{\n        if (local_34 == local_b4) {\n          iVar19 = *local_dc;\n        }\n        else {\n          *(undefined ***)((int)piVar18 + -0x10) = local_34;\n          *(undefined4 *)((int)piVar18 + -0x14) = 0xd2ee3;\n          FUN_003ae080();\n          iVar19 = *local_dc;\n        }\n        goto LAB_000d22e5;\n      }" { (if_statement "if (local_34 == local_b4) {\n          iVar19 = *local_dc;\n        }\n        else {\n          *(undefined ***)((int)piVar18 + -0x10) = local_34;\n          *(undefined4 *)((int)piVar18 + -0x14) = 0xd2ee3;\n          FUN_003ae080();\n          iVar19 = *local_dc;\n        }" if (parenthesized_expression "(local_34 == local_b4)" ( (binary_expression "local_34 == local_b4" identifier == identifier) )) (compound_statement "{\n          iVar19 = *local_dc;\n        }" { (expression_statement "iVar19 = *local_dc;" (assignment_expression "iVar19 = *local_dc" identifier = (pointer_expression "*local_dc" * identifier)) ;) }) (else_clause "else {\n          *(undefined ***)((int)piVar18 + -0x10) = local_34;\n          *(undefined4 *)((int)piVar18 + -0x14) = 0xd2ee3;\n          FUN_003ae080();\n          iVar19 = *local_dc;\n        }" else (compound_statement "{\n          *(undefined ***)((int)piVar18 + -0x10) = local_34;\n          *(undefined4 *)((int)piVar18 + -0x14) = 0xd2ee3;\n          FUN_003ae080();\n          iVar19 = *local_dc;\n        }" { (expression_statement "*(undefined ***)((int)piVar18 + -0x10) = local_34;" (assignment_expression "*(undefined ***)((int)piVar18 + -0x10) = local_34" (pointer_expression "*(undefined ***)((int)piVar18 + -0x10)" * (cast_expression "(undefined ***)((int)piVar18 + -0x10)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "((int)piVar18 + -0x10)" ( (binary_expression "(int)piVar18 + -0x10" (cast_expression "(int)piVar18" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)piVar18 + -0x14) = 0xd2ee3;" (assignment_expression "*(undefined4 *)((int)piVar18 + -0x14) = 0xd2ee3" (pointer_expression "*(undefined4 *)((int)piVar18 + -0x14)" * (cast_expression "(undefined4 *)((int)piVar18 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar18 + -0x14)" ( (binary_expression "(int)piVar18 + -0x14" (cast_expression "(int)piVar18" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "FUN_003ae080();" (call_expression "FUN_003ae080()" identifier (argument_list "()" ( ))) ;) (expression_statement "iVar19 = *local_dc;" (assignment_expression "iVar19 = *local_dc" identifier = (pointer_expression "*local_dc" * identifier)) ;) }))) (goto_statement "goto LAB_000d22e5;" goto statement_identifier ;) })) })) (if_statement "if (local_34 != local_b4) {\n      *(undefined ***)((int)piVar18 + -0x10) = local_34;\n      *(undefined4 *)((int)piVar18 + -0x14) = 0xd3010;\n      FUN_003ae080();\n    }" if (parenthesized_expression "(local_34 != local_b4)" ( (binary_expression "local_34 != local_b4" identifier != identifier) )) (compound_statement "{\n      *(undefined ***)((int)piVar18 + -0x10) = local_34;\n      *(undefined4 *)((int)piVar18 + -0x14) = 0xd3010;\n      FUN_003ae080();\n    }" { (expression_statement "*(undefined ***)((int)piVar18 + -0x10) = local_34;" (assignment_expression "*(undefined ***)((int)piVar18 + -0x10) = local_34" (pointer_expression "*(undefined ***)((int)piVar18 + -0x10)" * (cast_expression "(undefined ***)((int)piVar18 + -0x10)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "((int)piVar18 + -0x10)" ( (binary_expression "(int)piVar18 + -0x10" (cast_expression "(int)piVar18" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)piVar18 + -0x14) = 0xd3010;" (assignment_expression "*(undefined4 *)((int)piVar18 + -0x14) = 0xd3010" (pointer_expression "*(undefined4 *)((int)piVar18 + -0x14)" * (cast_expression "(undefined4 *)((int)piVar18 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar18 + -0x14)" ( (binary_expression "(int)piVar18 + -0x14" (cast_expression "(int)piVar18" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "FUN_003ae080();" (call_expression "FUN_003ae080()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "*(undefined ****)((int)piVar18 + -0xc) = local_b0;" (assignment_expression "*(undefined ****)((int)piVar18 + -0xc) = local_b0" (pointer_expression "*(undefined ****)((int)piVar18 + -0xc)" * (cast_expression "(undefined ****)((int)piVar18 + -0xc)" ( (type_descriptor "undefined ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) (parenthesized_expression "((int)piVar18 + -0xc)" ( (binary_expression "(int)piVar18 + -0xc" (cast_expression "(int)piVar18" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "local_34 = param_4;" (assignment_expression "local_34 = param_4" identifier = identifier) ;) (expression_statement "local_30 = param_5;" (assignment_expression "local_30 = param_5" identifier = identifier) ;) (expression_statement "local_b0 = *(undefined ****)(param_2 + 0x15c);" (assignment_expression "local_b0 = *(undefined ****)(param_2 + 0x15c)" identifier = (pointer_expression "*(undefined ****)(param_2 + 0x15c)" * (cast_expression "(undefined ****)(param_2 + 0x15c)" ( (type_descriptor "undefined ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) (parenthesized_expression "(param_2 + 0x15c)" ( (binary_expression "param_2 + 0x15c" identifier + number_literal) ))))) ;) (expression_statement "*(undefined ****)((int)piVar18 + -0x10) = local_b0 + 0x15;" (assignment_expression "*(undefined ****)((int)piVar18 + -0x10) = local_b0 + 0x15" (pointer_expression "*(undefined ****)((int)piVar18 + -0x10)" * (cast_expression "(undefined ****)((int)piVar18 + -0x10)" ( (type_descriptor "undefined ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) (parenthesized_expression "((int)piVar18 + -0x10)" ( (binary_expression "(int)piVar18 + -0x10" (cast_expression "(int)piVar18" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "local_b0 + 0x15" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)((int)piVar18 + -0x14) = 0xd2e84;" (assignment_expression "*(undefined4 *)((int)piVar18 + -0x14) = 0xd2e84" (pointer_expression "*(undefined4 *)((int)piVar18 + -0x14)" * (cast_expression "(undefined4 *)((int)piVar18 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar18 + -0x14)" ( (binary_expression "(int)piVar18 + -0x14" (cast_expression "(int)piVar18" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "local_c8 = FUN_00074520();" (assignment_expression "local_c8 = FUN_00074520()" identifier = (call_expression "FUN_00074520()" identifier (argument_list "()" ( )))) ;) (expression_statement "local_cc = local_c8 + 0xc;" (assignment_expression "local_cc = local_c8 + 0xc" identifier = (binary_expression "local_c8 + 0xc" identifier + number_literal)) ;) (expression_statement "unaff_ESI = (undefined **)(local_c8 + 0x18);" (assignment_expression "unaff_ESI = (undefined **)(local_c8 + 0x18)" identifier = (cast_expression "(undefined **)(local_c8 + 0x18)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(local_c8 + 0x18)" ( (binary_expression "local_c8 + 0x18" identifier + number_literal) )))) ;) (expression_statement "local_d0 = local_c8 + 0x24;" (assignment_expression "local_d0 = local_c8 + 0x24" identifier = (binary_expression "local_c8 + 0x24" identifier + number_literal)) ;) (expression_statement "local_ec = local_c8 + 0x30;" (assignment_expression "local_ec = local_c8 + 0x30" identifier = (binary_expression "local_c8 + 0x30" identifier + number_literal)) ;) (expression_statement "iVar19 = *local_dc;" (assignment_expression "iVar19 = *local_dc" identifier = (pointer_expression "*local_dc" * identifier)) ;) (expression_statement "local_d1 = '\x01';" (assignment_expression "local_d1 = '\x01'" identifier = (char_literal "'\x01'" ' escape_sequence ')) ;) (expression_statement "local_e8 = unaff_ESI;" (assignment_expression "local_e8 = unaff_ESI" identifier = identifier) ;) }))) (if_statement "if (*(int *)(iVar19 + 8) == 0) {\n    *(undefined ***)((int)piVar18 + -4) = unaff_ESI;\n    *(undefined ***)((int)piVar18 + -8) = local_b8 + -0x61176;\n    *(undefined4 *)((int)piVar18 + -0xc) = 0x5c;\n    *(int *)((int)piVar18 + -0x10) = (int)local_b8 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 000d2fe0 to 000d3000 has its CatchHandler @ 000d302c */\n    *(undefined4 *)((int)piVar18 + -0x14) = 0xd2fe5;\n    FUN_002446e0();\n  }" if (parenthesized_expression "(*(int *)(iVar19 + 8) == 0)" ( (binary_expression "*(int *)(iVar19 + 8) == 0" (pointer_expression "*(int *)(iVar19 + 8)" * (cast_expression "(int *)(iVar19 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar19 + 8)" ( (binary_expression "iVar19 + 8" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n    *(undefined ***)((int)piVar18 + -4) = unaff_ESI;\n    *(undefined ***)((int)piVar18 + -8) = local_b8 + -0x61176;\n    *(undefined4 *)((int)piVar18 + -0xc) = 0x5c;\n    *(int *)((int)piVar18 + -0x10) = (int)local_b8 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 000d2fe0 to 000d3000 has its CatchHandler @ 000d302c */\n    *(undefined4 *)((int)piVar18 + -0x14) = 0xd2fe5;\n    FUN_002446e0();\n  }" { (expression_statement "*(undefined ***)((int)piVar18 + -4) = unaff_ESI;" (assignment_expression "*(undefined ***)((int)piVar18 + -4) = unaff_ESI" (pointer_expression "*(undefined ***)((int)piVar18 + -4)" * (cast_expression "(undefined ***)((int)piVar18 + -4)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "((int)piVar18 + -4)" ( (binary_expression "(int)piVar18 + -4" (cast_expression "(int)piVar18" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined ***)((int)piVar18 + -8) = local_b8 + -0x61176;" (assignment_expression "*(undefined ***)((int)piVar18 + -8) = local_b8 + -0x61176" (pointer_expression "*(undefined ***)((int)piVar18 + -8)" * (cast_expression "(undefined ***)((int)piVar18 + -8)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "((int)piVar18 + -8)" ( (binary_expression "(int)piVar18 + -8" (cast_expression "(int)piVar18" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "local_b8 + -0x61176" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)((int)piVar18 + -0xc) = 0x5c;" (assignment_expression "*(undefined4 *)((int)piVar18 + -0xc) = 0x5c" (pointer_expression "*(undefined4 *)((int)piVar18 + -0xc)" * (cast_expression "(undefined4 *)((int)piVar18 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar18 + -0xc)" ( (binary_expression "(int)piVar18 + -0xc" (cast_expression "(int)piVar18" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)((int)piVar18 + -0x10) = (int)local_b8 + -0x1a1d93;" (assignment_expression "*(int *)((int)piVar18 + -0x10) = (int)local_b8 + -0x1a1d93" (pointer_expression "*(int *)((int)piVar18 + -0x10)" * (cast_expression "(int *)((int)piVar18 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar18 + -0x10)" ( (binary_expression "(int)piVar18 + -0x10" (cast_expression "(int)piVar18" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "(int)local_b8 + -0x1a1d93" (cast_expression "(int)local_b8" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) comment comment (expression_statement "*(undefined4 *)((int)piVar18 + -0x14) = 0xd2fe5;" (assignment_expression "*(undefined4 *)((int)piVar18 + -0x14) = 0xd2fe5" (pointer_expression "*(undefined4 *)((int)piVar18 + -0x14)" * (cast_expression "(undefined4 *)((int)piVar18 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar18 + -0x14)" ( (binary_expression "(int)piVar18 + -0x14" (cast_expression "(int)piVar18" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "FUN_002446e0();" (call_expression "FUN_002446e0()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "local_d2 = '\0';" (assignment_expression "local_d2 = '\0'" identifier = (char_literal "'\0'" ' escape_sequence ')) ;) (if_statement "if (*(int *)(*(int *)(iVar19 + 8) + 0x5934) == 2) {\n    *(undefined4 *)((int)piVar18 + -0x10) = param_1;\n    *(undefined4 *)((int)piVar18 + -0x14) = 0xd2ceb;\n    local_d2 = FUN_000aaa70();\n    bVar24 = false;\n    bVar26 = local_d2 == '\0';\n    if (!bVar26) {\n      iVar19 = 0xc;\n      local_d2 = '\0';\n      ppuVar14 = local_b8 + -0x66894;\n      pbVar20 = local_4c[0];\n      do {\n        if (iVar19 == 0) break;\n        iVar19 = iVar19 + -1;\n        bVar24 = *(byte *)ppuVar14 < *pbVar20;\n        bVar26 = *(byte *)ppuVar14 == *pbVar20;\n        ppuVar14 = (undefined **)((int)ppuVar14 + (uint)bVar27 * -2 + 1);\n        pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n      } while (bVar26);\n      bVar25 = false;\n      bVar24 = (!bVar24 && !bVar26) == bVar24;\n      if (!bVar24) {\n        iVar19 = 0x11;\n        pbVar20 = (byte *)((int)local_b8 + -0x19a243);\n        pbVar9 = local_4c[0];\n        do {\n          if (iVar19 == 0) break;\n          iVar19 = iVar19 + -1;\n          bVar25 = *pbVar20 < *pbVar9;\n          bVar24 = *pbVar20 == *pbVar9;\n          pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n          pbVar9 = pbVar9 + (uint)bVar27 * -2 + 1;\n        } while (bVar24);\n        bVar26 = false;\n        bVar24 = (!bVar25 && !bVar24) == bVar25;\n        if (!bVar24) {\n          iVar19 = 0xc;\n          pbVar20 = (byte *)((int)local_b8 + -0x19a231);\n          pbVar9 = local_4c[0];\n          do {\n            if (iVar19 == 0) break;\n            iVar19 = iVar19 + -1;\n            bVar26 = *pbVar20 < *pbVar9;\n            bVar24 = *pbVar20 == *pbVar9;\n            pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n            pbVar9 = pbVar9 + (uint)bVar27 * -2 + 1;\n          } while (bVar24);\n          bVar25 = false;\n          bVar24 = (!bVar26 && !bVar24) == bVar26;\n          if (!bVar24) {\n            iVar19 = 0x11;\n            ppuVar14 = local_b8 + -0x66889;\n            pbVar20 = local_4c[0];\n            do {\n              if (iVar19 == 0) break;\n              iVar19 = iVar19 + -1;\n              bVar25 = *(byte *)ppuVar14 < *pbVar20;\n              bVar24 = *(byte *)ppuVar14 == *pbVar20;\n              ppuVar14 = (undefined **)((int)ppuVar14 + (uint)bVar27 * -2 + 1);\n              pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n            } while (bVar24);\n            bVar26 = false;\n            bVar24 = (!bVar25 && !bVar24) == bVar25;\n            if (!bVar24) {\n              iVar19 = 9;\n              pbVar20 = (byte *)((int)local_b8 + -0x19a212);\n              pbVar9 = local_4c[0];\n              do {\n                if (iVar19 == 0) break;\n                iVar19 = iVar19 + -1;\n                bVar26 = *pbVar20 < *pbVar9;\n                bVar24 = *pbVar20 == *pbVar9;\n                pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n                pbVar9 = pbVar9 + (uint)bVar27 * -2 + 1;\n              } while (bVar24);\n              local_d2 = (!bVar26 && !bVar24) != bVar26;\n            }\n          }\n        }\n      }\n    }\n  }" if (parenthesized_expression "(*(int *)(*(int *)(iVar19 + 8) + 0x5934) == 2)" ( (binary_expression "*(int *)(*(int *)(iVar19 + 8) + 0x5934) == 2" (pointer_expression "*(int *)(*(int *)(iVar19 + 8) + 0x5934)" * (cast_expression "(int *)(*(int *)(iVar19 + 8) + 0x5934)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(iVar19 + 8) + 0x5934)" ( (binary_expression "*(int *)(iVar19 + 8) + 0x5934" (pointer_expression "*(int *)(iVar19 + 8)" * (cast_expression "(int *)(iVar19 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar19 + 8)" ( (binary_expression "iVar19 + 8" identifier + number_literal) )))) + number_literal) )))) == number_literal) )) (compound_statement "{\n    *(undefined4 *)((int)piVar18 + -0x10) = param_1;\n    *(undefined4 *)((int)piVar18 + -0x14) = 0xd2ceb;\n    local_d2 = FUN_000aaa70();\n    bVar24 = false;\n    bVar26 = local_d2 == '\0';\n    if (!bVar26) {\n      iVar19 = 0xc;\n      local_d2 = '\0';\n      ppuVar14 = local_b8 + -0x66894;\n      pbVar20 = local_4c[0];\n      do {\n        if (iVar19 == 0) break;\n        iVar19 = iVar19 + -1;\n        bVar24 = *(byte *)ppuVar14 < *pbVar20;\n        bVar26 = *(byte *)ppuVar14 == *pbVar20;\n        ppuVar14 = (undefined **)((int)ppuVar14 + (uint)bVar27 * -2 + 1);\n        pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n      } while (bVar26);\n      bVar25 = false;\n      bVar24 = (!bVar24 && !bVar26) == bVar24;\n      if (!bVar24) {\n        iVar19 = 0x11;\n        pbVar20 = (byte *)((int)local_b8 + -0x19a243);\n        pbVar9 = local_4c[0];\n        do {\n          if (iVar19 == 0) break;\n          iVar19 = iVar19 + -1;\n          bVar25 = *pbVar20 < *pbVar9;\n          bVar24 = *pbVar20 == *pbVar9;\n          pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n          pbVar9 = pbVar9 + (uint)bVar27 * -2 + 1;\n        } while (bVar24);\n        bVar26 = false;\n        bVar24 = (!bVar25 && !bVar24) == bVar25;\n        if (!bVar24) {\n          iVar19 = 0xc;\n          pbVar20 = (byte *)((int)local_b8 + -0x19a231);\n          pbVar9 = local_4c[0];\n          do {\n            if (iVar19 == 0) break;\n            iVar19 = iVar19 + -1;\n            bVar26 = *pbVar20 < *pbVar9;\n            bVar24 = *pbVar20 == *pbVar9;\n            pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n            pbVar9 = pbVar9 + (uint)bVar27 * -2 + 1;\n          } while (bVar24);\n          bVar25 = false;\n          bVar24 = (!bVar26 && !bVar24) == bVar26;\n          if (!bVar24) {\n            iVar19 = 0x11;\n            ppuVar14 = local_b8 + -0x66889;\n            pbVar20 = local_4c[0];\n            do {\n              if (iVar19 == 0) break;\n              iVar19 = iVar19 + -1;\n              bVar25 = *(byte *)ppuVar14 < *pbVar20;\n              bVar24 = *(byte *)ppuVar14 == *pbVar20;\n              ppuVar14 = (undefined **)((int)ppuVar14 + (uint)bVar27 * -2 + 1);\n              pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n            } while (bVar24);\n            bVar26 = false;\n            bVar24 = (!bVar25 && !bVar24) == bVar25;\n            if (!bVar24) {\n              iVar19 = 9;\n              pbVar20 = (byte *)((int)local_b8 + -0x19a212);\n              pbVar9 = local_4c[0];\n              do {\n                if (iVar19 == 0) break;\n                iVar19 = iVar19 + -1;\n                bVar26 = *pbVar20 < *pbVar9;\n                bVar24 = *pbVar20 == *pbVar9;\n                pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n                pbVar9 = pbVar9 + (uint)bVar27 * -2 + 1;\n              } while (bVar24);\n              local_d2 = (!bVar26 && !bVar24) != bVar26;\n            }\n          }\n        }\n      }\n    }\n  }" { (expression_statement "*(undefined4 *)((int)piVar18 + -0x10) = param_1;" (assignment_expression "*(undefined4 *)((int)piVar18 + -0x10) = param_1" (pointer_expression "*(undefined4 *)((int)piVar18 + -0x10)" * (cast_expression "(undefined4 *)((int)piVar18 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar18 + -0x10)" ( (binary_expression "(int)piVar18 + -0x10" (cast_expression "(int)piVar18" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)piVar18 + -0x14) = 0xd2ceb;" (assignment_expression "*(undefined4 *)((int)piVar18 + -0x14) = 0xd2ceb" (pointer_expression "*(undefined4 *)((int)piVar18 + -0x14)" * (cast_expression "(undefined4 *)((int)piVar18 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar18 + -0x14)" ( (binary_expression "(int)piVar18 + -0x14" (cast_expression "(int)piVar18" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "local_d2 = FUN_000aaa70();" (assignment_expression "local_d2 = FUN_000aaa70()" identifier = (call_expression "FUN_000aaa70()" identifier (argument_list "()" ( )))) ;) (expression_statement "bVar24 = false;" (assignment_expression "bVar24 = false" identifier = false) ;) (expression_statement "bVar26 = local_d2 == '\0';" (assignment_expression "bVar26 = local_d2 == '\0'" identifier = (binary_expression "local_d2 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence '))) ;) (if_statement "if (!bVar26) {\n      iVar19 = 0xc;\n      local_d2 = '\0';\n      ppuVar14 = local_b8 + -0x66894;\n      pbVar20 = local_4c[0];\n      do {\n        if (iVar19 == 0) break;\n        iVar19 = iVar19 + -1;\n        bVar24 = *(byte *)ppuVar14 < *pbVar20;\n        bVar26 = *(byte *)ppuVar14 == *pbVar20;\n        ppuVar14 = (undefined **)((int)ppuVar14 + (uint)bVar27 * -2 + 1);\n        pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n      } while (bVar26);\n      bVar25 = false;\n      bVar24 = (!bVar24 && !bVar26) == bVar24;\n      if (!bVar24) {\n        iVar19 = 0x11;\n        pbVar20 = (byte *)((int)local_b8 + -0x19a243);\n        pbVar9 = local_4c[0];\n        do {\n          if (iVar19 == 0) break;\n          iVar19 = iVar19 + -1;\n          bVar25 = *pbVar20 < *pbVar9;\n          bVar24 = *pbVar20 == *pbVar9;\n          pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n          pbVar9 = pbVar9 + (uint)bVar27 * -2 + 1;\n        } while (bVar24);\n        bVar26 = false;\n        bVar24 = (!bVar25 && !bVar24) == bVar25;\n        if (!bVar24) {\n          iVar19 = 0xc;\n          pbVar20 = (byte *)((int)local_b8 + -0x19a231);\n          pbVar9 = local_4c[0];\n          do {\n            if (iVar19 == 0) break;\n            iVar19 = iVar19 + -1;\n            bVar26 = *pbVar20 < *pbVar9;\n            bVar24 = *pbVar20 == *pbVar9;\n            pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n            pbVar9 = pbVar9 + (uint)bVar27 * -2 + 1;\n          } while (bVar24);\n          bVar25 = false;\n          bVar24 = (!bVar26 && !bVar24) == bVar26;\n          if (!bVar24) {\n            iVar19 = 0x11;\n            ppuVar14 = local_b8 + -0x66889;\n            pbVar20 = local_4c[0];\n            do {\n              if (iVar19 == 0) break;\n              iVar19 = iVar19 + -1;\n              bVar25 = *(byte *)ppuVar14 < *pbVar20;\n              bVar24 = *(byte *)ppuVar14 == *pbVar20;\n              ppuVar14 = (undefined **)((int)ppuVar14 + (uint)bVar27 * -2 + 1);\n              pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n            } while (bVar24);\n            bVar26 = false;\n            bVar24 = (!bVar25 && !bVar24) == bVar25;\n            if (!bVar24) {\n              iVar19 = 9;\n              pbVar20 = (byte *)((int)local_b8 + -0x19a212);\n              pbVar9 = local_4c[0];\n              do {\n                if (iVar19 == 0) break;\n                iVar19 = iVar19 + -1;\n                bVar26 = *pbVar20 < *pbVar9;\n                bVar24 = *pbVar20 == *pbVar9;\n                pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n                pbVar9 = pbVar9 + (uint)bVar27 * -2 + 1;\n              } while (bVar24);\n              local_d2 = (!bVar26 && !bVar24) != bVar26;\n            }\n          }\n        }\n      }\n    }" if (parenthesized_expression "(!bVar26)" ( (unary_expression "!bVar26" ! identifier) )) (compound_statement "{\n      iVar19 = 0xc;\n      local_d2 = '\0';\n      ppuVar14 = local_b8 + -0x66894;\n      pbVar20 = local_4c[0];\n      do {\n        if (iVar19 == 0) break;\n        iVar19 = iVar19 + -1;\n        bVar24 = *(byte *)ppuVar14 < *pbVar20;\n        bVar26 = *(byte *)ppuVar14 == *pbVar20;\n        ppuVar14 = (undefined **)((int)ppuVar14 + (uint)bVar27 * -2 + 1);\n        pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n      } while (bVar26);\n      bVar25 = false;\n      bVar24 = (!bVar24 && !bVar26) == bVar24;\n      if (!bVar24) {\n        iVar19 = 0x11;\n        pbVar20 = (byte *)((int)local_b8 + -0x19a243);\n        pbVar9 = local_4c[0];\n        do {\n          if (iVar19 == 0) break;\n          iVar19 = iVar19 + -1;\n          bVar25 = *pbVar20 < *pbVar9;\n          bVar24 = *pbVar20 == *pbVar9;\n          pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n          pbVar9 = pbVar9 + (uint)bVar27 * -2 + 1;\n        } while (bVar24);\n        bVar26 = false;\n        bVar24 = (!bVar25 && !bVar24) == bVar25;\n        if (!bVar24) {\n          iVar19 = 0xc;\n          pbVar20 = (byte *)((int)local_b8 + -0x19a231);\n          pbVar9 = local_4c[0];\n          do {\n            if (iVar19 == 0) break;\n            iVar19 = iVar19 + -1;\n            bVar26 = *pbVar20 < *pbVar9;\n            bVar24 = *pbVar20 == *pbVar9;\n            pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n            pbVar9 = pbVar9 + (uint)bVar27 * -2 + 1;\n          } while (bVar24);\n          bVar25 = false;\n          bVar24 = (!bVar26 && !bVar24) == bVar26;\n          if (!bVar24) {\n            iVar19 = 0x11;\n            ppuVar14 = local_b8 + -0x66889;\n            pbVar20 = local_4c[0];\n            do {\n              if (iVar19 == 0) break;\n              iVar19 = iVar19 + -1;\n              bVar25 = *(byte *)ppuVar14 < *pbVar20;\n              bVar24 = *(byte *)ppuVar14 == *pbVar20;\n              ppuVar14 = (undefined **)((int)ppuVar14 + (uint)bVar27 * -2 + 1);\n              pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n            } while (bVar24);\n            bVar26 = false;\n            bVar24 = (!bVar25 && !bVar24) == bVar25;\n            if (!bVar24) {\n              iVar19 = 9;\n              pbVar20 = (byte *)((int)local_b8 + -0x19a212);\n              pbVar9 = local_4c[0];\n              do {\n                if (iVar19 == 0) break;\n                iVar19 = iVar19 + -1;\n                bVar26 = *pbVar20 < *pbVar9;\n                bVar24 = *pbVar20 == *pbVar9;\n                pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n                pbVar9 = pbVar9 + (uint)bVar27 * -2 + 1;\n              } while (bVar24);\n              local_d2 = (!bVar26 && !bVar24) != bVar26;\n            }\n          }\n        }\n      }\n    }" { (expression_statement "iVar19 = 0xc;" (assignment_expression "iVar19 = 0xc" identifier = number_literal) ;) (expression_statement "local_d2 = '\0';" (assignment_expression "local_d2 = '\0'" identifier = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "ppuVar14 = local_b8 + -0x66894;" (assignment_expression "ppuVar14 = local_b8 + -0x66894" identifier = (binary_expression "local_b8 + -0x66894" identifier + number_literal)) ;) (expression_statement "pbVar20 = local_4c[0];" (assignment_expression "pbVar20 = local_4c[0]" identifier = (subscript_expression "local_4c[0]" identifier [ number_literal ])) ;) (do_statement "do {\n        if (iVar19 == 0) break;\n        iVar19 = iVar19 + -1;\n        bVar24 = *(byte *)ppuVar14 < *pbVar20;\n        bVar26 = *(byte *)ppuVar14 == *pbVar20;\n        ppuVar14 = (undefined **)((int)ppuVar14 + (uint)bVar27 * -2 + 1);\n        pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n      } while (bVar26);" do (compound_statement "{\n        if (iVar19 == 0) break;\n        iVar19 = iVar19 + -1;\n        bVar24 = *(byte *)ppuVar14 < *pbVar20;\n        bVar26 = *(byte *)ppuVar14 == *pbVar20;\n        ppuVar14 = (undefined **)((int)ppuVar14 + (uint)bVar27 * -2 + 1);\n        pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n      }" { (if_statement "if (iVar19 == 0) break;" if (parenthesized_expression "(iVar19 == 0)" ( (binary_expression "iVar19 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar19 = iVar19 + -1;" (assignment_expression "iVar19 = iVar19 + -1" identifier = (binary_expression "iVar19 + -1" identifier + number_literal)) ;) (expression_statement "bVar24 = *(byte *)ppuVar14 < *pbVar20;" (assignment_expression "bVar24 = *(byte *)ppuVar14 < *pbVar20" identifier = (binary_expression "*(byte *)ppuVar14 < *pbVar20" (pointer_expression "*(byte *)ppuVar14" * (cast_expression "(byte *)ppuVar14" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) < (pointer_expression "*pbVar20" * identifier))) ;) (expression_statement "bVar26 = *(byte *)ppuVar14 == *pbVar20;" (assignment_expression "bVar26 = *(byte *)ppuVar14 == *pbVar20" identifier = (binary_expression "*(byte *)ppuVar14 == *pbVar20" (pointer_expression "*(byte *)ppuVar14" * (cast_expression "(byte *)ppuVar14" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) == (pointer_expression "*pbVar20" * identifier))) ;) (expression_statement "ppuVar14 = (undefined **)((int)ppuVar14 + (uint)bVar27 * -2 + 1);" (assignment_expression "ppuVar14 = (undefined **)((int)ppuVar14 + (uint)bVar27 * -2 + 1)" identifier = (cast_expression "(undefined **)((int)ppuVar14 + (uint)bVar27 * -2 + 1)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)ppuVar14 + (uint)bVar27 * -2 + 1)" ( (binary_expression "(int)ppuVar14 + (uint)bVar27 * -2 + 1" (binary_expression "(int)ppuVar14 + (uint)bVar27 * -2" (cast_expression "(int)ppuVar14" ( (type_descriptor "int" primitive_type) ) identifier) + (binary_expression "(uint)bVar27 * -2" (cast_expression "(uint)bVar27" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal) )))) ;) (expression_statement "pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;" (assignment_expression "pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1" identifier = (binary_expression "pbVar20 + (uint)bVar27 * -2 + 1" (binary_expression "pbVar20 + (uint)bVar27 * -2" identifier + (binary_expression "(uint)bVar27 * -2" (cast_expression "(uint)bVar27" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(bVar26)" ( identifier )) ;) (expression_statement "bVar25 = false;" (assignment_expression "bVar25 = false" identifier = false) ;) (expression_statement "bVar24 = (!bVar24 && !bVar26) == bVar24;" (assignment_expression "bVar24 = (!bVar24 && !bVar26) == bVar24" identifier = (binary_expression "(!bVar24 && !bVar26) == bVar24" (parenthesized_expression "(!bVar24 && !bVar26)" ( (binary_expression "!bVar24 && !bVar26" (unary_expression "!bVar24" ! identifier) && (unary_expression "!bVar26" ! identifier)) )) == identifier)) ;) (if_statement "if (!bVar24) {\n        iVar19 = 0x11;\n        pbVar20 = (byte *)((int)local_b8 + -0x19a243);\n        pbVar9 = local_4c[0];\n        do {\n          if (iVar19 == 0) break;\n          iVar19 = iVar19 + -1;\n          bVar25 = *pbVar20 < *pbVar9;\n          bVar24 = *pbVar20 == *pbVar9;\n          pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n          pbVar9 = pbVar9 + (uint)bVar27 * -2 + 1;\n        } while (bVar24);\n        bVar26 = false;\n        bVar24 = (!bVar25 && !bVar24) == bVar25;\n        if (!bVar24) {\n          iVar19 = 0xc;\n          pbVar20 = (byte *)((int)local_b8 + -0x19a231);\n          pbVar9 = local_4c[0];\n          do {\n            if (iVar19 == 0) break;\n            iVar19 = iVar19 + -1;\n            bVar26 = *pbVar20 < *pbVar9;\n            bVar24 = *pbVar20 == *pbVar9;\n            pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n            pbVar9 = pbVar9 + (uint)bVar27 * -2 + 1;\n          } while (bVar24);\n          bVar25 = false;\n          bVar24 = (!bVar26 && !bVar24) == bVar26;\n          if (!bVar24) {\n            iVar19 = 0x11;\n            ppuVar14 = local_b8 + -0x66889;\n            pbVar20 = local_4c[0];\n            do {\n              if (iVar19 == 0) break;\n              iVar19 = iVar19 + -1;\n              bVar25 = *(byte *)ppuVar14 < *pbVar20;\n              bVar24 = *(byte *)ppuVar14 == *pbVar20;\n              ppuVar14 = (undefined **)((int)ppuVar14 + (uint)bVar27 * -2 + 1);\n              pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n            } while (bVar24);\n            bVar26 = false;\n            bVar24 = (!bVar25 && !bVar24) == bVar25;\n            if (!bVar24) {\n              iVar19 = 9;\n              pbVar20 = (byte *)((int)local_b8 + -0x19a212);\n              pbVar9 = local_4c[0];\n              do {\n                if (iVar19 == 0) break;\n                iVar19 = iVar19 + -1;\n                bVar26 = *pbVar20 < *pbVar9;\n                bVar24 = *pbVar20 == *pbVar9;\n                pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n                pbVar9 = pbVar9 + (uint)bVar27 * -2 + 1;\n              } while (bVar24);\n              local_d2 = (!bVar26 && !bVar24) != bVar26;\n            }\n          }\n        }\n      }" if (parenthesized_expression "(!bVar24)" ( (unary_expression "!bVar24" ! identifier) )) (compound_statement "{\n        iVar19 = 0x11;\n        pbVar20 = (byte *)((int)local_b8 + -0x19a243);\n        pbVar9 = local_4c[0];\n        do {\n          if (iVar19 == 0) break;\n          iVar19 = iVar19 + -1;\n          bVar25 = *pbVar20 < *pbVar9;\n          bVar24 = *pbVar20 == *pbVar9;\n          pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n          pbVar9 = pbVar9 + (uint)bVar27 * -2 + 1;\n        } while (bVar24);\n        bVar26 = false;\n        bVar24 = (!bVar25 && !bVar24) == bVar25;\n        if (!bVar24) {\n          iVar19 = 0xc;\n          pbVar20 = (byte *)((int)local_b8 + -0x19a231);\n          pbVar9 = local_4c[0];\n          do {\n            if (iVar19 == 0) break;\n            iVar19 = iVar19 + -1;\n            bVar26 = *pbVar20 < *pbVar9;\n            bVar24 = *pbVar20 == *pbVar9;\n            pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n            pbVar9 = pbVar9 + (uint)bVar27 * -2 + 1;\n          } while (bVar24);\n          bVar25 = false;\n          bVar24 = (!bVar26 && !bVar24) == bVar26;\n          if (!bVar24) {\n            iVar19 = 0x11;\n            ppuVar14 = local_b8 + -0x66889;\n            pbVar20 = local_4c[0];\n            do {\n              if (iVar19 == 0) break;\n              iVar19 = iVar19 + -1;\n              bVar25 = *(byte *)ppuVar14 < *pbVar20;\n              bVar24 = *(byte *)ppuVar14 == *pbVar20;\n              ppuVar14 = (undefined **)((int)ppuVar14 + (uint)bVar27 * -2 + 1);\n              pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n            } while (bVar24);\n            bVar26 = false;\n            bVar24 = (!bVar25 && !bVar24) == bVar25;\n            if (!bVar24) {\n              iVar19 = 9;\n              pbVar20 = (byte *)((int)local_b8 + -0x19a212);\n              pbVar9 = local_4c[0];\n              do {\n                if (iVar19 == 0) break;\n                iVar19 = iVar19 + -1;\n                bVar26 = *pbVar20 < *pbVar9;\n                bVar24 = *pbVar20 == *pbVar9;\n                pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n                pbVar9 = pbVar9 + (uint)bVar27 * -2 + 1;\n              } while (bVar24);\n              local_d2 = (!bVar26 && !bVar24) != bVar26;\n            }\n          }\n        }\n      }" { (expression_statement "iVar19 = 0x11;" (assignment_expression "iVar19 = 0x11" identifier = number_literal) ;) (expression_statement "pbVar20 = (byte *)((int)local_b8 + -0x19a243);" (assignment_expression "pbVar20 = (byte *)((int)local_b8 + -0x19a243)" identifier = (cast_expression "(byte *)((int)local_b8 + -0x19a243)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_b8 + -0x19a243)" ( (binary_expression "(int)local_b8 + -0x19a243" (cast_expression "(int)local_b8" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "pbVar9 = local_4c[0];" (assignment_expression "pbVar9 = local_4c[0]" identifier = (subscript_expression "local_4c[0]" identifier [ number_literal ])) ;) (do_statement "do {\n          if (iVar19 == 0) break;\n          iVar19 = iVar19 + -1;\n          bVar25 = *pbVar20 < *pbVar9;\n          bVar24 = *pbVar20 == *pbVar9;\n          pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n          pbVar9 = pbVar9 + (uint)bVar27 * -2 + 1;\n        } while (bVar24);" do (compound_statement "{\n          if (iVar19 == 0) break;\n          iVar19 = iVar19 + -1;\n          bVar25 = *pbVar20 < *pbVar9;\n          bVar24 = *pbVar20 == *pbVar9;\n          pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n          pbVar9 = pbVar9 + (uint)bVar27 * -2 + 1;\n        }" { (if_statement "if (iVar19 == 0) break;" if (parenthesized_expression "(iVar19 == 0)" ( (binary_expression "iVar19 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar19 = iVar19 + -1;" (assignment_expression "iVar19 = iVar19 + -1" identifier = (binary_expression "iVar19 + -1" identifier + number_literal)) ;) (expression_statement "bVar25 = *pbVar20 < *pbVar9;" (assignment_expression "bVar25 = *pbVar20 < *pbVar9" identifier = (binary_expression "*pbVar20 < *pbVar9" (pointer_expression "*pbVar20" * identifier) < (pointer_expression "*pbVar9" * identifier))) ;) (expression_statement "bVar24 = *pbVar20 == *pbVar9;" (assignment_expression "bVar24 = *pbVar20 == *pbVar9" identifier = (binary_expression "*pbVar20 == *pbVar9" (pointer_expression "*pbVar20" * identifier) == (pointer_expression "*pbVar9" * identifier))) ;) (expression_statement "pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;" (assignment_expression "pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1" identifier = (binary_expression "pbVar20 + (uint)bVar27 * -2 + 1" (binary_expression "pbVar20 + (uint)bVar27 * -2" identifier + (binary_expression "(uint)bVar27 * -2" (cast_expression "(uint)bVar27" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar9 = pbVar9 + (uint)bVar27 * -2 + 1;" (assignment_expression "pbVar9 = pbVar9 + (uint)bVar27 * -2 + 1" identifier = (binary_expression "pbVar9 + (uint)bVar27 * -2 + 1" (binary_expression "pbVar9 + (uint)bVar27 * -2" identifier + (binary_expression "(uint)bVar27 * -2" (cast_expression "(uint)bVar27" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(bVar24)" ( identifier )) ;) (expression_statement "bVar26 = false;" (assignment_expression "bVar26 = false" identifier = false) ;) (expression_statement "bVar24 = (!bVar25 && !bVar24) == bVar25;" (assignment_expression "bVar24 = (!bVar25 && !bVar24) == bVar25" identifier = (binary_expression "(!bVar25 && !bVar24) == bVar25" (parenthesized_expression "(!bVar25 && !bVar24)" ( (binary_expression "!bVar25 && !bVar24" (unary_expression "!bVar25" ! identifier) && (unary_expression "!bVar24" ! identifier)) )) == identifier)) ;) (if_statement "if (!bVar24) {\n          iVar19 = 0xc;\n          pbVar20 = (byte *)((int)local_b8 + -0x19a231);\n          pbVar9 = local_4c[0];\n          do {\n            if (iVar19 == 0) break;\n            iVar19 = iVar19 + -1;\n            bVar26 = *pbVar20 < *pbVar9;\n            bVar24 = *pbVar20 == *pbVar9;\n            pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n            pbVar9 = pbVar9 + (uint)bVar27 * -2 + 1;\n          } while (bVar24);\n          bVar25 = false;\n          bVar24 = (!bVar26 && !bVar24) == bVar26;\n          if (!bVar24) {\n            iVar19 = 0x11;\n            ppuVar14 = local_b8 + -0x66889;\n            pbVar20 = local_4c[0];\n            do {\n              if (iVar19 == 0) break;\n              iVar19 = iVar19 + -1;\n              bVar25 = *(byte *)ppuVar14 < *pbVar20;\n              bVar24 = *(byte *)ppuVar14 == *pbVar20;\n              ppuVar14 = (undefined **)((int)ppuVar14 + (uint)bVar27 * -2 + 1);\n              pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n            } while (bVar24);\n            bVar26 = false;\n            bVar24 = (!bVar25 && !bVar24) == bVar25;\n            if (!bVar24) {\n              iVar19 = 9;\n              pbVar20 = (byte *)((int)local_b8 + -0x19a212);\n              pbVar9 = local_4c[0];\n              do {\n                if (iVar19 == 0) break;\n                iVar19 = iVar19 + -1;\n                bVar26 = *pbVar20 < *pbVar9;\n                bVar24 = *pbVar20 == *pbVar9;\n                pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n                pbVar9 = pbVar9 + (uint)bVar27 * -2 + 1;\n              } while (bVar24);\n              local_d2 = (!bVar26 && !bVar24) != bVar26;\n            }\n          }\n        }" if (parenthesized_expression "(!bVar24)" ( (unary_expression "!bVar24" ! identifier) )) (compound_statement "{\n          iVar19 = 0xc;\n          pbVar20 = (byte *)((int)local_b8 + -0x19a231);\n          pbVar9 = local_4c[0];\n          do {\n            if (iVar19 == 0) break;\n            iVar19 = iVar19 + -1;\n            bVar26 = *pbVar20 < *pbVar9;\n            bVar24 = *pbVar20 == *pbVar9;\n            pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n            pbVar9 = pbVar9 + (uint)bVar27 * -2 + 1;\n          } while (bVar24);\n          bVar25 = false;\n          bVar24 = (!bVar26 && !bVar24) == bVar26;\n          if (!bVar24) {\n            iVar19 = 0x11;\n            ppuVar14 = local_b8 + -0x66889;\n            pbVar20 = local_4c[0];\n            do {\n              if (iVar19 == 0) break;\n              iVar19 = iVar19 + -1;\n              bVar25 = *(byte *)ppuVar14 < *pbVar20;\n              bVar24 = *(byte *)ppuVar14 == *pbVar20;\n              ppuVar14 = (undefined **)((int)ppuVar14 + (uint)bVar27 * -2 + 1);\n              pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n            } while (bVar24);\n            bVar26 = false;\n            bVar24 = (!bVar25 && !bVar24) == bVar25;\n            if (!bVar24) {\n              iVar19 = 9;\n              pbVar20 = (byte *)((int)local_b8 + -0x19a212);\n              pbVar9 = local_4c[0];\n              do {\n                if (iVar19 == 0) break;\n                iVar19 = iVar19 + -1;\n                bVar26 = *pbVar20 < *pbVar9;\n                bVar24 = *pbVar20 == *pbVar9;\n                pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n                pbVar9 = pbVar9 + (uint)bVar27 * -2 + 1;\n              } while (bVar24);\n              local_d2 = (!bVar26 && !bVar24) != bVar26;\n            }\n          }\n        }" { (expression_statement "iVar19 = 0xc;" (assignment_expression "iVar19 = 0xc" identifier = number_literal) ;) (expression_statement "pbVar20 = (byte *)((int)local_b8 + -0x19a231);" (assignment_expression "pbVar20 = (byte *)((int)local_b8 + -0x19a231)" identifier = (cast_expression "(byte *)((int)local_b8 + -0x19a231)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_b8 + -0x19a231)" ( (binary_expression "(int)local_b8 + -0x19a231" (cast_expression "(int)local_b8" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "pbVar9 = local_4c[0];" (assignment_expression "pbVar9 = local_4c[0]" identifier = (subscript_expression "local_4c[0]" identifier [ number_literal ])) ;) (do_statement "do {\n            if (iVar19 == 0) break;\n            iVar19 = iVar19 + -1;\n            bVar26 = *pbVar20 < *pbVar9;\n            bVar24 = *pbVar20 == *pbVar9;\n            pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n            pbVar9 = pbVar9 + (uint)bVar27 * -2 + 1;\n          } while (bVar24);" do (compound_statement "{\n            if (iVar19 == 0) break;\n            iVar19 = iVar19 + -1;\n            bVar26 = *pbVar20 < *pbVar9;\n            bVar24 = *pbVar20 == *pbVar9;\n            pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n            pbVar9 = pbVar9 + (uint)bVar27 * -2 + 1;\n          }" { (if_statement "if (iVar19 == 0) break;" if (parenthesized_expression "(iVar19 == 0)" ( (binary_expression "iVar19 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar19 = iVar19 + -1;" (assignment_expression "iVar19 = iVar19 + -1" identifier = (binary_expression "iVar19 + -1" identifier + number_literal)) ;) (expression_statement "bVar26 = *pbVar20 < *pbVar9;" (assignment_expression "bVar26 = *pbVar20 < *pbVar9" identifier = (binary_expression "*pbVar20 < *pbVar9" (pointer_expression "*pbVar20" * identifier) < (pointer_expression "*pbVar9" * identifier))) ;) (expression_statement "bVar24 = *pbVar20 == *pbVar9;" (assignment_expression "bVar24 = *pbVar20 == *pbVar9" identifier = (binary_expression "*pbVar20 == *pbVar9" (pointer_expression "*pbVar20" * identifier) == (pointer_expression "*pbVar9" * identifier))) ;) (expression_statement "pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;" (assignment_expression "pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1" identifier = (binary_expression "pbVar20 + (uint)bVar27 * -2 + 1" (binary_expression "pbVar20 + (uint)bVar27 * -2" identifier + (binary_expression "(uint)bVar27 * -2" (cast_expression "(uint)bVar27" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar9 = pbVar9 + (uint)bVar27 * -2 + 1;" (assignment_expression "pbVar9 = pbVar9 + (uint)bVar27 * -2 + 1" identifier = (binary_expression "pbVar9 + (uint)bVar27 * -2 + 1" (binary_expression "pbVar9 + (uint)bVar27 * -2" identifier + (binary_expression "(uint)bVar27 * -2" (cast_expression "(uint)bVar27" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(bVar24)" ( identifier )) ;) (expression_statement "bVar25 = false;" (assignment_expression "bVar25 = false" identifier = false) ;) (expression_statement "bVar24 = (!bVar26 && !bVar24) == bVar26;" (assignment_expression "bVar24 = (!bVar26 && !bVar24) == bVar26" identifier = (binary_expression "(!bVar26 && !bVar24) == bVar26" (parenthesized_expression "(!bVar26 && !bVar24)" ( (binary_expression "!bVar26 && !bVar24" (unary_expression "!bVar26" ! identifier) && (unary_expression "!bVar24" ! identifier)) )) == identifier)) ;) (if_statement "if (!bVar24) {\n            iVar19 = 0x11;\n            ppuVar14 = local_b8 + -0x66889;\n            pbVar20 = local_4c[0];\n            do {\n              if (iVar19 == 0) break;\n              iVar19 = iVar19 + -1;\n              bVar25 = *(byte *)ppuVar14 < *pbVar20;\n              bVar24 = *(byte *)ppuVar14 == *pbVar20;\n              ppuVar14 = (undefined **)((int)ppuVar14 + (uint)bVar27 * -2 + 1);\n              pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n            } while (bVar24);\n            bVar26 = false;\n            bVar24 = (!bVar25 && !bVar24) == bVar25;\n            if (!bVar24) {\n              iVar19 = 9;\n              pbVar20 = (byte *)((int)local_b8 + -0x19a212);\n              pbVar9 = local_4c[0];\n              do {\n                if (iVar19 == 0) break;\n                iVar19 = iVar19 + -1;\n                bVar26 = *pbVar20 < *pbVar9;\n                bVar24 = *pbVar20 == *pbVar9;\n                pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n                pbVar9 = pbVar9 + (uint)bVar27 * -2 + 1;\n              } while (bVar24);\n              local_d2 = (!bVar26 && !bVar24) != bVar26;\n            }\n          }" if (parenthesized_expression "(!bVar24)" ( (unary_expression "!bVar24" ! identifier) )) (compound_statement "{\n            iVar19 = 0x11;\n            ppuVar14 = local_b8 + -0x66889;\n            pbVar20 = local_4c[0];\n            do {\n              if (iVar19 == 0) break;\n              iVar19 = iVar19 + -1;\n              bVar25 = *(byte *)ppuVar14 < *pbVar20;\n              bVar24 = *(byte *)ppuVar14 == *pbVar20;\n              ppuVar14 = (undefined **)((int)ppuVar14 + (uint)bVar27 * -2 + 1);\n              pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n            } while (bVar24);\n            bVar26 = false;\n            bVar24 = (!bVar25 && !bVar24) == bVar25;\n            if (!bVar24) {\n              iVar19 = 9;\n              pbVar20 = (byte *)((int)local_b8 + -0x19a212);\n              pbVar9 = local_4c[0];\n              do {\n                if (iVar19 == 0) break;\n                iVar19 = iVar19 + -1;\n                bVar26 = *pbVar20 < *pbVar9;\n                bVar24 = *pbVar20 == *pbVar9;\n                pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n                pbVar9 = pbVar9 + (uint)bVar27 * -2 + 1;\n              } while (bVar24);\n              local_d2 = (!bVar26 && !bVar24) != bVar26;\n            }\n          }" { (expression_statement "iVar19 = 0x11;" (assignment_expression "iVar19 = 0x11" identifier = number_literal) ;) (expression_statement "ppuVar14 = local_b8 + -0x66889;" (assignment_expression "ppuVar14 = local_b8 + -0x66889" identifier = (binary_expression "local_b8 + -0x66889" identifier + number_literal)) ;) (expression_statement "pbVar20 = local_4c[0];" (assignment_expression "pbVar20 = local_4c[0]" identifier = (subscript_expression "local_4c[0]" identifier [ number_literal ])) ;) (do_statement "do {\n              if (iVar19 == 0) break;\n              iVar19 = iVar19 + -1;\n              bVar25 = *(byte *)ppuVar14 < *pbVar20;\n              bVar24 = *(byte *)ppuVar14 == *pbVar20;\n              ppuVar14 = (undefined **)((int)ppuVar14 + (uint)bVar27 * -2 + 1);\n              pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n            } while (bVar24);" do (compound_statement "{\n              if (iVar19 == 0) break;\n              iVar19 = iVar19 + -1;\n              bVar25 = *(byte *)ppuVar14 < *pbVar20;\n              bVar24 = *(byte *)ppuVar14 == *pbVar20;\n              ppuVar14 = (undefined **)((int)ppuVar14 + (uint)bVar27 * -2 + 1);\n              pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n            }" { (if_statement "if (iVar19 == 0) break;" if (parenthesized_expression "(iVar19 == 0)" ( (binary_expression "iVar19 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar19 = iVar19 + -1;" (assignment_expression "iVar19 = iVar19 + -1" identifier = (binary_expression "iVar19 + -1" identifier + number_literal)) ;) (expression_statement "bVar25 = *(byte *)ppuVar14 < *pbVar20;" (assignment_expression "bVar25 = *(byte *)ppuVar14 < *pbVar20" identifier = (binary_expression "*(byte *)ppuVar14 < *pbVar20" (pointer_expression "*(byte *)ppuVar14" * (cast_expression "(byte *)ppuVar14" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) < (pointer_expression "*pbVar20" * identifier))) ;) (expression_statement "bVar24 = *(byte *)ppuVar14 == *pbVar20;" (assignment_expression "bVar24 = *(byte *)ppuVar14 == *pbVar20" identifier = (binary_expression "*(byte *)ppuVar14 == *pbVar20" (pointer_expression "*(byte *)ppuVar14" * (cast_expression "(byte *)ppuVar14" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) == (pointer_expression "*pbVar20" * identifier))) ;) (expression_statement "ppuVar14 = (undefined **)((int)ppuVar14 + (uint)bVar27 * -2 + 1);" (assignment_expression "ppuVar14 = (undefined **)((int)ppuVar14 + (uint)bVar27 * -2 + 1)" identifier = (cast_expression "(undefined **)((int)ppuVar14 + (uint)bVar27 * -2 + 1)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)ppuVar14 + (uint)bVar27 * -2 + 1)" ( (binary_expression "(int)ppuVar14 + (uint)bVar27 * -2 + 1" (binary_expression "(int)ppuVar14 + (uint)bVar27 * -2" (cast_expression "(int)ppuVar14" ( (type_descriptor "int" primitive_type) ) identifier) + (binary_expression "(uint)bVar27 * -2" (cast_expression "(uint)bVar27" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal) )))) ;) (expression_statement "pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;" (assignment_expression "pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1" identifier = (binary_expression "pbVar20 + (uint)bVar27 * -2 + 1" (binary_expression "pbVar20 + (uint)bVar27 * -2" identifier + (binary_expression "(uint)bVar27 * -2" (cast_expression "(uint)bVar27" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(bVar24)" ( identifier )) ;) (expression_statement "bVar26 = false;" (assignment_expression "bVar26 = false" identifier = false) ;) (expression_statement "bVar24 = (!bVar25 && !bVar24) == bVar25;" (assignment_expression "bVar24 = (!bVar25 && !bVar24) == bVar25" identifier = (binary_expression "(!bVar25 && !bVar24) == bVar25" (parenthesized_expression "(!bVar25 && !bVar24)" ( (binary_expression "!bVar25 && !bVar24" (unary_expression "!bVar25" ! identifier) && (unary_expression "!bVar24" ! identifier)) )) == identifier)) ;) (if_statement "if (!bVar24) {\n              iVar19 = 9;\n              pbVar20 = (byte *)((int)local_b8 + -0x19a212);\n              pbVar9 = local_4c[0];\n              do {\n                if (iVar19 == 0) break;\n                iVar19 = iVar19 + -1;\n                bVar26 = *pbVar20 < *pbVar9;\n                bVar24 = *pbVar20 == *pbVar9;\n                pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n                pbVar9 = pbVar9 + (uint)bVar27 * -2 + 1;\n              } while (bVar24);\n              local_d2 = (!bVar26 && !bVar24) != bVar26;\n            }" if (parenthesized_expression "(!bVar24)" ( (unary_expression "!bVar24" ! identifier) )) (compound_statement "{\n              iVar19 = 9;\n              pbVar20 = (byte *)((int)local_b8 + -0x19a212);\n              pbVar9 = local_4c[0];\n              do {\n                if (iVar19 == 0) break;\n                iVar19 = iVar19 + -1;\n                bVar26 = *pbVar20 < *pbVar9;\n                bVar24 = *pbVar20 == *pbVar9;\n                pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n                pbVar9 = pbVar9 + (uint)bVar27 * -2 + 1;\n              } while (bVar24);\n              local_d2 = (!bVar26 && !bVar24) != bVar26;\n            }" { (expression_statement "iVar19 = 9;" (assignment_expression "iVar19 = 9" identifier = number_literal) ;) (expression_statement "pbVar20 = (byte *)((int)local_b8 + -0x19a212);" (assignment_expression "pbVar20 = (byte *)((int)local_b8 + -0x19a212)" identifier = (cast_expression "(byte *)((int)local_b8 + -0x19a212)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_b8 + -0x19a212)" ( (binary_expression "(int)local_b8 + -0x19a212" (cast_expression "(int)local_b8" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "pbVar9 = local_4c[0];" (assignment_expression "pbVar9 = local_4c[0]" identifier = (subscript_expression "local_4c[0]" identifier [ number_literal ])) ;) (do_statement "do {\n                if (iVar19 == 0) break;\n                iVar19 = iVar19 + -1;\n                bVar26 = *pbVar20 < *pbVar9;\n                bVar24 = *pbVar20 == *pbVar9;\n                pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n                pbVar9 = pbVar9 + (uint)bVar27 * -2 + 1;\n              } while (bVar24);" do (compound_statement "{\n                if (iVar19 == 0) break;\n                iVar19 = iVar19 + -1;\n                bVar26 = *pbVar20 < *pbVar9;\n                bVar24 = *pbVar20 == *pbVar9;\n                pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n                pbVar9 = pbVar9 + (uint)bVar27 * -2 + 1;\n              }" { (if_statement "if (iVar19 == 0) break;" if (parenthesized_expression "(iVar19 == 0)" ( (binary_expression "iVar19 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar19 = iVar19 + -1;" (assignment_expression "iVar19 = iVar19 + -1" identifier = (binary_expression "iVar19 + -1" identifier + number_literal)) ;) (expression_statement "bVar26 = *pbVar20 < *pbVar9;" (assignment_expression "bVar26 = *pbVar20 < *pbVar9" identifier = (binary_expression "*pbVar20 < *pbVar9" (pointer_expression "*pbVar20" * identifier) < (pointer_expression "*pbVar9" * identifier))) ;) (expression_statement "bVar24 = *pbVar20 == *pbVar9;" (assignment_expression "bVar24 = *pbVar20 == *pbVar9" identifier = (binary_expression "*pbVar20 == *pbVar9" (pointer_expression "*pbVar20" * identifier) == (pointer_expression "*pbVar9" * identifier))) ;) (expression_statement "pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;" (assignment_expression "pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1" identifier = (binary_expression "pbVar20 + (uint)bVar27 * -2 + 1" (binary_expression "pbVar20 + (uint)bVar27 * -2" identifier + (binary_expression "(uint)bVar27 * -2" (cast_expression "(uint)bVar27" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar9 = pbVar9 + (uint)bVar27 * -2 + 1;" (assignment_expression "pbVar9 = pbVar9 + (uint)bVar27 * -2 + 1" identifier = (binary_expression "pbVar9 + (uint)bVar27 * -2 + 1" (binary_expression "pbVar9 + (uint)bVar27 * -2" identifier + (binary_expression "(uint)bVar27 * -2" (cast_expression "(uint)bVar27" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(bVar24)" ( identifier )) ;) (expression_statement "local_d2 = (!bVar26 && !bVar24) != bVar26;" (assignment_expression "local_d2 = (!bVar26 && !bVar24) != bVar26" identifier = (binary_expression "(!bVar26 && !bVar24) != bVar26" (parenthesized_expression "(!bVar26 && !bVar24)" ( (binary_expression "!bVar26 && !bVar24" (unary_expression "!bVar26" ! identifier) && (unary_expression "!bVar24" ! identifier)) )) != identifier)) ;) })) })) })) })) })) })) (if_statement "if (param_8 != 0) {\n    local_d8 = (byte *)0x0;\n    local_e0 = local_a4;\n    local_f4 = &local_8c;\n    local_e4 = 0;\n    do {\n      uVar2 = param_7[1];\n      uVar21 = uVar2 & 0xff;\n      puVar15 = (undefined *)(uVar2 >> 8);\n      local_bc = (undefined *)param_7[2];\n      if (puVar15 < param_11) {\n        if (param_12 == 0) {\n          *(undefined ***)((int)piVar18 + -8) = local_b8 + -0x615ed;\n          *(undefined4 *)((int)piVar18 + -0xc) = 0xea;\n          *(int *)((int)piVar18 + -0x10) = (int)local_b8 + -0x19ca36;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 000d2f44 to 000d2fac has its CatchHandler @ 000d302c */\n          *(undefined **)((int)piVar18 + -0x14) = &UNK_000d2f49;\n          FUN_002446e0();\n        }\n        iVar19 = (int)puVar15 * 0x10 + param_12;\n        local_b4 = (undefined **)(uint)*(ushort *)(iVar19 + 0xe);\n        if (local_b4 < (undefined **)0xff00) {\nLAB_000d24ee:\n          ppuVar14 = *(undefined ***)(iVar19 + 4);\n          local_c4 = local_bc + (int)ppuVar14;\n          if (local_d1 != '\0') {\n            local_34 = param_4;\n            local_30 = local_b4;\n            local_b0 = &local_34;\n            *(undefined ****)((int)piVar18 + -0xc) = local_b0;\n            *(int *)((int)piVar18 + -0x10) = local_c8;\n            *(undefined4 *)((int)piVar18 + -0x14) = 0xd2533;\n            FUN_00073b00();\n            local_c0 = (undefined **)CONCAT31(local_c0._1_3_,1);\n            if ((*(byte *)(iVar19 + 0xc) & 0xf) == 3) goto LAB_000d254c;\nLAB_000d23e8:\n            *(undefined ****)((int)piVar18 + -0xc) = local_b0;\n            *(int *)((int)piVar18 + -0x10) = local_cc;\n            local_34 = (undefined **)0x0;\n            *(undefined4 *)((int)piVar18 + -0x14) = 0xd2403;\n            FUN_00073ca0();\n            goto LAB_000d2403;\n          }\n        }\n        else {\n          if (local_b4 == (undefined **)0xffff) {\n            puVar7 = param_4[0xc];\n            if (puVar7 == (undefined *)0x0) {\n              puVar7 = *param_4;\n              *(undefined ***)((int)piVar18 + -0x10) = param_4;\n              pcVar4 = *(code **)(puVar7 + 0x6c);\n              *(undefined4 *)((int)piVar18 + -0x14) = 0xd2a4e;\n              puVar7 = (undefined *)(*pcVar4)();\n              param_4[0xc] = puVar7;\n            }\n            *(undefined **)((int)piVar18 + -8) = puVar15;\n            *(undefined ***)((int)piVar18 + -0xc) = param_4;\n            *(undefined **)((int)piVar18 + -0x10) = puVar7;\n            *(undefined4 *)((int)piVar18 + -0x14) = 0xd2591;\n            local_b4 = (undefined **)FUN_0028b7d0();\n            goto LAB_000d24ee;\n          }\n          ppuVar14 = *(undefined ***)(iVar19 + 4);\n          local_c4 = local_bc + (int)ppuVar14;\n          if (local_d1 == '\0') goto LAB_000d2489;\n          local_b0 = &local_34;\n          local_34 = (undefined **)0x0;\n          *(undefined ****)((int)piVar18 + -0xc) = local_b0;\n          *(int *)((int)piVar18 + -0x10) = local_c8;\n          local_30 = (undefined **)0x0;\n                    /* try { // try from 000d23ca to 000d2bf5 has its CatchHandler @ 000d302c */\n          *(undefined4 *)((int)piVar18 + -0x14) = 0xd23cf;\n          FUN_00073b00();\n          local_c0 = (undefined **)((uint)local_c0 & 0xffffff00);\n          if ((*(byte *)(iVar19 + 0xc) & 0xf) != 3) goto LAB_000d23e8;\nLAB_000d254c:\n          *(undefined ****)((int)piVar18 + -0xc) = local_b0;\n          *(int *)((int)piVar18 + -0x10) = local_cc;\n          local_34 = (undefined **)0xffffffff;\n          *(undefined4 *)((int)piVar18 + -0x14) = 0xd2567;\n          FUN_00073ca0();\nLAB_000d2403:\n          *(undefined ****)((int)piVar18 + -0xc) = local_b0;\n          *(undefined ***)((int)piVar18 + -0x10) = local_e8;\n          local_2c = local_bc;\n          local_28 = (int)local_bc >> 0x1f;\n          local_30 = (undefined **)0x0;\n          *(undefined4 *)((int)piVar18 + -0x14) = 0xd2433;\n          local_34 = ppuVar14;\n          FUN_00073e70();\n          local_30 = (undefined **)0x0;\n          local_34 = (undefined **)*param_7;\n          puVar1 = *(undefined4 **)(local_d0 + 4);\n          if (puVar1 == *(undefined4 **)(local_d0 + 8)) {\n            *(undefined ****)((int)piVar18 + -8) = local_b0;\n            *(undefined4 **)((int)piVar18 + -0xc) = puVar1;\n            *(int *)((int)piVar18 + -0x10) = local_d0;\n            *(undefined4 *)((int)piVar18 + -0x14) = 0xd2b0d;\n            FUN_00072a40();\n          }\n          else {\n            *puVar1 = local_34;\n            puVar1[1] = 0;\n            *(undefined4 **)(local_d0 + 4) = puVar1 + 2;\n          }\n          local_68 = (undefined **)0x0;\n          *(undefined ****)((int)piVar18 + -0xc) = &local_68;\n          *(int *)((int)piVar18 + -0x10) = local_ec;\n          *(undefined4 *)((int)piVar18 + -0x14) = 0xd2479;\n          FUN_00074020();\n          if ((char)local_c0 == '\0') goto LAB_000d2489;\n        }\n        if (((local_d2 != '\0') && ((*(byte *)(iVar19 + 0xc) & 0xf) != 1)) &&\n           ((0x17 < uVar21 || ((0x843f84U >> (uVar2 & 0x1f) & 1) == 0)))) {\n          local_b0 = *(undefined ****)(param_2 + 0x15c);\n          local_80 = param_4;\n          local_7c = (uint)*(ushort *)(iVar19 + 0xe);\n          *(undefined4 *)((int)piVar18 + -0xc) = 1;\n          *(undefined4 *)((int)piVar18 + -0x10) = 0;\n          local_98 = local_b0 + 0xd;\n          *(undefined *****)((int)piVar18 + -0x14) = &local_98;\n          *(undefined ****)((int)piVar18 + -0x18) = &local_80;\n          *(undefined ****)((int)piVar18 + -0x1c) = local_98;\n          *(undefined1 **)((int)piVar18 + -0x20) = local_e0;\n          *(undefined4 *)((int)piVar18 + -0x24) = 0xd2ad1;\n          FUN_00074280();\n          piVar18 = (int *)((int)piVar18 + -4);\n        }\n        if (param_5 != local_b4) {\n          local_c0 = param_4;\n          puVar17 = (undefined1 *)piVar18;\nLAB_000d275e:\n          if (*(int *)(*local_dc + 8) == 0) {\n            *(undefined ***)(puVar17 + -8) = local_b8 + -0x61176;\n            *(undefined4 *)(puVar17 + -0xc) = 0x5c;\n            *(int *)(puVar17 + -0x10) = (int)local_b8 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)(puVar17 + -0x14) = 0xd2f6e;\n            FUN_002446e0();\n          }\n          piVar18 = (int *)puVar17;\n          if (*(char *)(*(int *)(*local_dc + 8) + 0x18b1) != '\0') {\n            local_70 = param_4;\n            iVar19 = *(int *)(param_2 + 0x158) + 0x14;\n            local_6c = param_5;\n            local_68 = local_c0;\n            local_64 = local_b4;\n            iVar3 = *(int *)(*(int *)(param_2 + 0x158) + 0x18);\n            iVar10 = iVar19;\n            if (iVar3 == 0) {\nLAB_000d27f0:\n              local_88 = &local_70;\n              *(undefined *****)(puVar17 + -0x10) = &local_88;\n              *(undefined4 *)(puVar17 + -0x14) = 0xd2811;\n              FUN_000c5e40();\n              iVar11 = local_a8;\n            }\n            else {\n              do {\n                while ((iVar11 = iVar3, *(undefined ***)(iVar11 + 0x10) < param_4 ||\n                       ((param_4 == *(undefined ***)(iVar11 + 0x10) &&\n                        (*(undefined ***)(iVar11 + 0x14) < param_5))))) {\n                  piVar18 = (int *)(iVar11 + 0xc);\n                  iVar3 = *piVar18;\n                  iVar11 = iVar10;\n                  if (*piVar18 == 0) goto LAB_000d27da;\n                }\n                iVar3 = *(int *)(iVar11 + 8);\n                iVar10 = iVar11;\n              } while (*(int *)(iVar11 + 8) != 0);\nLAB_000d27da:\n              if (((iVar19 == iVar11) || (param_4 < *(undefined ***)(iVar11 + 0x10))) ||\n                 ((param_4 == *(undefined ***)(iVar11 + 0x10) &&\n                  (param_5 < *(undefined ***)(iVar11 + 0x14))))) goto LAB_000d27f0;\n            }\n            local_8c = iVar11 + 0x18;\n            *(undefined4 *)(puVar17 + -0xc) = 1;\n            *(undefined4 *)(puVar17 + -0x10) = 0;\n            *(int **)(puVar17 + -0x14) = local_f4;\n            *(undefined ****)(puVar17 + -0x18) = &local_68;\n            *(int *)(puVar17 + -0x1c) = local_8c;\n            *(undefined1 **)(puVar17 + -0x20) = local_e0;\n            *(undefined4 *)(puVar17 + -0x24) = 0xd2840;\n            FUN_00074340();\n            piVar18 = *(int **)(*local_dc + 0xc);\n            if (piVar18 == (int *)0x0) {\n              *(undefined ***)(puVar17 + -0xc) = local_b8 + -0x615c4;\n              *(undefined4 *)(puVar17 + -0x10) = 0x73;\n              *(int *)(puVar17 + -0x14) = (int)local_b8 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n              *(undefined4 *)(puVar17 + -0x18) = 0xd2fad;\n              FUN_002446e0();\n            }\n            iVar19 = *piVar18;\n            *(undefined **)(puVar17 + -0xc) = local_c4;\n            *(undefined ***)(puVar17 + -0x10) = local_b4;\n            *(undefined ***)(puVar17 + -0x14) = local_c0;\n            *(undefined ***)(puVar17 + -0x18) = param_5;\n            *(undefined ***)(puVar17 + -0x1c) = param_4;\n            *(int *)(puVar17 + -0x20) = param_2;\n            *(int **)(puVar17 + -0x24) = piVar18;\n            pcVar4 = *(code **)(iVar19 + 0x104);\n            *(undefined4 *)(puVar17 + -0x28) = 0xd287d;\n            (*pcVar4)();\n            pbVar20 = local_d8;\n            piVar18 = (int *)(puVar17 + -4);\n            if (local_d8 != (byte *)0x0) {\n              local_b4 = &local_2c;\n              local_b0 = &local_34;\n              iVar19 = *(int *)(param_2 + 0x158);\n              *(byte **)(puVar17 + -0x14) = local_d8;\n              local_34 = local_b4;\n              *(undefined4 *)(puVar17 + -0x18) = 0xd28bd;\n              sVar6 = strlen(*(char **)(puVar17 + -0x14));\n              pppuVar5 = local_b0;\n              *(undefined4 *)(puVar17 + -8) = 0;\n              *(byte **)(puVar17 + -0xc) = pbVar20 + sVar6;\n              *(byte **)(puVar17 + -0x10) = pbVar20;\n              *(undefined ****)(puVar17 + -0x14) = local_b0;\n              *(undefined4 *)(puVar17 + -0x18) = 0xd28d2;\n              FUN_00072b90();\n              *(undefined ****)(puVar17 + -0xc) = pppuVar5;\n              *(int *)(puVar17 + -0x10) = iVar19 + 0x44;\n              *(int **)(puVar17 + -0x14) = &local_ac;\n              *(undefined4 *)(puVar17 + -0x18) = 0xd28e6;\n              FUN_00094bd0();\n              iVar19 = local_ac;\n              if (local_34 != local_b4) {\n                *(undefined ***)(puVar17 + -0x18) = local_34;\n                *(undefined4 *)(puVar17 + -0x1c) = 0xd2909;\n                FUN_003ae080();\n              }\n              piVar18 = (int *)(puVar17 + -8);\n              iVar3 = *(int *)(param_2 + 0x158);\n              if (iVar19 != iVar3 + 0x48) {\n                local_34 = param_4;\n                local_30 = param_5;\n                iVar10 = *(int *)(iVar3 + 0x18);\n                iVar11 = iVar3 + 0x14;\n                if (*(int *)(iVar3 + 0x18) == 0) {\nLAB_000d2bd8:\n                  *(undefined *****)(puVar17 + -0x18) = &local_84;\n                  local_84 = local_b0;\n                  *(undefined4 *)(puVar17 + -0x1c) = 0xd2bf6;\n                  FUN_000c5e40();\n                  iVar12 = local_a8;\n                }\n                else {\n                  do {\n                    while ((iVar12 = iVar10, *(undefined ***)(iVar12 + 0x10) < param_4 ||\n                           ((param_4 == *(undefined ***)(iVar12 + 0x10) &&\n                            (*(undefined ***)(iVar12 + 0x14) < param_5))))) {\n                      piVar18 = (int *)(iVar12 + 0xc);\n                      iVar10 = *piVar18;\n                      iVar12 = iVar11;\n                      if (*piVar18 == 0) goto LAB_000d2962;\n                    }\n                    iVar10 = *(int *)(iVar12 + 8);\n                    iVar11 = iVar12;\n                  } while (*(int *)(iVar12 + 8) != 0);\nLAB_000d2962:\n                  if (((iVar12 == iVar3 + 0x14) || (param_4 < *(undefined ***)(iVar12 + 0x10))) ||\n                     ((param_4 == *(undefined ***)(iVar12 + 0x10) &&\n                      (param_5 < *(undefined ***)(iVar12 + 0x14))))) goto LAB_000d2bd8;\n                }\n                piVar18 = (int *)(puVar17 + -8);\n                puVar17 = puVar17 + -8;\n                for (puVar1 = *(undefined4 **)(iVar19 + 0x30); puVar1 != (undefined4 *)0x0;\n                    puVar1 = (undefined4 *)*puVar1) {\n                  *(undefined4 *)(puVar17 + -0xc) = 1;\n                  *(undefined4 *)(puVar17 + -0x10) = 0;\n                  *(int **)(puVar17 + -0x14) = &local_90;\n                  *(undefined4 **)(puVar17 + -0x18) = puVar1 + 1;\n                  *(int *)(puVar17 + -0x1c) = iVar12 + 0x18;\n                  *(undefined1 **)(puVar17 + -0x20) = local_e0;\n                  *(undefined4 *)(puVar17 + -0x24) = 0xd29ae;\n                  local_90 = iVar12 + 0x18;\n                  FUN_00074340();\n                  piVar18 = (int *)(puVar17 + -4);\n                  puVar17 = puVar17 + -4;\n                }\n              }\n            }\n          }\n        }\n      }\n      else {\n        if (puVar15 < param_4[0x2c]) {\n          local_70 = (undefined **)0x0;\nLAB_000d2a1f:\n          *(undefined ***)((int)piVar18 + -8) = local_b8 + -0x615ed;\n          *(undefined4 *)((int)piVar18 + -0xc) = 0x11c;\n          *(int *)((int)piVar18 + -0x10) = (int)local_b8 + -0x19ca36;\n                    /* WARNING: Subroutine does not return */\n          *(undefined4 *)((int)piVar18 + -0x14) = 0xd2a40;\n          FUN_002446e0();\n        }\n        uVar16 = (int)puVar15 - (int)param_4[0x2c];\n        local_b0 = (undefined ***)param_4[0x30];\n        if ((uint)((int)local_b0 - (int)param_4[0x2f] >> 2) <= uVar16) {\n          *(undefined ***)((int)piVar18 + -8) = local_b8 + -0x6156c;\n          *(undefined4 *)((int)piVar18 + -0xc) = 0x8ad;\n          *(int *)((int)piVar18 + -0x10) = (int)local_b8 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n          *(undefined4 *)((int)piVar18 + -0x14) = 0xd2f8f;\n          FUN_002446e0();\n        }\n        local_70 = *(undefined ***)(param_4[0x2f] + uVar16 * 4);\n        if (local_70 == (undefined **)0x0) goto LAB_000d2a1f;\n        if ((*(byte *)((int)local_70 + 0x2a) & 0x10) == 0) {\n          if ((*(byte *)((int)local_70 + 0x2a) & 7) == 0) goto LAB_000d25f7;\nLAB_000d29e2:\n          local_f0 = (undefined **)local_70[0xc];\n          bVar13 = 0;\n          local_b4 = (undefined **)0x0;\n          local_c0 = (undefined **)0x0;\n          bVar24 = CARRY4((uint)local_bc,(uint)local_f0);\n          local_c4 = local_bc + (int)local_f0;\n          bVar26 = local_c4 == (undefined *)0x0;\n        }\n        else {\n          *(undefined ***)((int)piVar18 + -0xc) = local_70;\n          *(int *)((int)piVar18 + -0x10) = param_2;\n          *(undefined4 *)((int)piVar18 + -0x14) = 0xd29d2;\n          local_70 = (undefined **)FUN_0034cd90();\n          if ((*(byte *)((int)local_70 + 0x2a) & 7) != 0) goto LAB_000d29e2;\nLAB_000d25f7:\n          local_f0 = (undefined **)local_70[0xc];\n          local_c0 = (undefined **)local_70[2];\n          local_c4 = local_bc + (int)local_f0;\n          if (((uint)local_c0[0xb] & 1) == 0) {\n            local_b4 = (undefined **)local_70[3];\n            bVar13 = *(byte *)((int)local_70 + 0x2b) >> 5 & 1;\n            bVar24 = (*(byte *)(local_70 + 10) & 0xf) < 2;\n            bVar26 = (*(byte *)(local_70 + 10) & 0xf) == 2;\n            if (bVar26) {\n              bVar24 = false;\n              bVar26 = local_d2 == '\0';\n              if ((!bVar26) &&\n                 (((bVar13 == 0 || (bVar26 = uVar21 == 0x17, 0x17 < uVar21)) ||\n                  (bVar24 = (0x843f84U >> (uVar2 & 0x1f) & 1) != 0, !bVar24)))) {\n                local_b0 = *(undefined ****)(param_2 + 0x15c);\n                *(undefined4 *)((int)piVar18 + -0xc) = 1;\n                *(undefined4 *)((int)piVar18 + -0x10) = 0;\n                *(undefined *****)((int)piVar18 + -0x14) = &local_94;\n                *(undefined ****)((int)piVar18 + -0x18) = &local_78;\n                local_94 = local_b0 + 0xd;\n                *(undefined ****)((int)piVar18 + -0x1c) = local_94;\n                *(undefined1 **)((int)piVar18 + -0x20) = local_e0;\n                    /* try { // try from 000d2cc6 to 000d2cca has its CatchHandler @ 000d302c */\n                *(undefined4 *)((int)piVar18 + -0x24) = 0xd2ccb;\n                local_78 = local_c0;\n                local_74 = local_b4;\n                FUN_00074280();\n                bVar24 = (undefined1 *)0xffffffe3 < (undefined1 *)((int)piVar18 + -0x20);\n                bVar26 = piVar18 == (int *)0x4;\n                piVar18 = (int *)((int)piVar18 + -4);\n              }\n            }\n          }\n          else {\n            local_b4 = (undefined **)0x0;\n            bVar24 = false;\n            bVar13 = 0;\n            bVar26 = true;\n            local_c0 = (undefined **)0x0;\n          }\n        }\n        pbVar20 = *local_70;\n        iVar19 = 8;\n        pbVar9 = (byte *)((int)local_b8 + -0x19ca26);\n        pbVar22 = pbVar20;\n        do {\n          if (iVar19 == 0) break;\n          iVar19 = iVar19 + -1;\n          bVar24 = *pbVar9 < *pbVar22;\n          bVar26 = *pbVar9 == *pbVar22;\n          pbVar9 = pbVar9 + (uint)bVar27 * -2 + 1;\n          pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n        } while (bVar26);\n        bVar25 = false;\n        bVar24 = (!bVar24 && !bVar26) == bVar24;\n        if (bVar24) {\n          pbVar20 = pbVar20 + 8;\n        }\n        else {\n          iVar19 = 7;\n          pbVar9 = (byte *)((int)local_b8 + -0x19ca1d);\n          pbVar22 = pbVar20;\n          do {\n            if (iVar19 == 0) break;\n            iVar19 = iVar19 + -1;\n            bVar25 = *pbVar9 < *pbVar22;\n            bVar24 = *pbVar9 == *pbVar22;\n            pbVar9 = pbVar9 + (uint)bVar27 * -2 + 1;\n            pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n          } while (bVar24);\n          pbVar20 = pbVar20 + 7;\n          if ((!bVar25 && !bVar24) != bVar25) {\n            pbVar20 = local_d8;\n          }\n        }\n        local_d8 = pbVar20;\n        if (local_d1 != '\0') {\n          if (bVar13 == 0) {\n            local_34 = (undefined **)0x0;\n            local_30 = (undefined **)0x0;\n          }\n          else {\n            local_34 = local_c0;\n            local_30 = local_b4;\n          }\n          local_b0 = &local_34;\n          *(undefined ****)((int)piVar18 + -0xc) = local_b0;\n          *(int *)((int)piVar18 + -0x10) = local_c8;\n          *(undefined4 *)((int)piVar18 + -0x14) = 0xd26b9;\n          FUN_00073b00();\n          puVar1 = *(undefined4 **)(local_cc + 4);\n          if (puVar1 == *(undefined4 **)(local_cc + 8)) {\n            *(undefined ****)((int)piVar18 + -8) = &local_70;\n            *(undefined4 **)((int)piVar18 + -0xc) = puVar1;\n            *(int *)((int)piVar18 + -0x10) = local_cc;\n            *(undefined4 *)((int)piVar18 + -0x14) = 0xd2b4b;\n            FUN_000726c0();\n          }\n          else {\n            *puVar1 = local_70;\n            *(undefined4 **)(local_cc + 4) = puVar1 + 1;\n          }\n          *(undefined ****)((int)piVar18 + -0xc) = local_b0;\n          *(undefined ***)((int)piVar18 + -0x10) = local_e8;\n          local_34 = local_f0;\n          local_30 = (undefined **)0x0;\n          local_2c = local_bc;\n          local_28 = (int)local_bc >> 0x1f;\n          *(undefined4 *)((int)piVar18 + -0x14) = 0xd270d;\n          FUN_00073e70();\n          local_30 = (undefined **)0x0;\n          local_34 = (undefined **)*param_7;\n          puVar1 = *(undefined4 **)(local_d0 + 4);\n          if (puVar1 == *(undefined4 **)(local_d0 + 8)) {\n            *(undefined ****)((int)piVar18 + -8) = local_b0;\n            *(undefined4 **)((int)piVar18 + -0xc) = puVar1;\n            *(int *)((int)piVar18 + -0x10) = local_d0;\n            *(undefined4 *)((int)piVar18 + -0x14) = 0xd2bbd;\n            FUN_00072a40();\n          }\n          else {\n            *puVar1 = local_34;\n            puVar1[1] = 0;\n            *(undefined4 **)(local_d0 + 4) = puVar1 + 2;\n          }\n          local_68 = (undefined **)0x0;\n          *(undefined ****)((int)piVar18 + -0xc) = &local_68;\n          *(int *)((int)piVar18 + -0x10) = local_ec;\n          *(undefined4 *)((int)piVar18 + -0x14) = 0xd2753;\n          FUN_00074020();\n        }\n        puVar17 = (undefined1 *)piVar18;\n        if (bVar13 != 0) goto LAB_000d275e;\n      }\nLAB_000d2489:\n      local_e4 = local_e4 + 1;\n      param_7 = param_7 + 3;\n    } while (param_8 != local_e4);\n  }" if (parenthesized_expression "(param_8 != 0)" ( (binary_expression "param_8 != 0" identifier != number_literal) )) (compound_statement "{\n    local_d8 = (byte *)0x0;\n    local_e0 = local_a4;\n    local_f4 = &local_8c;\n    local_e4 = 0;\n    do {\n      uVar2 = param_7[1];\n      uVar21 = uVar2 & 0xff;\n      puVar15 = (undefined *)(uVar2 >> 8);\n      local_bc = (undefined *)param_7[2];\n      if (puVar15 < param_11) {\n        if (param_12 == 0) {\n          *(undefined ***)((int)piVar18 + -8) = local_b8 + -0x615ed;\n          *(undefined4 *)((int)piVar18 + -0xc) = 0xea;\n          *(int *)((int)piVar18 + -0x10) = (int)local_b8 + -0x19ca36;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 000d2f44 to 000d2fac has its CatchHandler @ 000d302c */\n          *(undefined **)((int)piVar18 + -0x14) = &UNK_000d2f49;\n          FUN_002446e0();\n        }\n        iVar19 = (int)puVar15 * 0x10 + param_12;\n        local_b4 = (undefined **)(uint)*(ushort *)(iVar19 + 0xe);\n        if (local_b4 < (undefined **)0xff00) {\nLAB_000d24ee:\n          ppuVar14 = *(undefined ***)(iVar19 + 4);\n          local_c4 = local_bc + (int)ppuVar14;\n          if (local_d1 != '\0') {\n            local_34 = param_4;\n            local_30 = local_b4;\n            local_b0 = &local_34;\n            *(undefined ****)((int)piVar18 + -0xc) = local_b0;\n            *(int *)((int)piVar18 + -0x10) = local_c8;\n            *(undefined4 *)((int)piVar18 + -0x14) = 0xd2533;\n            FUN_00073b00();\n            local_c0 = (undefined **)CONCAT31(local_c0._1_3_,1);\n            if ((*(byte *)(iVar19 + 0xc) & 0xf) == 3) goto LAB_000d254c;\nLAB_000d23e8:\n            *(undefined ****)((int)piVar18 + -0xc) = local_b0;\n            *(int *)((int)piVar18 + -0x10) = local_cc;\n            local_34 = (undefined **)0x0;\n            *(undefined4 *)((int)piVar18 + -0x14) = 0xd2403;\n            FUN_00073ca0();\n            goto LAB_000d2403;\n          }\n        }\n        else {\n          if (local_b4 == (undefined **)0xffff) {\n            puVar7 = param_4[0xc];\n            if (puVar7 == (undefined *)0x0) {\n              puVar7 = *param_4;\n              *(undefined ***)((int)piVar18 + -0x10) = param_4;\n              pcVar4 = *(code **)(puVar7 + 0x6c);\n              *(undefined4 *)((int)piVar18 + -0x14) = 0xd2a4e;\n              puVar7 = (undefined *)(*pcVar4)();\n              param_4[0xc] = puVar7;\n            }\n            *(undefined **)((int)piVar18 + -8) = puVar15;\n            *(undefined ***)((int)piVar18 + -0xc) = param_4;\n            *(undefined **)((int)piVar18 + -0x10) = puVar7;\n            *(undefined4 *)((int)piVar18 + -0x14) = 0xd2591;\n            local_b4 = (undefined **)FUN_0028b7d0();\n            goto LAB_000d24ee;\n          }\n          ppuVar14 = *(undefined ***)(iVar19 + 4);\n          local_c4 = local_bc + (int)ppuVar14;\n          if (local_d1 == '\0') goto LAB_000d2489;\n          local_b0 = &local_34;\n          local_34 = (undefined **)0x0;\n          *(undefined ****)((int)piVar18 + -0xc) = local_b0;\n          *(int *)((int)piVar18 + -0x10) = local_c8;\n          local_30 = (undefined **)0x0;\n                    /* try { // try from 000d23ca to 000d2bf5 has its CatchHandler @ 000d302c */\n          *(undefined4 *)((int)piVar18 + -0x14) = 0xd23cf;\n          FUN_00073b00();\n          local_c0 = (undefined **)((uint)local_c0 & 0xffffff00);\n          if ((*(byte *)(iVar19 + 0xc) & 0xf) != 3) goto LAB_000d23e8;\nLAB_000d254c:\n          *(undefined ****)((int)piVar18 + -0xc) = local_b0;\n          *(int *)((int)piVar18 + -0x10) = local_cc;\n          local_34 = (undefined **)0xffffffff;\n          *(undefined4 *)((int)piVar18 + -0x14) = 0xd2567;\n          FUN_00073ca0();\nLAB_000d2403:\n          *(undefined ****)((int)piVar18 + -0xc) = local_b0;\n          *(undefined ***)((int)piVar18 + -0x10) = local_e8;\n          local_2c = local_bc;\n          local_28 = (int)local_bc >> 0x1f;\n          local_30 = (undefined **)0x0;\n          *(undefined4 *)((int)piVar18 + -0x14) = 0xd2433;\n          local_34 = ppuVar14;\n          FUN_00073e70();\n          local_30 = (undefined **)0x0;\n          local_34 = (undefined **)*param_7;\n          puVar1 = *(undefined4 **)(local_d0 + 4);\n          if (puVar1 == *(undefined4 **)(local_d0 + 8)) {\n            *(undefined ****)((int)piVar18 + -8) = local_b0;\n            *(undefined4 **)((int)piVar18 + -0xc) = puVar1;\n            *(int *)((int)piVar18 + -0x10) = local_d0;\n            *(undefined4 *)((int)piVar18 + -0x14) = 0xd2b0d;\n            FUN_00072a40();\n          }\n          else {\n            *puVar1 = local_34;\n            puVar1[1] = 0;\n            *(undefined4 **)(local_d0 + 4) = puVar1 + 2;\n          }\n          local_68 = (undefined **)0x0;\n          *(undefined ****)((int)piVar18 + -0xc) = &local_68;\n          *(int *)((int)piVar18 + -0x10) = local_ec;\n          *(undefined4 *)((int)piVar18 + -0x14) = 0xd2479;\n          FUN_00074020();\n          if ((char)local_c0 == '\0') goto LAB_000d2489;\n        }\n        if (((local_d2 != '\0') && ((*(byte *)(iVar19 + 0xc) & 0xf) != 1)) &&\n           ((0x17 < uVar21 || ((0x843f84U >> (uVar2 & 0x1f) & 1) == 0)))) {\n          local_b0 = *(undefined ****)(param_2 + 0x15c);\n          local_80 = param_4;\n          local_7c = (uint)*(ushort *)(iVar19 + 0xe);\n          *(undefined4 *)((int)piVar18 + -0xc) = 1;\n          *(undefined4 *)((int)piVar18 + -0x10) = 0;\n          local_98 = local_b0 + 0xd;\n          *(undefined *****)((int)piVar18 + -0x14) = &local_98;\n          *(undefined ****)((int)piVar18 + -0x18) = &local_80;\n          *(undefined ****)((int)piVar18 + -0x1c) = local_98;\n          *(undefined1 **)((int)piVar18 + -0x20) = local_e0;\n          *(undefined4 *)((int)piVar18 + -0x24) = 0xd2ad1;\n          FUN_00074280();\n          piVar18 = (int *)((int)piVar18 + -4);\n        }\n        if (param_5 != local_b4) {\n          local_c0 = param_4;\n          puVar17 = (undefined1 *)piVar18;\nLAB_000d275e:\n          if (*(int *)(*local_dc + 8) == 0) {\n            *(undefined ***)(puVar17 + -8) = local_b8 + -0x61176;\n            *(undefined4 *)(puVar17 + -0xc) = 0x5c;\n            *(int *)(puVar17 + -0x10) = (int)local_b8 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)(puVar17 + -0x14) = 0xd2f6e;\n            FUN_002446e0();\n          }\n          piVar18 = (int *)puVar17;\n          if (*(char *)(*(int *)(*local_dc + 8) + 0x18b1) != '\0') {\n            local_70 = param_4;\n            iVar19 = *(int *)(param_2 + 0x158) + 0x14;\n            local_6c = param_5;\n            local_68 = local_c0;\n            local_64 = local_b4;\n            iVar3 = *(int *)(*(int *)(param_2 + 0x158) + 0x18);\n            iVar10 = iVar19;\n            if (iVar3 == 0) {\nLAB_000d27f0:\n              local_88 = &local_70;\n              *(undefined *****)(puVar17 + -0x10) = &local_88;\n              *(undefined4 *)(puVar17 + -0x14) = 0xd2811;\n              FUN_000c5e40();\n              iVar11 = local_a8;\n            }\n            else {\n              do {\n                while ((iVar11 = iVar3, *(undefined ***)(iVar11 + 0x10) < param_4 ||\n                       ((param_4 == *(undefined ***)(iVar11 + 0x10) &&\n                        (*(undefined ***)(iVar11 + 0x14) < param_5))))) {\n                  piVar18 = (int *)(iVar11 + 0xc);\n                  iVar3 = *piVar18;\n                  iVar11 = iVar10;\n                  if (*piVar18 == 0) goto LAB_000d27da;\n                }\n                iVar3 = *(int *)(iVar11 + 8);\n                iVar10 = iVar11;\n              } while (*(int *)(iVar11 + 8) != 0);\nLAB_000d27da:\n              if (((iVar19 == iVar11) || (param_4 < *(undefined ***)(iVar11 + 0x10))) ||\n                 ((param_4 == *(undefined ***)(iVar11 + 0x10) &&\n                  (param_5 < *(undefined ***)(iVar11 + 0x14))))) goto LAB_000d27f0;\n            }\n            local_8c = iVar11 + 0x18;\n            *(undefined4 *)(puVar17 + -0xc) = 1;\n            *(undefined4 *)(puVar17 + -0x10) = 0;\n            *(int **)(puVar17 + -0x14) = local_f4;\n            *(undefined ****)(puVar17 + -0x18) = &local_68;\n            *(int *)(puVar17 + -0x1c) = local_8c;\n            *(undefined1 **)(puVar17 + -0x20) = local_e0;\n            *(undefined4 *)(puVar17 + -0x24) = 0xd2840;\n            FUN_00074340();\n            piVar18 = *(int **)(*local_dc + 0xc);\n            if (piVar18 == (int *)0x0) {\n              *(undefined ***)(puVar17 + -0xc) = local_b8 + -0x615c4;\n              *(undefined4 *)(puVar17 + -0x10) = 0x73;\n              *(int *)(puVar17 + -0x14) = (int)local_b8 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n              *(undefined4 *)(puVar17 + -0x18) = 0xd2fad;\n              FUN_002446e0();\n            }\n            iVar19 = *piVar18;\n            *(undefined **)(puVar17 + -0xc) = local_c4;\n            *(undefined ***)(puVar17 + -0x10) = local_b4;\n            *(undefined ***)(puVar17 + -0x14) = local_c0;\n            *(undefined ***)(puVar17 + -0x18) = param_5;\n            *(undefined ***)(puVar17 + -0x1c) = param_4;\n            *(int *)(puVar17 + -0x20) = param_2;\n            *(int **)(puVar17 + -0x24) = piVar18;\n            pcVar4 = *(code **)(iVar19 + 0x104);\n            *(undefined4 *)(puVar17 + -0x28) = 0xd287d;\n            (*pcVar4)();\n            pbVar20 = local_d8;\n            piVar18 = (int *)(puVar17 + -4);\n            if (local_d8 != (byte *)0x0) {\n              local_b4 = &local_2c;\n              local_b0 = &local_34;\n              iVar19 = *(int *)(param_2 + 0x158);\n              *(byte **)(puVar17 + -0x14) = local_d8;\n              local_34 = local_b4;\n              *(undefined4 *)(puVar17 + -0x18) = 0xd28bd;\n              sVar6 = strlen(*(char **)(puVar17 + -0x14));\n              pppuVar5 = local_b0;\n              *(undefined4 *)(puVar17 + -8) = 0;\n              *(byte **)(puVar17 + -0xc) = pbVar20 + sVar6;\n              *(byte **)(puVar17 + -0x10) = pbVar20;\n              *(undefined ****)(puVar17 + -0x14) = local_b0;\n              *(undefined4 *)(puVar17 + -0x18) = 0xd28d2;\n              FUN_00072b90();\n              *(undefined ****)(puVar17 + -0xc) = pppuVar5;\n              *(int *)(puVar17 + -0x10) = iVar19 + 0x44;\n              *(int **)(puVar17 + -0x14) = &local_ac;\n              *(undefined4 *)(puVar17 + -0x18) = 0xd28e6;\n              FUN_00094bd0();\n              iVar19 = local_ac;\n              if (local_34 != local_b4) {\n                *(undefined ***)(puVar17 + -0x18) = local_34;\n                *(undefined4 *)(puVar17 + -0x1c) = 0xd2909;\n                FUN_003ae080();\n              }\n              piVar18 = (int *)(puVar17 + -8);\n              iVar3 = *(int *)(param_2 + 0x158);\n              if (iVar19 != iVar3 + 0x48) {\n                local_34 = param_4;\n                local_30 = param_5;\n                iVar10 = *(int *)(iVar3 + 0x18);\n                iVar11 = iVar3 + 0x14;\n                if (*(int *)(iVar3 + 0x18) == 0) {\nLAB_000d2bd8:\n                  *(undefined *****)(puVar17 + -0x18) = &local_84;\n                  local_84 = local_b0;\n                  *(undefined4 *)(puVar17 + -0x1c) = 0xd2bf6;\n                  FUN_000c5e40();\n                  iVar12 = local_a8;\n                }\n                else {\n                  do {\n                    while ((iVar12 = iVar10, *(undefined ***)(iVar12 + 0x10) < param_4 ||\n                           ((param_4 == *(undefined ***)(iVar12 + 0x10) &&\n                            (*(undefined ***)(iVar12 + 0x14) < param_5))))) {\n                      piVar18 = (int *)(iVar12 + 0xc);\n                      iVar10 = *piVar18;\n                      iVar12 = iVar11;\n                      if (*piVar18 == 0) goto LAB_000d2962;\n                    }\n                    iVar10 = *(int *)(iVar12 + 8);\n                    iVar11 = iVar12;\n                  } while (*(int *)(iVar12 + 8) != 0);\nLAB_000d2962:\n                  if (((iVar12 == iVar3 + 0x14) || (param_4 < *(undefined ***)(iVar12 + 0x10))) ||\n                     ((param_4 == *(undefined ***)(iVar12 + 0x10) &&\n                      (param_5 < *(undefined ***)(iVar12 + 0x14))))) goto LAB_000d2bd8;\n                }\n                piVar18 = (int *)(puVar17 + -8);\n                puVar17 = puVar17 + -8;\n                for (puVar1 = *(undefined4 **)(iVar19 + 0x30); puVar1 != (undefined4 *)0x0;\n                    puVar1 = (undefined4 *)*puVar1) {\n                  *(undefined4 *)(puVar17 + -0xc) = 1;\n                  *(undefined4 *)(puVar17 + -0x10) = 0;\n                  *(int **)(puVar17 + -0x14) = &local_90;\n                  *(undefined4 **)(puVar17 + -0x18) = puVar1 + 1;\n                  *(int *)(puVar17 + -0x1c) = iVar12 + 0x18;\n                  *(undefined1 **)(puVar17 + -0x20) = local_e0;\n                  *(undefined4 *)(puVar17 + -0x24) = 0xd29ae;\n                  local_90 = iVar12 + 0x18;\n                  FUN_00074340();\n                  piVar18 = (int *)(puVar17 + -4);\n                  puVar17 = puVar17 + -4;\n                }\n              }\n            }\n          }\n        }\n      }\n      else {\n        if (puVar15 < param_4[0x2c]) {\n          local_70 = (undefined **)0x0;\nLAB_000d2a1f:\n          *(undefined ***)((int)piVar18 + -8) = local_b8 + -0x615ed;\n          *(undefined4 *)((int)piVar18 + -0xc) = 0x11c;\n          *(int *)((int)piVar18 + -0x10) = (int)local_b8 + -0x19ca36;\n                    /* WARNING: Subroutine does not return */\n          *(undefined4 *)((int)piVar18 + -0x14) = 0xd2a40;\n          FUN_002446e0();\n        }\n        uVar16 = (int)puVar15 - (int)param_4[0x2c];\n        local_b0 = (undefined ***)param_4[0x30];\n        if ((uint)((int)local_b0 - (int)param_4[0x2f] >> 2) <= uVar16) {\n          *(undefined ***)((int)piVar18 + -8) = local_b8 + -0x6156c;\n          *(undefined4 *)((int)piVar18 + -0xc) = 0x8ad;\n          *(int *)((int)piVar18 + -0x10) = (int)local_b8 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n          *(undefined4 *)((int)piVar18 + -0x14) = 0xd2f8f;\n          FUN_002446e0();\n        }\n        local_70 = *(undefined ***)(param_4[0x2f] + uVar16 * 4);\n        if (local_70 == (undefined **)0x0) goto LAB_000d2a1f;\n        if ((*(byte *)((int)local_70 + 0x2a) & 0x10) == 0) {\n          if ((*(byte *)((int)local_70 + 0x2a) & 7) == 0) goto LAB_000d25f7;\nLAB_000d29e2:\n          local_f0 = (undefined **)local_70[0xc];\n          bVar13 = 0;\n          local_b4 = (undefined **)0x0;\n          local_c0 = (undefined **)0x0;\n          bVar24 = CARRY4((uint)local_bc,(uint)local_f0);\n          local_c4 = local_bc + (int)local_f0;\n          bVar26 = local_c4 == (undefined *)0x0;\n        }\n        else {\n          *(undefined ***)((int)piVar18 + -0xc) = local_70;\n          *(int *)((int)piVar18 + -0x10) = param_2;\n          *(undefined4 *)((int)piVar18 + -0x14) = 0xd29d2;\n          local_70 = (undefined **)FUN_0034cd90();\n          if ((*(byte *)((int)local_70 + 0x2a) & 7) != 0) goto LAB_000d29e2;\nLAB_000d25f7:\n          local_f0 = (undefined **)local_70[0xc];\n          local_c0 = (undefined **)local_70[2];\n          local_c4 = local_bc + (int)local_f0;\n          if (((uint)local_c0[0xb] & 1) == 0) {\n            local_b4 = (undefined **)local_70[3];\n            bVar13 = *(byte *)((int)local_70 + 0x2b) >> 5 & 1;\n            bVar24 = (*(byte *)(local_70 + 10) & 0xf) < 2;\n            bVar26 = (*(byte *)(local_70 + 10) & 0xf) == 2;\n            if (bVar26) {\n              bVar24 = false;\n              bVar26 = local_d2 == '\0';\n              if ((!bVar26) &&\n                 (((bVar13 == 0 || (bVar26 = uVar21 == 0x17, 0x17 < uVar21)) ||\n                  (bVar24 = (0x843f84U >> (uVar2 & 0x1f) & 1) != 0, !bVar24)))) {\n                local_b0 = *(undefined ****)(param_2 + 0x15c);\n                *(undefined4 *)((int)piVar18 + -0xc) = 1;\n                *(undefined4 *)((int)piVar18 + -0x10) = 0;\n                *(undefined *****)((int)piVar18 + -0x14) = &local_94;\n                *(undefined ****)((int)piVar18 + -0x18) = &local_78;\n                local_94 = local_b0 + 0xd;\n                *(undefined ****)((int)piVar18 + -0x1c) = local_94;\n                *(undefined1 **)((int)piVar18 + -0x20) = local_e0;\n                    /* try { // try from 000d2cc6 to 000d2cca has its CatchHandler @ 000d302c */\n                *(undefined4 *)((int)piVar18 + -0x24) = 0xd2ccb;\n                local_78 = local_c0;\n                local_74 = local_b4;\n                FUN_00074280();\n                bVar24 = (undefined1 *)0xffffffe3 < (undefined1 *)((int)piVar18 + -0x20);\n                bVar26 = piVar18 == (int *)0x4;\n                piVar18 = (int *)((int)piVar18 + -4);\n              }\n            }\n          }\n          else {\n            local_b4 = (undefined **)0x0;\n            bVar24 = false;\n            bVar13 = 0;\n            bVar26 = true;\n            local_c0 = (undefined **)0x0;\n          }\n        }\n        pbVar20 = *local_70;\n        iVar19 = 8;\n        pbVar9 = (byte *)((int)local_b8 + -0x19ca26);\n        pbVar22 = pbVar20;\n        do {\n          if (iVar19 == 0) break;\n          iVar19 = iVar19 + -1;\n          bVar24 = *pbVar9 < *pbVar22;\n          bVar26 = *pbVar9 == *pbVar22;\n          pbVar9 = pbVar9 + (uint)bVar27 * -2 + 1;\n          pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n        } while (bVar26);\n        bVar25 = false;\n        bVar24 = (!bVar24 && !bVar26) == bVar24;\n        if (bVar24) {\n          pbVar20 = pbVar20 + 8;\n        }\n        else {\n          iVar19 = 7;\n          pbVar9 = (byte *)((int)local_b8 + -0x19ca1d);\n          pbVar22 = pbVar20;\n          do {\n            if (iVar19 == 0) break;\n            iVar19 = iVar19 + -1;\n            bVar25 = *pbVar9 < *pbVar22;\n            bVar24 = *pbVar9 == *pbVar22;\n            pbVar9 = pbVar9 + (uint)bVar27 * -2 + 1;\n            pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n          } while (bVar24);\n          pbVar20 = pbVar20 + 7;\n          if ((!bVar25 && !bVar24) != bVar25) {\n            pbVar20 = local_d8;\n          }\n        }\n        local_d8 = pbVar20;\n        if (local_d1 != '\0') {\n          if (bVar13 == 0) {\n            local_34 = (undefined **)0x0;\n            local_30 = (undefined **)0x0;\n          }\n          else {\n            local_34 = local_c0;\n            local_30 = local_b4;\n          }\n          local_b0 = &local_34;\n          *(undefined ****)((int)piVar18 + -0xc) = local_b0;\n          *(int *)((int)piVar18 + -0x10) = local_c8;\n          *(undefined4 *)((int)piVar18 + -0x14) = 0xd26b9;\n          FUN_00073b00();\n          puVar1 = *(undefined4 **)(local_cc + 4);\n          if (puVar1 == *(undefined4 **)(local_cc + 8)) {\n            *(undefined ****)((int)piVar18 + -8) = &local_70;\n            *(undefined4 **)((int)piVar18 + -0xc) = puVar1;\n            *(int *)((int)piVar18 + -0x10) = local_cc;\n            *(undefined4 *)((int)piVar18 + -0x14) = 0xd2b4b;\n            FUN_000726c0();\n          }\n          else {\n            *puVar1 = local_70;\n            *(undefined4 **)(local_cc + 4) = puVar1 + 1;\n          }\n          *(undefined ****)((int)piVar18 + -0xc) = local_b0;\n          *(undefined ***)((int)piVar18 + -0x10) = local_e8;\n          local_34 = local_f0;\n          local_30 = (undefined **)0x0;\n          local_2c = local_bc;\n          local_28 = (int)local_bc >> 0x1f;\n          *(undefined4 *)((int)piVar18 + -0x14) = 0xd270d;\n          FUN_00073e70();\n          local_30 = (undefined **)0x0;\n          local_34 = (undefined **)*param_7;\n          puVar1 = *(undefined4 **)(local_d0 + 4);\n          if (puVar1 == *(undefined4 **)(local_d0 + 8)) {\n            *(undefined ****)((int)piVar18 + -8) = local_b0;\n            *(undefined4 **)((int)piVar18 + -0xc) = puVar1;\n            *(int *)((int)piVar18 + -0x10) = local_d0;\n            *(undefined4 *)((int)piVar18 + -0x14) = 0xd2bbd;\n            FUN_00072a40();\n          }\n          else {\n            *puVar1 = local_34;\n            puVar1[1] = 0;\n            *(undefined4 **)(local_d0 + 4) = puVar1 + 2;\n          }\n          local_68 = (undefined **)0x0;\n          *(undefined ****)((int)piVar18 + -0xc) = &local_68;\n          *(int *)((int)piVar18 + -0x10) = local_ec;\n          *(undefined4 *)((int)piVar18 + -0x14) = 0xd2753;\n          FUN_00074020();\n        }\n        puVar17 = (undefined1 *)piVar18;\n        if (bVar13 != 0) goto LAB_000d275e;\n      }\nLAB_000d2489:\n      local_e4 = local_e4 + 1;\n      param_7 = param_7 + 3;\n    } while (param_8 != local_e4);\n  }" { (expression_statement "local_d8 = (byte *)0x0;" (assignment_expression "local_d8 = (byte *)0x0" identifier = (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_e0 = local_a4;" (assignment_expression "local_e0 = local_a4" identifier = identifier) ;) (expression_statement "local_f4 = &local_8c;" (assignment_expression "local_f4 = &local_8c" identifier = (pointer_expression "&local_8c" & identifier)) ;) (expression_statement "local_e4 = 0;" (assignment_expression "local_e4 = 0" identifier = number_literal) ;) (do_statement "do {\n      uVar2 = param_7[1];\n      uVar21 = uVar2 & 0xff;\n      puVar15 = (undefined *)(uVar2 >> 8);\n      local_bc = (undefined *)param_7[2];\n      if (puVar15 < param_11) {\n        if (param_12 == 0) {\n          *(undefined ***)((int)piVar18 + -8) = local_b8 + -0x615ed;\n          *(undefined4 *)((int)piVar18 + -0xc) = 0xea;\n          *(int *)((int)piVar18 + -0x10) = (int)local_b8 + -0x19ca36;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 000d2f44 to 000d2fac has its CatchHandler @ 000d302c */\n          *(undefined **)((int)piVar18 + -0x14) = &UNK_000d2f49;\n          FUN_002446e0();\n        }\n        iVar19 = (int)puVar15 * 0x10 + param_12;\n        local_b4 = (undefined **)(uint)*(ushort *)(iVar19 + 0xe);\n        if (local_b4 < (undefined **)0xff00) {\nLAB_000d24ee:\n          ppuVar14 = *(undefined ***)(iVar19 + 4);\n          local_c4 = local_bc + (int)ppuVar14;\n          if (local_d1 != '\0') {\n            local_34 = param_4;\n            local_30 = local_b4;\n            local_b0 = &local_34;\n            *(undefined ****)((int)piVar18 + -0xc) = local_b0;\n            *(int *)((int)piVar18 + -0x10) = local_c8;\n            *(undefined4 *)((int)piVar18 + -0x14) = 0xd2533;\n            FUN_00073b00();\n            local_c0 = (undefined **)CONCAT31(local_c0._1_3_,1);\n            if ((*(byte *)(iVar19 + 0xc) & 0xf) == 3) goto LAB_000d254c;\nLAB_000d23e8:\n            *(undefined ****)((int)piVar18 + -0xc) = local_b0;\n            *(int *)((int)piVar18 + -0x10) = local_cc;\n            local_34 = (undefined **)0x0;\n            *(undefined4 *)((int)piVar18 + -0x14) = 0xd2403;\n            FUN_00073ca0();\n            goto LAB_000d2403;\n          }\n        }\n        else {\n          if (local_b4 == (undefined **)0xffff) {\n            puVar7 = param_4[0xc];\n            if (puVar7 == (undefined *)0x0) {\n              puVar7 = *param_4;\n              *(undefined ***)((int)piVar18 + -0x10) = param_4;\n              pcVar4 = *(code **)(puVar7 + 0x6c);\n              *(undefined4 *)((int)piVar18 + -0x14) = 0xd2a4e;\n              puVar7 = (undefined *)(*pcVar4)();\n              param_4[0xc] = puVar7;\n            }\n            *(undefined **)((int)piVar18 + -8) = puVar15;\n            *(undefined ***)((int)piVar18 + -0xc) = param_4;\n            *(undefined **)((int)piVar18 + -0x10) = puVar7;\n            *(undefined4 *)((int)piVar18 + -0x14) = 0xd2591;\n            local_b4 = (undefined **)FUN_0028b7d0();\n            goto LAB_000d24ee;\n          }\n          ppuVar14 = *(undefined ***)(iVar19 + 4);\n          local_c4 = local_bc + (int)ppuVar14;\n          if (local_d1 == '\0') goto LAB_000d2489;\n          local_b0 = &local_34;\n          local_34 = (undefined **)0x0;\n          *(undefined ****)((int)piVar18 + -0xc) = local_b0;\n          *(int *)((int)piVar18 + -0x10) = local_c8;\n          local_30 = (undefined **)0x0;\n                    /* try { // try from 000d23ca to 000d2bf5 has its CatchHandler @ 000d302c */\n          *(undefined4 *)((int)piVar18 + -0x14) = 0xd23cf;\n          FUN_00073b00();\n          local_c0 = (undefined **)((uint)local_c0 & 0xffffff00);\n          if ((*(byte *)(iVar19 + 0xc) & 0xf) != 3) goto LAB_000d23e8;\nLAB_000d254c:\n          *(undefined ****)((int)piVar18 + -0xc) = local_b0;\n          *(int *)((int)piVar18 + -0x10) = local_cc;\n          local_34 = (undefined **)0xffffffff;\n          *(undefined4 *)((int)piVar18 + -0x14) = 0xd2567;\n          FUN_00073ca0();\nLAB_000d2403:\n          *(undefined ****)((int)piVar18 + -0xc) = local_b0;\n          *(undefined ***)((int)piVar18 + -0x10) = local_e8;\n          local_2c = local_bc;\n          local_28 = (int)local_bc >> 0x1f;\n          local_30 = (undefined **)0x0;\n          *(undefined4 *)((int)piVar18 + -0x14) = 0xd2433;\n          local_34 = ppuVar14;\n          FUN_00073e70();\n          local_30 = (undefined **)0x0;\n          local_34 = (undefined **)*param_7;\n          puVar1 = *(undefined4 **)(local_d0 + 4);\n          if (puVar1 == *(undefined4 **)(local_d0 + 8)) {\n            *(undefined ****)((int)piVar18 + -8) = local_b0;\n            *(undefined4 **)((int)piVar18 + -0xc) = puVar1;\n            *(int *)((int)piVar18 + -0x10) = local_d0;\n            *(undefined4 *)((int)piVar18 + -0x14) = 0xd2b0d;\n            FUN_00072a40();\n          }\n          else {\n            *puVar1 = local_34;\n            puVar1[1] = 0;\n            *(undefined4 **)(local_d0 + 4) = puVar1 + 2;\n          }\n          local_68 = (undefined **)0x0;\n          *(undefined ****)((int)piVar18 + -0xc) = &local_68;\n          *(int *)((int)piVar18 + -0x10) = local_ec;\n          *(undefined4 *)((int)piVar18 + -0x14) = 0xd2479;\n          FUN_00074020();\n          if ((char)local_c0 == '\0') goto LAB_000d2489;\n        }\n        if (((local_d2 != '\0') && ((*(byte *)(iVar19 + 0xc) & 0xf) != 1)) &&\n           ((0x17 < uVar21 || ((0x843f84U >> (uVar2 & 0x1f) & 1) == 0)))) {\n          local_b0 = *(undefined ****)(param_2 + 0x15c);\n          local_80 = param_4;\n          local_7c = (uint)*(ushort *)(iVar19 + 0xe);\n          *(undefined4 *)((int)piVar18 + -0xc) = 1;\n          *(undefined4 *)((int)piVar18 + -0x10) = 0;\n          local_98 = local_b0 + 0xd;\n          *(undefined *****)((int)piVar18 + -0x14) = &local_98;\n          *(undefined ****)((int)piVar18 + -0x18) = &local_80;\n          *(undefined ****)((int)piVar18 + -0x1c) = local_98;\n          *(undefined1 **)((int)piVar18 + -0x20) = local_e0;\n          *(undefined4 *)((int)piVar18 + -0x24) = 0xd2ad1;\n          FUN_00074280();\n          piVar18 = (int *)((int)piVar18 + -4);\n        }\n        if (param_5 != local_b4) {\n          local_c0 = param_4;\n          puVar17 = (undefined1 *)piVar18;\nLAB_000d275e:\n          if (*(int *)(*local_dc + 8) == 0) {\n            *(undefined ***)(puVar17 + -8) = local_b8 + -0x61176;\n            *(undefined4 *)(puVar17 + -0xc) = 0x5c;\n            *(int *)(puVar17 + -0x10) = (int)local_b8 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)(puVar17 + -0x14) = 0xd2f6e;\n            FUN_002446e0();\n          }\n          piVar18 = (int *)puVar17;\n          if (*(char *)(*(int *)(*local_dc + 8) + 0x18b1) != '\0') {\n            local_70 = param_4;\n            iVar19 = *(int *)(param_2 + 0x158) + 0x14;\n            local_6c = param_5;\n            local_68 = local_c0;\n            local_64 = local_b4;\n            iVar3 = *(int *)(*(int *)(param_2 + 0x158) + 0x18);\n            iVar10 = iVar19;\n            if (iVar3 == 0) {\nLAB_000d27f0:\n              local_88 = &local_70;\n              *(undefined *****)(puVar17 + -0x10) = &local_88;\n              *(undefined4 *)(puVar17 + -0x14) = 0xd2811;\n              FUN_000c5e40();\n              iVar11 = local_a8;\n            }\n            else {\n              do {\n                while ((iVar11 = iVar3, *(undefined ***)(iVar11 + 0x10) < param_4 ||\n                       ((param_4 == *(undefined ***)(iVar11 + 0x10) &&\n                        (*(undefined ***)(iVar11 + 0x14) < param_5))))) {\n                  piVar18 = (int *)(iVar11 + 0xc);\n                  iVar3 = *piVar18;\n                  iVar11 = iVar10;\n                  if (*piVar18 == 0) goto LAB_000d27da;\n                }\n                iVar3 = *(int *)(iVar11 + 8);\n                iVar10 = iVar11;\n              } while (*(int *)(iVar11 + 8) != 0);\nLAB_000d27da:\n              if (((iVar19 == iVar11) || (param_4 < *(undefined ***)(iVar11 + 0x10))) ||\n                 ((param_4 == *(undefined ***)(iVar11 + 0x10) &&\n                  (param_5 < *(undefined ***)(iVar11 + 0x14))))) goto LAB_000d27f0;\n            }\n            local_8c = iVar11 + 0x18;\n            *(undefined4 *)(puVar17 + -0xc) = 1;\n            *(undefined4 *)(puVar17 + -0x10) = 0;\n            *(int **)(puVar17 + -0x14) = local_f4;\n            *(undefined ****)(puVar17 + -0x18) = &local_68;\n            *(int *)(puVar17 + -0x1c) = local_8c;\n            *(undefined1 **)(puVar17 + -0x20) = local_e0;\n            *(undefined4 *)(puVar17 + -0x24) = 0xd2840;\n            FUN_00074340();\n            piVar18 = *(int **)(*local_dc + 0xc);\n            if (piVar18 == (int *)0x0) {\n              *(undefined ***)(puVar17 + -0xc) = local_b8 + -0x615c4;\n              *(undefined4 *)(puVar17 + -0x10) = 0x73;\n              *(int *)(puVar17 + -0x14) = (int)local_b8 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n              *(undefined4 *)(puVar17 + -0x18) = 0xd2fad;\n              FUN_002446e0();\n            }\n            iVar19 = *piVar18;\n            *(undefined **)(puVar17 + -0xc) = local_c4;\n            *(undefined ***)(puVar17 + -0x10) = local_b4;\n            *(undefined ***)(puVar17 + -0x14) = local_c0;\n            *(undefined ***)(puVar17 + -0x18) = param_5;\n            *(undefined ***)(puVar17 + -0x1c) = param_4;\n            *(int *)(puVar17 + -0x20) = param_2;\n            *(int **)(puVar17 + -0x24) = piVar18;\n            pcVar4 = *(code **)(iVar19 + 0x104);\n            *(undefined4 *)(puVar17 + -0x28) = 0xd287d;\n            (*pcVar4)();\n            pbVar20 = local_d8;\n            piVar18 = (int *)(puVar17 + -4);\n            if (local_d8 != (byte *)0x0) {\n              local_b4 = &local_2c;\n              local_b0 = &local_34;\n              iVar19 = *(int *)(param_2 + 0x158);\n              *(byte **)(puVar17 + -0x14) = local_d8;\n              local_34 = local_b4;\n              *(undefined4 *)(puVar17 + -0x18) = 0xd28bd;\n              sVar6 = strlen(*(char **)(puVar17 + -0x14));\n              pppuVar5 = local_b0;\n              *(undefined4 *)(puVar17 + -8) = 0;\n              *(byte **)(puVar17 + -0xc) = pbVar20 + sVar6;\n              *(byte **)(puVar17 + -0x10) = pbVar20;\n              *(undefined ****)(puVar17 + -0x14) = local_b0;\n              *(undefined4 *)(puVar17 + -0x18) = 0xd28d2;\n              FUN_00072b90();\n              *(undefined ****)(puVar17 + -0xc) = pppuVar5;\n              *(int *)(puVar17 + -0x10) = iVar19 + 0x44;\n              *(int **)(puVar17 + -0x14) = &local_ac;\n              *(undefined4 *)(puVar17 + -0x18) = 0xd28e6;\n              FUN_00094bd0();\n              iVar19 = local_ac;\n              if (local_34 != local_b4) {\n                *(undefined ***)(puVar17 + -0x18) = local_34;\n                *(undefined4 *)(puVar17 + -0x1c) = 0xd2909;\n                FUN_003ae080();\n              }\n              piVar18 = (int *)(puVar17 + -8);\n              iVar3 = *(int *)(param_2 + 0x158);\n              if (iVar19 != iVar3 + 0x48) {\n                local_34 = param_4;\n                local_30 = param_5;\n                iVar10 = *(int *)(iVar3 + 0x18);\n                iVar11 = iVar3 + 0x14;\n                if (*(int *)(iVar3 + 0x18) == 0) {\nLAB_000d2bd8:\n                  *(undefined *****)(puVar17 + -0x18) = &local_84;\n                  local_84 = local_b0;\n                  *(undefined4 *)(puVar17 + -0x1c) = 0xd2bf6;\n                  FUN_000c5e40();\n                  iVar12 = local_a8;\n                }\n                else {\n                  do {\n                    while ((iVar12 = iVar10, *(undefined ***)(iVar12 + 0x10) < param_4 ||\n                           ((param_4 == *(undefined ***)(iVar12 + 0x10) &&\n                            (*(undefined ***)(iVar12 + 0x14) < param_5))))) {\n                      piVar18 = (int *)(iVar12 + 0xc);\n                      iVar10 = *piVar18;\n                      iVar12 = iVar11;\n                      if (*piVar18 == 0) goto LAB_000d2962;\n                    }\n                    iVar10 = *(int *)(iVar12 + 8);\n                    iVar11 = iVar12;\n                  } while (*(int *)(iVar12 + 8) != 0);\nLAB_000d2962:\n                  if (((iVar12 == iVar3 + 0x14) || (param_4 < *(undefined ***)(iVar12 + 0x10))) ||\n                     ((param_4 == *(undefined ***)(iVar12 + 0x10) &&\n                      (param_5 < *(undefined ***)(iVar12 + 0x14))))) goto LAB_000d2bd8;\n                }\n                piVar18 = (int *)(puVar17 + -8);\n                puVar17 = puVar17 + -8;\n                for (puVar1 = *(undefined4 **)(iVar19 + 0x30); puVar1 != (undefined4 *)0x0;\n                    puVar1 = (undefined4 *)*puVar1) {\n                  *(undefined4 *)(puVar17 + -0xc) = 1;\n                  *(undefined4 *)(puVar17 + -0x10) = 0;\n                  *(int **)(puVar17 + -0x14) = &local_90;\n                  *(undefined4 **)(puVar17 + -0x18) = puVar1 + 1;\n                  *(int *)(puVar17 + -0x1c) = iVar12 + 0x18;\n                  *(undefined1 **)(puVar17 + -0x20) = local_e0;\n                  *(undefined4 *)(puVar17 + -0x24) = 0xd29ae;\n                  local_90 = iVar12 + 0x18;\n                  FUN_00074340();\n                  piVar18 = (int *)(puVar17 + -4);\n                  puVar17 = puVar17 + -4;\n                }\n              }\n            }\n          }\n        }\n      }\n      else {\n        if (puVar15 < param_4[0x2c]) {\n          local_70 = (undefined **)0x0;\nLAB_000d2a1f:\n          *(undefined ***)((int)piVar18 + -8) = local_b8 + -0x615ed;\n          *(undefined4 *)((int)piVar18 + -0xc) = 0x11c;\n          *(int *)((int)piVar18 + -0x10) = (int)local_b8 + -0x19ca36;\n                    /* WARNING: Subroutine does not return */\n          *(undefined4 *)((int)piVar18 + -0x14) = 0xd2a40;\n          FUN_002446e0();\n        }\n        uVar16 = (int)puVar15 - (int)param_4[0x2c];\n        local_b0 = (undefined ***)param_4[0x30];\n        if ((uint)((int)local_b0 - (int)param_4[0x2f] >> 2) <= uVar16) {\n          *(undefined ***)((int)piVar18 + -8) = local_b8 + -0x6156c;\n          *(undefined4 *)((int)piVar18 + -0xc) = 0x8ad;\n          *(int *)((int)piVar18 + -0x10) = (int)local_b8 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n          *(undefined4 *)((int)piVar18 + -0x14) = 0xd2f8f;\n          FUN_002446e0();\n        }\n        local_70 = *(undefined ***)(param_4[0x2f] + uVar16 * 4);\n        if (local_70 == (undefined **)0x0) goto LAB_000d2a1f;\n        if ((*(byte *)((int)local_70 + 0x2a) & 0x10) == 0) {\n          if ((*(byte *)((int)local_70 + 0x2a) & 7) == 0) goto LAB_000d25f7;\nLAB_000d29e2:\n          local_f0 = (undefined **)local_70[0xc];\n          bVar13 = 0;\n          local_b4 = (undefined **)0x0;\n          local_c0 = (undefined **)0x0;\n          bVar24 = CARRY4((uint)local_bc,(uint)local_f0);\n          local_c4 = local_bc + (int)local_f0;\n          bVar26 = local_c4 == (undefined *)0x0;\n        }\n        else {\n          *(undefined ***)((int)piVar18 + -0xc) = local_70;\n          *(int *)((int)piVar18 + -0x10) = param_2;\n          *(undefined4 *)((int)piVar18 + -0x14) = 0xd29d2;\n          local_70 = (undefined **)FUN_0034cd90();\n          if ((*(byte *)((int)local_70 + 0x2a) & 7) != 0) goto LAB_000d29e2;\nLAB_000d25f7:\n          local_f0 = (undefined **)local_70[0xc];\n          local_c0 = (undefined **)local_70[2];\n          local_c4 = local_bc + (int)local_f0;\n          if (((uint)local_c0[0xb] & 1) == 0) {\n            local_b4 = (undefined **)local_70[3];\n            bVar13 = *(byte *)((int)local_70 + 0x2b) >> 5 & 1;\n            bVar24 = (*(byte *)(local_70 + 10) & 0xf) < 2;\n            bVar26 = (*(byte *)(local_70 + 10) & 0xf) == 2;\n            if (bVar26) {\n              bVar24 = false;\n              bVar26 = local_d2 == '\0';\n              if ((!bVar26) &&\n                 (((bVar13 == 0 || (bVar26 = uVar21 == 0x17, 0x17 < uVar21)) ||\n                  (bVar24 = (0x843f84U >> (uVar2 & 0x1f) & 1) != 0, !bVar24)))) {\n                local_b0 = *(undefined ****)(param_2 + 0x15c);\n                *(undefined4 *)((int)piVar18 + -0xc) = 1;\n                *(undefined4 *)((int)piVar18 + -0x10) = 0;\n                *(undefined *****)((int)piVar18 + -0x14) = &local_94;\n                *(undefined ****)((int)piVar18 + -0x18) = &local_78;\n                local_94 = local_b0 + 0xd;\n                *(undefined ****)((int)piVar18 + -0x1c) = local_94;\n                *(undefined1 **)((int)piVar18 + -0x20) = local_e0;\n                    /* try { // try from 000d2cc6 to 000d2cca has its CatchHandler @ 000d302c */\n                *(undefined4 *)((int)piVar18 + -0x24) = 0xd2ccb;\n                local_78 = local_c0;\n                local_74 = local_b4;\n                FUN_00074280();\n                bVar24 = (undefined1 *)0xffffffe3 < (undefined1 *)((int)piVar18 + -0x20);\n                bVar26 = piVar18 == (int *)0x4;\n                piVar18 = (int *)((int)piVar18 + -4);\n              }\n            }\n          }\n          else {\n            local_b4 = (undefined **)0x0;\n            bVar24 = false;\n            bVar13 = 0;\n            bVar26 = true;\n            local_c0 = (undefined **)0x0;\n          }\n        }\n        pbVar20 = *local_70;\n        iVar19 = 8;\n        pbVar9 = (byte *)((int)local_b8 + -0x19ca26);\n        pbVar22 = pbVar20;\n        do {\n          if (iVar19 == 0) break;\n          iVar19 = iVar19 + -1;\n          bVar24 = *pbVar9 < *pbVar22;\n          bVar26 = *pbVar9 == *pbVar22;\n          pbVar9 = pbVar9 + (uint)bVar27 * -2 + 1;\n          pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n        } while (bVar26);\n        bVar25 = false;\n        bVar24 = (!bVar24 && !bVar26) == bVar24;\n        if (bVar24) {\n          pbVar20 = pbVar20 + 8;\n        }\n        else {\n          iVar19 = 7;\n          pbVar9 = (byte *)((int)local_b8 + -0x19ca1d);\n          pbVar22 = pbVar20;\n          do {\n            if (iVar19 == 0) break;\n            iVar19 = iVar19 + -1;\n            bVar25 = *pbVar9 < *pbVar22;\n            bVar24 = *pbVar9 == *pbVar22;\n            pbVar9 = pbVar9 + (uint)bVar27 * -2 + 1;\n            pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n          } while (bVar24);\n          pbVar20 = pbVar20 + 7;\n          if ((!bVar25 && !bVar24) != bVar25) {\n            pbVar20 = local_d8;\n          }\n        }\n        local_d8 = pbVar20;\n        if (local_d1 != '\0') {\n          if (bVar13 == 0) {\n            local_34 = (undefined **)0x0;\n            local_30 = (undefined **)0x0;\n          }\n          else {\n            local_34 = local_c0;\n            local_30 = local_b4;\n          }\n          local_b0 = &local_34;\n          *(undefined ****)((int)piVar18 + -0xc) = local_b0;\n          *(int *)((int)piVar18 + -0x10) = local_c8;\n          *(undefined4 *)((int)piVar18 + -0x14) = 0xd26b9;\n          FUN_00073b00();\n          puVar1 = *(undefined4 **)(local_cc + 4);\n          if (puVar1 == *(undefined4 **)(local_cc + 8)) {\n            *(undefined ****)((int)piVar18 + -8) = &local_70;\n            *(undefined4 **)((int)piVar18 + -0xc) = puVar1;\n            *(int *)((int)piVar18 + -0x10) = local_cc;\n            *(undefined4 *)((int)piVar18 + -0x14) = 0xd2b4b;\n            FUN_000726c0();\n          }\n          else {\n            *puVar1 = local_70;\n            *(undefined4 **)(local_cc + 4) = puVar1 + 1;\n          }\n          *(undefined ****)((int)piVar18 + -0xc) = local_b0;\n          *(undefined ***)((int)piVar18 + -0x10) = local_e8;\n          local_34 = local_f0;\n          local_30 = (undefined **)0x0;\n          local_2c = local_bc;\n          local_28 = (int)local_bc >> 0x1f;\n          *(undefined4 *)((int)piVar18 + -0x14) = 0xd270d;\n          FUN_00073e70();\n          local_30 = (undefined **)0x0;\n          local_34 = (undefined **)*param_7;\n          puVar1 = *(undefined4 **)(local_d0 + 4);\n          if (puVar1 == *(undefined4 **)(local_d0 + 8)) {\n            *(undefined ****)((int)piVar18 + -8) = local_b0;\n            *(undefined4 **)((int)piVar18 + -0xc) = puVar1;\n            *(int *)((int)piVar18 + -0x10) = local_d0;\n            *(undefined4 *)((int)piVar18 + -0x14) = 0xd2bbd;\n            FUN_00072a40();\n          }\n          else {\n            *puVar1 = local_34;\n            puVar1[1] = 0;\n            *(undefined4 **)(local_d0 + 4) = puVar1 + 2;\n          }\n          local_68 = (undefined **)0x0;\n          *(undefined ****)((int)piVar18 + -0xc) = &local_68;\n          *(int *)((int)piVar18 + -0x10) = local_ec;\n          *(undefined4 *)((int)piVar18 + -0x14) = 0xd2753;\n          FUN_00074020();\n        }\n        puVar17 = (undefined1 *)piVar18;\n        if (bVar13 != 0) goto LAB_000d275e;\n      }\nLAB_000d2489:\n      local_e4 = local_e4 + 1;\n      param_7 = param_7 + 3;\n    } while (param_8 != local_e4);" do (compound_statement "{\n      uVar2 = param_7[1];\n      uVar21 = uVar2 & 0xff;\n      puVar15 = (undefined *)(uVar2 >> 8);\n      local_bc = (undefined *)param_7[2];\n      if (puVar15 < param_11) {\n        if (param_12 == 0) {\n          *(undefined ***)((int)piVar18 + -8) = local_b8 + -0x615ed;\n          *(undefined4 *)((int)piVar18 + -0xc) = 0xea;\n          *(int *)((int)piVar18 + -0x10) = (int)local_b8 + -0x19ca36;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 000d2f44 to 000d2fac has its CatchHandler @ 000d302c */\n          *(undefined **)((int)piVar18 + -0x14) = &UNK_000d2f49;\n          FUN_002446e0();\n        }\n        iVar19 = (int)puVar15 * 0x10 + param_12;\n        local_b4 = (undefined **)(uint)*(ushort *)(iVar19 + 0xe);\n        if (local_b4 < (undefined **)0xff00) {\nLAB_000d24ee:\n          ppuVar14 = *(undefined ***)(iVar19 + 4);\n          local_c4 = local_bc + (int)ppuVar14;\n          if (local_d1 != '\0') {\n            local_34 = param_4;\n            local_30 = local_b4;\n            local_b0 = &local_34;\n            *(undefined ****)((int)piVar18 + -0xc) = local_b0;\n            *(int *)((int)piVar18 + -0x10) = local_c8;\n            *(undefined4 *)((int)piVar18 + -0x14) = 0xd2533;\n            FUN_00073b00();\n            local_c0 = (undefined **)CONCAT31(local_c0._1_3_,1);\n            if ((*(byte *)(iVar19 + 0xc) & 0xf) == 3) goto LAB_000d254c;\nLAB_000d23e8:\n            *(undefined ****)((int)piVar18 + -0xc) = local_b0;\n            *(int *)((int)piVar18 + -0x10) = local_cc;\n            local_34 = (undefined **)0x0;\n            *(undefined4 *)((int)piVar18 + -0x14) = 0xd2403;\n            FUN_00073ca0();\n            goto LAB_000d2403;\n          }\n        }\n        else {\n          if (local_b4 == (undefined **)0xffff) {\n            puVar7 = param_4[0xc];\n            if (puVar7 == (undefined *)0x0) {\n              puVar7 = *param_4;\n              *(undefined ***)((int)piVar18 + -0x10) = param_4;\n              pcVar4 = *(code **)(puVar7 + 0x6c);\n              *(undefined4 *)((int)piVar18 + -0x14) = 0xd2a4e;\n              puVar7 = (undefined *)(*pcVar4)();\n              param_4[0xc] = puVar7;\n            }\n            *(undefined **)((int)piVar18 + -8) = puVar15;\n            *(undefined ***)((int)piVar18 + -0xc) = param_4;\n            *(undefined **)((int)piVar18 + -0x10) = puVar7;\n            *(undefined4 *)((int)piVar18 + -0x14) = 0xd2591;\n            local_b4 = (undefined **)FUN_0028b7d0();\n            goto LAB_000d24ee;\n          }\n          ppuVar14 = *(undefined ***)(iVar19 + 4);\n          local_c4 = local_bc + (int)ppuVar14;\n          if (local_d1 == '\0') goto LAB_000d2489;\n          local_b0 = &local_34;\n          local_34 = (undefined **)0x0;\n          *(undefined ****)((int)piVar18 + -0xc) = local_b0;\n          *(int *)((int)piVar18 + -0x10) = local_c8;\n          local_30 = (undefined **)0x0;\n                    /* try { // try from 000d23ca to 000d2bf5 has its CatchHandler @ 000d302c */\n          *(undefined4 *)((int)piVar18 + -0x14) = 0xd23cf;\n          FUN_00073b00();\n          local_c0 = (undefined **)((uint)local_c0 & 0xffffff00);\n          if ((*(byte *)(iVar19 + 0xc) & 0xf) != 3) goto LAB_000d23e8;\nLAB_000d254c:\n          *(undefined ****)((int)piVar18 + -0xc) = local_b0;\n          *(int *)((int)piVar18 + -0x10) = local_cc;\n          local_34 = (undefined **)0xffffffff;\n          *(undefined4 *)((int)piVar18 + -0x14) = 0xd2567;\n          FUN_00073ca0();\nLAB_000d2403:\n          *(undefined ****)((int)piVar18 + -0xc) = local_b0;\n          *(undefined ***)((int)piVar18 + -0x10) = local_e8;\n          local_2c = local_bc;\n          local_28 = (int)local_bc >> 0x1f;\n          local_30 = (undefined **)0x0;\n          *(undefined4 *)((int)piVar18 + -0x14) = 0xd2433;\n          local_34 = ppuVar14;\n          FUN_00073e70();\n          local_30 = (undefined **)0x0;\n          local_34 = (undefined **)*param_7;\n          puVar1 = *(undefined4 **)(local_d0 + 4);\n          if (puVar1 == *(undefined4 **)(local_d0 + 8)) {\n            *(undefined ****)((int)piVar18 + -8) = local_b0;\n            *(undefined4 **)((int)piVar18 + -0xc) = puVar1;\n            *(int *)((int)piVar18 + -0x10) = local_d0;\n            *(undefined4 *)((int)piVar18 + -0x14) = 0xd2b0d;\n            FUN_00072a40();\n          }\n          else {\n            *puVar1 = local_34;\n            puVar1[1] = 0;\n            *(undefined4 **)(local_d0 + 4) = puVar1 + 2;\n          }\n          local_68 = (undefined **)0x0;\n          *(undefined ****)((int)piVar18 + -0xc) = &local_68;\n          *(int *)((int)piVar18 + -0x10) = local_ec;\n          *(undefined4 *)((int)piVar18 + -0x14) = 0xd2479;\n          FUN_00074020();\n          if ((char)local_c0 == '\0') goto LAB_000d2489;\n        }\n        if (((local_d2 != '\0') && ((*(byte *)(iVar19 + 0xc) & 0xf) != 1)) &&\n           ((0x17 < uVar21 || ((0x843f84U >> (uVar2 & 0x1f) & 1) == 0)))) {\n          local_b0 = *(undefined ****)(param_2 + 0x15c);\n          local_80 = param_4;\n          local_7c = (uint)*(ushort *)(iVar19 + 0xe);\n          *(undefined4 *)((int)piVar18 + -0xc) = 1;\n          *(undefined4 *)((int)piVar18 + -0x10) = 0;\n          local_98 = local_b0 + 0xd;\n          *(undefined *****)((int)piVar18 + -0x14) = &local_98;\n          *(undefined ****)((int)piVar18 + -0x18) = &local_80;\n          *(undefined ****)((int)piVar18 + -0x1c) = local_98;\n          *(undefined1 **)((int)piVar18 + -0x20) = local_e0;\n          *(undefined4 *)((int)piVar18 + -0x24) = 0xd2ad1;\n          FUN_00074280();\n          piVar18 = (int *)((int)piVar18 + -4);\n        }\n        if (param_5 != local_b4) {\n          local_c0 = param_4;\n          puVar17 = (undefined1 *)piVar18;\nLAB_000d275e:\n          if (*(int *)(*local_dc + 8) == 0) {\n            *(undefined ***)(puVar17 + -8) = local_b8 + -0x61176;\n            *(undefined4 *)(puVar17 + -0xc) = 0x5c;\n            *(int *)(puVar17 + -0x10) = (int)local_b8 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)(puVar17 + -0x14) = 0xd2f6e;\n            FUN_002446e0();\n          }\n          piVar18 = (int *)puVar17;\n          if (*(char *)(*(int *)(*local_dc + 8) + 0x18b1) != '\0') {\n            local_70 = param_4;\n            iVar19 = *(int *)(param_2 + 0x158) + 0x14;\n            local_6c = param_5;\n            local_68 = local_c0;\n            local_64 = local_b4;\n            iVar3 = *(int *)(*(int *)(param_2 + 0x158) + 0x18);\n            iVar10 = iVar19;\n            if (iVar3 == 0) {\nLAB_000d27f0:\n              local_88 = &local_70;\n              *(undefined *****)(puVar17 + -0x10) = &local_88;\n              *(undefined4 *)(puVar17 + -0x14) = 0xd2811;\n              FUN_000c5e40();\n              iVar11 = local_a8;\n            }\n            else {\n              do {\n                while ((iVar11 = iVar3, *(undefined ***)(iVar11 + 0x10) < param_4 ||\n                       ((param_4 == *(undefined ***)(iVar11 + 0x10) &&\n                        (*(undefined ***)(iVar11 + 0x14) < param_5))))) {\n                  piVar18 = (int *)(iVar11 + 0xc);\n                  iVar3 = *piVar18;\n                  iVar11 = iVar10;\n                  if (*piVar18 == 0) goto LAB_000d27da;\n                }\n                iVar3 = *(int *)(iVar11 + 8);\n                iVar10 = iVar11;\n              } while (*(int *)(iVar11 + 8) != 0);\nLAB_000d27da:\n              if (((iVar19 == iVar11) || (param_4 < *(undefined ***)(iVar11 + 0x10))) ||\n                 ((param_4 == *(undefined ***)(iVar11 + 0x10) &&\n                  (param_5 < *(undefined ***)(iVar11 + 0x14))))) goto LAB_000d27f0;\n            }\n            local_8c = iVar11 + 0x18;\n            *(undefined4 *)(puVar17 + -0xc) = 1;\n            *(undefined4 *)(puVar17 + -0x10) = 0;\n            *(int **)(puVar17 + -0x14) = local_f4;\n            *(undefined ****)(puVar17 + -0x18) = &local_68;\n            *(int *)(puVar17 + -0x1c) = local_8c;\n            *(undefined1 **)(puVar17 + -0x20) = local_e0;\n            *(undefined4 *)(puVar17 + -0x24) = 0xd2840;\n            FUN_00074340();\n            piVar18 = *(int **)(*local_dc + 0xc);\n            if (piVar18 == (int *)0x0) {\n              *(undefined ***)(puVar17 + -0xc) = local_b8 + -0x615c4;\n              *(undefined4 *)(puVar17 + -0x10) = 0x73;\n              *(int *)(puVar17 + -0x14) = (int)local_b8 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n              *(undefined4 *)(puVar17 + -0x18) = 0xd2fad;\n              FUN_002446e0();\n            }\n            iVar19 = *piVar18;\n            *(undefined **)(puVar17 + -0xc) = local_c4;\n            *(undefined ***)(puVar17 + -0x10) = local_b4;\n            *(undefined ***)(puVar17 + -0x14) = local_c0;\n            *(undefined ***)(puVar17 + -0x18) = param_5;\n            *(undefined ***)(puVar17 + -0x1c) = param_4;\n            *(int *)(puVar17 + -0x20) = param_2;\n            *(int **)(puVar17 + -0x24) = piVar18;\n            pcVar4 = *(code **)(iVar19 + 0x104);\n            *(undefined4 *)(puVar17 + -0x28) = 0xd287d;\n            (*pcVar4)();\n            pbVar20 = local_d8;\n            piVar18 = (int *)(puVar17 + -4);\n            if (local_d8 != (byte *)0x0) {\n              local_b4 = &local_2c;\n              local_b0 = &local_34;\n              iVar19 = *(int *)(param_2 + 0x158);\n              *(byte **)(puVar17 + -0x14) = local_d8;\n              local_34 = local_b4;\n              *(undefined4 *)(puVar17 + -0x18) = 0xd28bd;\n              sVar6 = strlen(*(char **)(puVar17 + -0x14));\n              pppuVar5 = local_b0;\n              *(undefined4 *)(puVar17 + -8) = 0;\n              *(byte **)(puVar17 + -0xc) = pbVar20 + sVar6;\n              *(byte **)(puVar17 + -0x10) = pbVar20;\n              *(undefined ****)(puVar17 + -0x14) = local_b0;\n              *(undefined4 *)(puVar17 + -0x18) = 0xd28d2;\n              FUN_00072b90();\n              *(undefined ****)(puVar17 + -0xc) = pppuVar5;\n              *(int *)(puVar17 + -0x10) = iVar19 + 0x44;\n              *(int **)(puVar17 + -0x14) = &local_ac;\n              *(undefined4 *)(puVar17 + -0x18) = 0xd28e6;\n              FUN_00094bd0();\n              iVar19 = local_ac;\n              if (local_34 != local_b4) {\n                *(undefined ***)(puVar17 + -0x18) = local_34;\n                *(undefined4 *)(puVar17 + -0x1c) = 0xd2909;\n                FUN_003ae080();\n              }\n              piVar18 = (int *)(puVar17 + -8);\n              iVar3 = *(int *)(param_2 + 0x158);\n              if (iVar19 != iVar3 + 0x48) {\n                local_34 = param_4;\n                local_30 = param_5;\n                iVar10 = *(int *)(iVar3 + 0x18);\n                iVar11 = iVar3 + 0x14;\n                if (*(int *)(iVar3 + 0x18) == 0) {\nLAB_000d2bd8:\n                  *(undefined *****)(puVar17 + -0x18) = &local_84;\n                  local_84 = local_b0;\n                  *(undefined4 *)(puVar17 + -0x1c) = 0xd2bf6;\n                  FUN_000c5e40();\n                  iVar12 = local_a8;\n                }\n                else {\n                  do {\n                    while ((iVar12 = iVar10, *(undefined ***)(iVar12 + 0x10) < param_4 ||\n                           ((param_4 == *(undefined ***)(iVar12 + 0x10) &&\n                            (*(undefined ***)(iVar12 + 0x14) < param_5))))) {\n                      piVar18 = (int *)(iVar12 + 0xc);\n                      iVar10 = *piVar18;\n                      iVar12 = iVar11;\n                      if (*piVar18 == 0) goto LAB_000d2962;\n                    }\n                    iVar10 = *(int *)(iVar12 + 8);\n                    iVar11 = iVar12;\n                  } while (*(int *)(iVar12 + 8) != 0);\nLAB_000d2962:\n                  if (((iVar12 == iVar3 + 0x14) || (param_4 < *(undefined ***)(iVar12 + 0x10))) ||\n                     ((param_4 == *(undefined ***)(iVar12 + 0x10) &&\n                      (param_5 < *(undefined ***)(iVar12 + 0x14))))) goto LAB_000d2bd8;\n                }\n                piVar18 = (int *)(puVar17 + -8);\n                puVar17 = puVar17 + -8;\n                for (puVar1 = *(undefined4 **)(iVar19 + 0x30); puVar1 != (undefined4 *)0x0;\n                    puVar1 = (undefined4 *)*puVar1) {\n                  *(undefined4 *)(puVar17 + -0xc) = 1;\n                  *(undefined4 *)(puVar17 + -0x10) = 0;\n                  *(int **)(puVar17 + -0x14) = &local_90;\n                  *(undefined4 **)(puVar17 + -0x18) = puVar1 + 1;\n                  *(int *)(puVar17 + -0x1c) = iVar12 + 0x18;\n                  *(undefined1 **)(puVar17 + -0x20) = local_e0;\n                  *(undefined4 *)(puVar17 + -0x24) = 0xd29ae;\n                  local_90 = iVar12 + 0x18;\n                  FUN_00074340();\n                  piVar18 = (int *)(puVar17 + -4);\n                  puVar17 = puVar17 + -4;\n                }\n              }\n            }\n          }\n        }\n      }\n      else {\n        if (puVar15 < param_4[0x2c]) {\n          local_70 = (undefined **)0x0;\nLAB_000d2a1f:\n          *(undefined ***)((int)piVar18 + -8) = local_b8 + -0x615ed;\n          *(undefined4 *)((int)piVar18 + -0xc) = 0x11c;\n          *(int *)((int)piVar18 + -0x10) = (int)local_b8 + -0x19ca36;\n                    /* WARNING: Subroutine does not return */\n          *(undefined4 *)((int)piVar18 + -0x14) = 0xd2a40;\n          FUN_002446e0();\n        }\n        uVar16 = (int)puVar15 - (int)param_4[0x2c];\n        local_b0 = (undefined ***)param_4[0x30];\n        if ((uint)((int)local_b0 - (int)param_4[0x2f] >> 2) <= uVar16) {\n          *(undefined ***)((int)piVar18 + -8) = local_b8 + -0x6156c;\n          *(undefined4 *)((int)piVar18 + -0xc) = 0x8ad;\n          *(int *)((int)piVar18 + -0x10) = (int)local_b8 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n          *(undefined4 *)((int)piVar18 + -0x14) = 0xd2f8f;\n          FUN_002446e0();\n        }\n        local_70 = *(undefined ***)(param_4[0x2f] + uVar16 * 4);\n        if (local_70 == (undefined **)0x0) goto LAB_000d2a1f;\n        if ((*(byte *)((int)local_70 + 0x2a) & 0x10) == 0) {\n          if ((*(byte *)((int)local_70 + 0x2a) & 7) == 0) goto LAB_000d25f7;\nLAB_000d29e2:\n          local_f0 = (undefined **)local_70[0xc];\n          bVar13 = 0;\n          local_b4 = (undefined **)0x0;\n          local_c0 = (undefined **)0x0;\n          bVar24 = CARRY4((uint)local_bc,(uint)local_f0);\n          local_c4 = local_bc + (int)local_f0;\n          bVar26 = local_c4 == (undefined *)0x0;\n        }\n        else {\n          *(undefined ***)((int)piVar18 + -0xc) = local_70;\n          *(int *)((int)piVar18 + -0x10) = param_2;\n          *(undefined4 *)((int)piVar18 + -0x14) = 0xd29d2;\n          local_70 = (undefined **)FUN_0034cd90();\n          if ((*(byte *)((int)local_70 + 0x2a) & 7) != 0) goto LAB_000d29e2;\nLAB_000d25f7:\n          local_f0 = (undefined **)local_70[0xc];\n          local_c0 = (undefined **)local_70[2];\n          local_c4 = local_bc + (int)local_f0;\n          if (((uint)local_c0[0xb] & 1) == 0) {\n            local_b4 = (undefined **)local_70[3];\n            bVar13 = *(byte *)((int)local_70 + 0x2b) >> 5 & 1;\n            bVar24 = (*(byte *)(local_70 + 10) & 0xf) < 2;\n            bVar26 = (*(byte *)(local_70 + 10) & 0xf) == 2;\n            if (bVar26) {\n              bVar24 = false;\n              bVar26 = local_d2 == '\0';\n              if ((!bVar26) &&\n                 (((bVar13 == 0 || (bVar26 = uVar21 == 0x17, 0x17 < uVar21)) ||\n                  (bVar24 = (0x843f84U >> (uVar2 & 0x1f) & 1) != 0, !bVar24)))) {\n                local_b0 = *(undefined ****)(param_2 + 0x15c);\n                *(undefined4 *)((int)piVar18 + -0xc) = 1;\n                *(undefined4 *)((int)piVar18 + -0x10) = 0;\n                *(undefined *****)((int)piVar18 + -0x14) = &local_94;\n                *(undefined ****)((int)piVar18 + -0x18) = &local_78;\n                local_94 = local_b0 + 0xd;\n                *(undefined ****)((int)piVar18 + -0x1c) = local_94;\n                *(undefined1 **)((int)piVar18 + -0x20) = local_e0;\n                    /* try { // try from 000d2cc6 to 000d2cca has its CatchHandler @ 000d302c */\n                *(undefined4 *)((int)piVar18 + -0x24) = 0xd2ccb;\n                local_78 = local_c0;\n                local_74 = local_b4;\n                FUN_00074280();\n                bVar24 = (undefined1 *)0xffffffe3 < (undefined1 *)((int)piVar18 + -0x20);\n                bVar26 = piVar18 == (int *)0x4;\n                piVar18 = (int *)((int)piVar18 + -4);\n              }\n            }\n          }\n          else {\n            local_b4 = (undefined **)0x0;\n            bVar24 = false;\n            bVar13 = 0;\n            bVar26 = true;\n            local_c0 = (undefined **)0x0;\n          }\n        }\n        pbVar20 = *local_70;\n        iVar19 = 8;\n        pbVar9 = (byte *)((int)local_b8 + -0x19ca26);\n        pbVar22 = pbVar20;\n        do {\n          if (iVar19 == 0) break;\n          iVar19 = iVar19 + -1;\n          bVar24 = *pbVar9 < *pbVar22;\n          bVar26 = *pbVar9 == *pbVar22;\n          pbVar9 = pbVar9 + (uint)bVar27 * -2 + 1;\n          pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n        } while (bVar26);\n        bVar25 = false;\n        bVar24 = (!bVar24 && !bVar26) == bVar24;\n        if (bVar24) {\n          pbVar20 = pbVar20 + 8;\n        }\n        else {\n          iVar19 = 7;\n          pbVar9 = (byte *)((int)local_b8 + -0x19ca1d);\n          pbVar22 = pbVar20;\n          do {\n            if (iVar19 == 0) break;\n            iVar19 = iVar19 + -1;\n            bVar25 = *pbVar9 < *pbVar22;\n            bVar24 = *pbVar9 == *pbVar22;\n            pbVar9 = pbVar9 + (uint)bVar27 * -2 + 1;\n            pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n          } while (bVar24);\n          pbVar20 = pbVar20 + 7;\n          if ((!bVar25 && !bVar24) != bVar25) {\n            pbVar20 = local_d8;\n          }\n        }\n        local_d8 = pbVar20;\n        if (local_d1 != '\0') {\n          if (bVar13 == 0) {\n            local_34 = (undefined **)0x0;\n            local_30 = (undefined **)0x0;\n          }\n          else {\n            local_34 = local_c0;\n            local_30 = local_b4;\n          }\n          local_b0 = &local_34;\n          *(undefined ****)((int)piVar18 + -0xc) = local_b0;\n          *(int *)((int)piVar18 + -0x10) = local_c8;\n          *(undefined4 *)((int)piVar18 + -0x14) = 0xd26b9;\n          FUN_00073b00();\n          puVar1 = *(undefined4 **)(local_cc + 4);\n          if (puVar1 == *(undefined4 **)(local_cc + 8)) {\n            *(undefined ****)((int)piVar18 + -8) = &local_70;\n            *(undefined4 **)((int)piVar18 + -0xc) = puVar1;\n            *(int *)((int)piVar18 + -0x10) = local_cc;\n            *(undefined4 *)((int)piVar18 + -0x14) = 0xd2b4b;\n            FUN_000726c0();\n          }\n          else {\n            *puVar1 = local_70;\n            *(undefined4 **)(local_cc + 4) = puVar1 + 1;\n          }\n          *(undefined ****)((int)piVar18 + -0xc) = local_b0;\n          *(undefined ***)((int)piVar18 + -0x10) = local_e8;\n          local_34 = local_f0;\n          local_30 = (undefined **)0x0;\n          local_2c = local_bc;\n          local_28 = (int)local_bc >> 0x1f;\n          *(undefined4 *)((int)piVar18 + -0x14) = 0xd270d;\n          FUN_00073e70();\n          local_30 = (undefined **)0x0;\n          local_34 = (undefined **)*param_7;\n          puVar1 = *(undefined4 **)(local_d0 + 4);\n          if (puVar1 == *(undefined4 **)(local_d0 + 8)) {\n            *(undefined ****)((int)piVar18 + -8) = local_b0;\n            *(undefined4 **)((int)piVar18 + -0xc) = puVar1;\n            *(int *)((int)piVar18 + -0x10) = local_d0;\n            *(undefined4 *)((int)piVar18 + -0x14) = 0xd2bbd;\n            FUN_00072a40();\n          }\n          else {\n            *puVar1 = local_34;\n            puVar1[1] = 0;\n            *(undefined4 **)(local_d0 + 4) = puVar1 + 2;\n          }\n          local_68 = (undefined **)0x0;\n          *(undefined ****)((int)piVar18 + -0xc) = &local_68;\n          *(int *)((int)piVar18 + -0x10) = local_ec;\n          *(undefined4 *)((int)piVar18 + -0x14) = 0xd2753;\n          FUN_00074020();\n        }\n        puVar17 = (undefined1 *)piVar18;\n        if (bVar13 != 0) goto LAB_000d275e;\n      }\nLAB_000d2489:\n      local_e4 = local_e4 + 1;\n      param_7 = param_7 + 3;\n    }" { (expression_statement "uVar2 = param_7[1];" (assignment_expression "uVar2 = param_7[1]" identifier = (subscript_expression "param_7[1]" identifier [ number_literal ])) ;) (expression_statement "uVar21 = uVar2 & 0xff;" (assignment_expression "uVar21 = uVar2 & 0xff" identifier = (binary_expression "uVar2 & 0xff" identifier & number_literal)) ;) (expression_statement "puVar15 = (undefined *)(uVar2 >> 8);" (assignment_expression "puVar15 = (undefined *)(uVar2 >> 8)" identifier = (cast_expression "(undefined *)(uVar2 >> 8)" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uVar2 >> 8)" ( (binary_expression "uVar2 >> 8" identifier >> number_literal) )))) ;) (expression_statement "local_bc = (undefined *)param_7[2];" (assignment_expression "local_bc = (undefined *)param_7[2]" identifier = (cast_expression "(undefined *)param_7[2]" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_7[2]" identifier [ number_literal ]))) ;) (if_statement "if (puVar15 < param_11) {\n        if (param_12 == 0) {\n          *(undefined ***)((int)piVar18 + -8) = local_b8 + -0x615ed;\n          *(undefined4 *)((int)piVar18 + -0xc) = 0xea;\n          *(int *)((int)piVar18 + -0x10) = (int)local_b8 + -0x19ca36;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 000d2f44 to 000d2fac has its CatchHandler @ 000d302c */\n          *(undefined **)((int)piVar18 + -0x14) = &UNK_000d2f49;\n          FUN_002446e0();\n        }\n        iVar19 = (int)puVar15 * 0x10 + param_12;\n        local_b4 = (undefined **)(uint)*(ushort *)(iVar19 + 0xe);\n        if (local_b4 < (undefined **)0xff00) {\nLAB_000d24ee:\n          ppuVar14 = *(undefined ***)(iVar19 + 4);\n          local_c4 = local_bc + (int)ppuVar14;\n          if (local_d1 != '\0') {\n            local_34 = param_4;\n            local_30 = local_b4;\n            local_b0 = &local_34;\n            *(undefined ****)((int)piVar18 + -0xc) = local_b0;\n            *(int *)((int)piVar18 + -0x10) = local_c8;\n            *(undefined4 *)((int)piVar18 + -0x14) = 0xd2533;\n            FUN_00073b00();\n            local_c0 = (undefined **)CONCAT31(local_c0._1_3_,1);\n            if ((*(byte *)(iVar19 + 0xc) & 0xf) == 3) goto LAB_000d254c;\nLAB_000d23e8:\n            *(undefined ****)((int)piVar18 + -0xc) = local_b0;\n            *(int *)((int)piVar18 + -0x10) = local_cc;\n            local_34 = (undefined **)0x0;\n            *(undefined4 *)((int)piVar18 + -0x14) = 0xd2403;\n            FUN_00073ca0();\n            goto LAB_000d2403;\n          }\n        }\n        else {\n          if (local_b4 == (undefined **)0xffff) {\n            puVar7 = param_4[0xc];\n            if (puVar7 == (undefined *)0x0) {\n              puVar7 = *param_4;\n              *(undefined ***)((int)piVar18 + -0x10) = param_4;\n              pcVar4 = *(code **)(puVar7 + 0x6c);\n              *(undefined4 *)((int)piVar18 + -0x14) = 0xd2a4e;\n              puVar7 = (undefined *)(*pcVar4)();\n              param_4[0xc] = puVar7;\n            }\n            *(undefined **)((int)piVar18 + -8) = puVar15;\n            *(undefined ***)((int)piVar18 + -0xc) = param_4;\n            *(undefined **)((int)piVar18 + -0x10) = puVar7;\n            *(undefined4 *)((int)piVar18 + -0x14) = 0xd2591;\n            local_b4 = (undefined **)FUN_0028b7d0();\n            goto LAB_000d24ee;\n          }\n          ppuVar14 = *(undefined ***)(iVar19 + 4);\n          local_c4 = local_bc + (int)ppuVar14;\n          if (local_d1 == '\0') goto LAB_000d2489;\n          local_b0 = &local_34;\n          local_34 = (undefined **)0x0;\n          *(undefined ****)((int)piVar18 + -0xc) = local_b0;\n          *(int *)((int)piVar18 + -0x10) = local_c8;\n          local_30 = (undefined **)0x0;\n                    /* try { // try from 000d23ca to 000d2bf5 has its CatchHandler @ 000d302c */\n          *(undefined4 *)((int)piVar18 + -0x14) = 0xd23cf;\n          FUN_00073b00();\n          local_c0 = (undefined **)((uint)local_c0 & 0xffffff00);\n          if ((*(byte *)(iVar19 + 0xc) & 0xf) != 3) goto LAB_000d23e8;\nLAB_000d254c:\n          *(undefined ****)((int)piVar18 + -0xc) = local_b0;\n          *(int *)((int)piVar18 + -0x10) = local_cc;\n          local_34 = (undefined **)0xffffffff;\n          *(undefined4 *)((int)piVar18 + -0x14) = 0xd2567;\n          FUN_00073ca0();\nLAB_000d2403:\n          *(undefined ****)((int)piVar18 + -0xc) = local_b0;\n          *(undefined ***)((int)piVar18 + -0x10) = local_e8;\n          local_2c = local_bc;\n          local_28 = (int)local_bc >> 0x1f;\n          local_30 = (undefined **)0x0;\n          *(undefined4 *)((int)piVar18 + -0x14) = 0xd2433;\n          local_34 = ppuVar14;\n          FUN_00073e70();\n          local_30 = (undefined **)0x0;\n          local_34 = (undefined **)*param_7;\n          puVar1 = *(undefined4 **)(local_d0 + 4);\n          if (puVar1 == *(undefined4 **)(local_d0 + 8)) {\n            *(undefined ****)((int)piVar18 + -8) = local_b0;\n            *(undefined4 **)((int)piVar18 + -0xc) = puVar1;\n            *(int *)((int)piVar18 + -0x10) = local_d0;\n            *(undefined4 *)((int)piVar18 + -0x14) = 0xd2b0d;\n            FUN_00072a40();\n          }\n          else {\n            *puVar1 = local_34;\n            puVar1[1] = 0;\n            *(undefined4 **)(local_d0 + 4) = puVar1 + 2;\n          }\n          local_68 = (undefined **)0x0;\n          *(undefined ****)((int)piVar18 + -0xc) = &local_68;\n          *(int *)((int)piVar18 + -0x10) = local_ec;\n          *(undefined4 *)((int)piVar18 + -0x14) = 0xd2479;\n          FUN_00074020();\n          if ((char)local_c0 == '\0') goto LAB_000d2489;\n        }\n        if (((local_d2 != '\0') && ((*(byte *)(iVar19 + 0xc) & 0xf) != 1)) &&\n           ((0x17 < uVar21 || ((0x843f84U >> (uVar2 & 0x1f) & 1) == 0)))) {\n          local_b0 = *(undefined ****)(param_2 + 0x15c);\n          local_80 = param_4;\n          local_7c = (uint)*(ushort *)(iVar19 + 0xe);\n          *(undefined4 *)((int)piVar18 + -0xc) = 1;\n          *(undefined4 *)((int)piVar18 + -0x10) = 0;\n          local_98 = local_b0 + 0xd;\n          *(undefined *****)((int)piVar18 + -0x14) = &local_98;\n          *(undefined ****)((int)piVar18 + -0x18) = &local_80;\n          *(undefined ****)((int)piVar18 + -0x1c) = local_98;\n          *(undefined1 **)((int)piVar18 + -0x20) = local_e0;\n          *(undefined4 *)((int)piVar18 + -0x24) = 0xd2ad1;\n          FUN_00074280();\n          piVar18 = (int *)((int)piVar18 + -4);\n        }\n        if (param_5 != local_b4) {\n          local_c0 = param_4;\n          puVar17 = (undefined1 *)piVar18;\nLAB_000d275e:\n          if (*(int *)(*local_dc + 8) == 0) {\n            *(undefined ***)(puVar17 + -8) = local_b8 + -0x61176;\n            *(undefined4 *)(puVar17 + -0xc) = 0x5c;\n            *(int *)(puVar17 + -0x10) = (int)local_b8 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)(puVar17 + -0x14) = 0xd2f6e;\n            FUN_002446e0();\n          }\n          piVar18 = (int *)puVar17;\n          if (*(char *)(*(int *)(*local_dc + 8) + 0x18b1) != '\0') {\n            local_70 = param_4;\n            iVar19 = *(int *)(param_2 + 0x158) + 0x14;\n            local_6c = param_5;\n            local_68 = local_c0;\n            local_64 = local_b4;\n            iVar3 = *(int *)(*(int *)(param_2 + 0x158) + 0x18);\n            iVar10 = iVar19;\n            if (iVar3 == 0) {\nLAB_000d27f0:\n              local_88 = &local_70;\n              *(undefined *****)(puVar17 + -0x10) = &local_88;\n              *(undefined4 *)(puVar17 + -0x14) = 0xd2811;\n              FUN_000c5e40();\n              iVar11 = local_a8;\n            }\n            else {\n              do {\n                while ((iVar11 = iVar3, *(undefined ***)(iVar11 + 0x10) < param_4 ||\n                       ((param_4 == *(undefined ***)(iVar11 + 0x10) &&\n                        (*(undefined ***)(iVar11 + 0x14) < param_5))))) {\n                  piVar18 = (int *)(iVar11 + 0xc);\n                  iVar3 = *piVar18;\n                  iVar11 = iVar10;\n                  if (*piVar18 == 0) goto LAB_000d27da;\n                }\n                iVar3 = *(int *)(iVar11 + 8);\n                iVar10 = iVar11;\n              } while (*(int *)(iVar11 + 8) != 0);\nLAB_000d27da:\n              if (((iVar19 == iVar11) || (param_4 < *(undefined ***)(iVar11 + 0x10))) ||\n                 ((param_4 == *(undefined ***)(iVar11 + 0x10) &&\n                  (param_5 < *(undefined ***)(iVar11 + 0x14))))) goto LAB_000d27f0;\n            }\n            local_8c = iVar11 + 0x18;\n            *(undefined4 *)(puVar17 + -0xc) = 1;\n            *(undefined4 *)(puVar17 + -0x10) = 0;\n            *(int **)(puVar17 + -0x14) = local_f4;\n            *(undefined ****)(puVar17 + -0x18) = &local_68;\n            *(int *)(puVar17 + -0x1c) = local_8c;\n            *(undefined1 **)(puVar17 + -0x20) = local_e0;\n            *(undefined4 *)(puVar17 + -0x24) = 0xd2840;\n            FUN_00074340();\n            piVar18 = *(int **)(*local_dc + 0xc);\n            if (piVar18 == (int *)0x0) {\n              *(undefined ***)(puVar17 + -0xc) = local_b8 + -0x615c4;\n              *(undefined4 *)(puVar17 + -0x10) = 0x73;\n              *(int *)(puVar17 + -0x14) = (int)local_b8 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n              *(undefined4 *)(puVar17 + -0x18) = 0xd2fad;\n              FUN_002446e0();\n            }\n            iVar19 = *piVar18;\n            *(undefined **)(puVar17 + -0xc) = local_c4;\n            *(undefined ***)(puVar17 + -0x10) = local_b4;\n            *(undefined ***)(puVar17 + -0x14) = local_c0;\n            *(undefined ***)(puVar17 + -0x18) = param_5;\n            *(undefined ***)(puVar17 + -0x1c) = param_4;\n            *(int *)(puVar17 + -0x20) = param_2;\n            *(int **)(puVar17 + -0x24) = piVar18;\n            pcVar4 = *(code **)(iVar19 + 0x104);\n            *(undefined4 *)(puVar17 + -0x28) = 0xd287d;\n            (*pcVar4)();\n            pbVar20 = local_d8;\n            piVar18 = (int *)(puVar17 + -4);\n            if (local_d8 != (byte *)0x0) {\n              local_b4 = &local_2c;\n              local_b0 = &local_34;\n              iVar19 = *(int *)(param_2 + 0x158);\n              *(byte **)(puVar17 + -0x14) = local_d8;\n              local_34 = local_b4;\n              *(undefined4 *)(puVar17 + -0x18) = 0xd28bd;\n              sVar6 = strlen(*(char **)(puVar17 + -0x14));\n              pppuVar5 = local_b0;\n              *(undefined4 *)(puVar17 + -8) = 0;\n              *(byte **)(puVar17 + -0xc) = pbVar20 + sVar6;\n              *(byte **)(puVar17 + -0x10) = pbVar20;\n              *(undefined ****)(puVar17 + -0x14) = local_b0;\n              *(undefined4 *)(puVar17 + -0x18) = 0xd28d2;\n              FUN_00072b90();\n              *(undefined ****)(puVar17 + -0xc) = pppuVar5;\n              *(int *)(puVar17 + -0x10) = iVar19 + 0x44;\n              *(int **)(puVar17 + -0x14) = &local_ac;\n              *(undefined4 *)(puVar17 + -0x18) = 0xd28e6;\n              FUN_00094bd0();\n              iVar19 = local_ac;\n              if (local_34 != local_b4) {\n                *(undefined ***)(puVar17 + -0x18) = local_34;\n                *(undefined4 *)(puVar17 + -0x1c) = 0xd2909;\n                FUN_003ae080();\n              }\n              piVar18 = (int *)(puVar17 + -8);\n              iVar3 = *(int *)(param_2 + 0x158);\n              if (iVar19 != iVar3 + 0x48) {\n                local_34 = param_4;\n                local_30 = param_5;\n                iVar10 = *(int *)(iVar3 + 0x18);\n                iVar11 = iVar3 + 0x14;\n                if (*(int *)(iVar3 + 0x18) == 0) {\nLAB_000d2bd8:\n                  *(undefined *****)(puVar17 + -0x18) = &local_84;\n                  local_84 = local_b0;\n                  *(undefined4 *)(puVar17 + -0x1c) = 0xd2bf6;\n                  FUN_000c5e40();\n                  iVar12 = local_a8;\n                }\n                else {\n                  do {\n                    while ((iVar12 = iVar10, *(undefined ***)(iVar12 + 0x10) < param_4 ||\n                           ((param_4 == *(undefined ***)(iVar12 + 0x10) &&\n                            (*(undefined ***)(iVar12 + 0x14) < param_5))))) {\n                      piVar18 = (int *)(iVar12 + 0xc);\n                      iVar10 = *piVar18;\n                      iVar12 = iVar11;\n                      if (*piVar18 == 0) goto LAB_000d2962;\n                    }\n                    iVar10 = *(int *)(iVar12 + 8);\n                    iVar11 = iVar12;\n                  } while (*(int *)(iVar12 + 8) != 0);\nLAB_000d2962:\n                  if (((iVar12 == iVar3 + 0x14) || (param_4 < *(undefined ***)(iVar12 + 0x10))) ||\n                     ((param_4 == *(undefined ***)(iVar12 + 0x10) &&\n                      (param_5 < *(undefined ***)(iVar12 + 0x14))))) goto LAB_000d2bd8;\n                }\n                piVar18 = (int *)(puVar17 + -8);\n                puVar17 = puVar17 + -8;\n                for (puVar1 = *(undefined4 **)(iVar19 + 0x30); puVar1 != (undefined4 *)0x0;\n                    puVar1 = (undefined4 *)*puVar1) {\n                  *(undefined4 *)(puVar17 + -0xc) = 1;\n                  *(undefined4 *)(puVar17 + -0x10) = 0;\n                  *(int **)(puVar17 + -0x14) = &local_90;\n                  *(undefined4 **)(puVar17 + -0x18) = puVar1 + 1;\n                  *(int *)(puVar17 + -0x1c) = iVar12 + 0x18;\n                  *(undefined1 **)(puVar17 + -0x20) = local_e0;\n                  *(undefined4 *)(puVar17 + -0x24) = 0xd29ae;\n                  local_90 = iVar12 + 0x18;\n                  FUN_00074340();\n                  piVar18 = (int *)(puVar17 + -4);\n                  puVar17 = puVar17 + -4;\n                }\n              }\n            }\n          }\n        }\n      }\n      else {\n        if (puVar15 < param_4[0x2c]) {\n          local_70 = (undefined **)0x0;\nLAB_000d2a1f:\n          *(undefined ***)((int)piVar18 + -8) = local_b8 + -0x615ed;\n          *(undefined4 *)((int)piVar18 + -0xc) = 0x11c;\n          *(int *)((int)piVar18 + -0x10) = (int)local_b8 + -0x19ca36;\n                    /* WARNING: Subroutine does not return */\n          *(undefined4 *)((int)piVar18 + -0x14) = 0xd2a40;\n          FUN_002446e0();\n        }\n        uVar16 = (int)puVar15 - (int)param_4[0x2c];\n        local_b0 = (undefined ***)param_4[0x30];\n        if ((uint)((int)local_b0 - (int)param_4[0x2f] >> 2) <= uVar16) {\n          *(undefined ***)((int)piVar18 + -8) = local_b8 + -0x6156c;\n          *(undefined4 *)((int)piVar18 + -0xc) = 0x8ad;\n          *(int *)((int)piVar18 + -0x10) = (int)local_b8 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n          *(undefined4 *)((int)piVar18 + -0x14) = 0xd2f8f;\n          FUN_002446e0();\n        }\n        local_70 = *(undefined ***)(param_4[0x2f] + uVar16 * 4);\n        if (local_70 == (undefined **)0x0) goto LAB_000d2a1f;\n        if ((*(byte *)((int)local_70 + 0x2a) & 0x10) == 0) {\n          if ((*(byte *)((int)local_70 + 0x2a) & 7) == 0) goto LAB_000d25f7;\nLAB_000d29e2:\n          local_f0 = (undefined **)local_70[0xc];\n          bVar13 = 0;\n          local_b4 = (undefined **)0x0;\n          local_c0 = (undefined **)0x0;\n          bVar24 = CARRY4((uint)local_bc,(uint)local_f0);\n          local_c4 = local_bc + (int)local_f0;\n          bVar26 = local_c4 == (undefined *)0x0;\n        }\n        else {\n          *(undefined ***)((int)piVar18 + -0xc) = local_70;\n          *(int *)((int)piVar18 + -0x10) = param_2;\n          *(undefined4 *)((int)piVar18 + -0x14) = 0xd29d2;\n          local_70 = (undefined **)FUN_0034cd90();\n          if ((*(byte *)((int)local_70 + 0x2a) & 7) != 0) goto LAB_000d29e2;\nLAB_000d25f7:\n          local_f0 = (undefined **)local_70[0xc];\n          local_c0 = (undefined **)local_70[2];\n          local_c4 = local_bc + (int)local_f0;\n          if (((uint)local_c0[0xb] & 1) == 0) {\n            local_b4 = (undefined **)local_70[3];\n            bVar13 = *(byte *)((int)local_70 + 0x2b) >> 5 & 1;\n            bVar24 = (*(byte *)(local_70 + 10) & 0xf) < 2;\n            bVar26 = (*(byte *)(local_70 + 10) & 0xf) == 2;\n            if (bVar26) {\n              bVar24 = false;\n              bVar26 = local_d2 == '\0';\n              if ((!bVar26) &&\n                 (((bVar13 == 0 || (bVar26 = uVar21 == 0x17, 0x17 < uVar21)) ||\n                  (bVar24 = (0x843f84U >> (uVar2 & 0x1f) & 1) != 0, !bVar24)))) {\n                local_b0 = *(undefined ****)(param_2 + 0x15c);\n                *(undefined4 *)((int)piVar18 + -0xc) = 1;\n                *(undefined4 *)((int)piVar18 + -0x10) = 0;\n                *(undefined *****)((int)piVar18 + -0x14) = &local_94;\n                *(undefined ****)((int)piVar18 + -0x18) = &local_78;\n                local_94 = local_b0 + 0xd;\n                *(undefined ****)((int)piVar18 + -0x1c) = local_94;\n                *(undefined1 **)((int)piVar18 + -0x20) = local_e0;\n                    /* try { // try from 000d2cc6 to 000d2cca has its CatchHandler @ 000d302c */\n                *(undefined4 *)((int)piVar18 + -0x24) = 0xd2ccb;\n                local_78 = local_c0;\n                local_74 = local_b4;\n                FUN_00074280();\n                bVar24 = (undefined1 *)0xffffffe3 < (undefined1 *)((int)piVar18 + -0x20);\n                bVar26 = piVar18 == (int *)0x4;\n                piVar18 = (int *)((int)piVar18 + -4);\n              }\n            }\n          }\n          else {\n            local_b4 = (undefined **)0x0;\n            bVar24 = false;\n            bVar13 = 0;\n            bVar26 = true;\n            local_c0 = (undefined **)0x0;\n          }\n        }\n        pbVar20 = *local_70;\n        iVar19 = 8;\n        pbVar9 = (byte *)((int)local_b8 + -0x19ca26);\n        pbVar22 = pbVar20;\n        do {\n          if (iVar19 == 0) break;\n          iVar19 = iVar19 + -1;\n          bVar24 = *pbVar9 < *pbVar22;\n          bVar26 = *pbVar9 == *pbVar22;\n          pbVar9 = pbVar9 + (uint)bVar27 * -2 + 1;\n          pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n        } while (bVar26);\n        bVar25 = false;\n        bVar24 = (!bVar24 && !bVar26) == bVar24;\n        if (bVar24) {\n          pbVar20 = pbVar20 + 8;\n        }\n        else {\n          iVar19 = 7;\n          pbVar9 = (byte *)((int)local_b8 + -0x19ca1d);\n          pbVar22 = pbVar20;\n          do {\n            if (iVar19 == 0) break;\n            iVar19 = iVar19 + -1;\n            bVar25 = *pbVar9 < *pbVar22;\n            bVar24 = *pbVar9 == *pbVar22;\n            pbVar9 = pbVar9 + (uint)bVar27 * -2 + 1;\n            pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n          } while (bVar24);\n          pbVar20 = pbVar20 + 7;\n          if ((!bVar25 && !bVar24) != bVar25) {\n            pbVar20 = local_d8;\n          }\n        }\n        local_d8 = pbVar20;\n        if (local_d1 != '\0') {\n          if (bVar13 == 0) {\n            local_34 = (undefined **)0x0;\n            local_30 = (undefined **)0x0;\n          }\n          else {\n            local_34 = local_c0;\n            local_30 = local_b4;\n          }\n          local_b0 = &local_34;\n          *(undefined ****)((int)piVar18 + -0xc) = local_b0;\n          *(int *)((int)piVar18 + -0x10) = local_c8;\n          *(undefined4 *)((int)piVar18 + -0x14) = 0xd26b9;\n          FUN_00073b00();\n          puVar1 = *(undefined4 **)(local_cc + 4);\n          if (puVar1 == *(undefined4 **)(local_cc + 8)) {\n            *(undefined ****)((int)piVar18 + -8) = &local_70;\n            *(undefined4 **)((int)piVar18 + -0xc) = puVar1;\n            *(int *)((int)piVar18 + -0x10) = local_cc;\n            *(undefined4 *)((int)piVar18 + -0x14) = 0xd2b4b;\n            FUN_000726c0();\n          }\n          else {\n            *puVar1 = local_70;\n            *(undefined4 **)(local_cc + 4) = puVar1 + 1;\n          }\n          *(undefined ****)((int)piVar18 + -0xc) = local_b0;\n          *(undefined ***)((int)piVar18 + -0x10) = local_e8;\n          local_34 = local_f0;\n          local_30 = (undefined **)0x0;\n          local_2c = local_bc;\n          local_28 = (int)local_bc >> 0x1f;\n          *(undefined4 *)((int)piVar18 + -0x14) = 0xd270d;\n          FUN_00073e70();\n          local_30 = (undefined **)0x0;\n          local_34 = (undefined **)*param_7;\n          puVar1 = *(undefined4 **)(local_d0 + 4);\n          if (puVar1 == *(undefined4 **)(local_d0 + 8)) {\n            *(undefined ****)((int)piVar18 + -8) = local_b0;\n            *(undefined4 **)((int)piVar18 + -0xc) = puVar1;\n            *(int *)((int)piVar18 + -0x10) = local_d0;\n            *(undefined4 *)((int)piVar18 + -0x14) = 0xd2bbd;\n            FUN_00072a40();\n          }\n          else {\n            *puVar1 = local_34;\n            puVar1[1] = 0;\n            *(undefined4 **)(local_d0 + 4) = puVar1 + 2;\n          }\n          local_68 = (undefined **)0x0;\n          *(undefined ****)((int)piVar18 + -0xc) = &local_68;\n          *(int *)((int)piVar18 + -0x10) = local_ec;\n          *(undefined4 *)((int)piVar18 + -0x14) = 0xd2753;\n          FUN_00074020();\n        }\n        puVar17 = (undefined1 *)piVar18;\n        if (bVar13 != 0) goto LAB_000d275e;\n      }" if (parenthesized_expression "(puVar15 < param_11)" ( (binary_expression "puVar15 < param_11" identifier < identifier) )) (compound_statement "{\n        if (param_12 == 0) {\n          *(undefined ***)((int)piVar18 + -8) = local_b8 + -0x615ed;\n          *(undefined4 *)((int)piVar18 + -0xc) = 0xea;\n          *(int *)((int)piVar18 + -0x10) = (int)local_b8 + -0x19ca36;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 000d2f44 to 000d2fac has its CatchHandler @ 000d302c */\n          *(undefined **)((int)piVar18 + -0x14) = &UNK_000d2f49;\n          FUN_002446e0();\n        }\n        iVar19 = (int)puVar15 * 0x10 + param_12;\n        local_b4 = (undefined **)(uint)*(ushort *)(iVar19 + 0xe);\n        if (local_b4 < (undefined **)0xff00) {\nLAB_000d24ee:\n          ppuVar14 = *(undefined ***)(iVar19 + 4);\n          local_c4 = local_bc + (int)ppuVar14;\n          if (local_d1 != '\0') {\n            local_34 = param_4;\n            local_30 = local_b4;\n            local_b0 = &local_34;\n            *(undefined ****)((int)piVar18 + -0xc) = local_b0;\n            *(int *)((int)piVar18 + -0x10) = local_c8;\n            *(undefined4 *)((int)piVar18 + -0x14) = 0xd2533;\n            FUN_00073b00();\n            local_c0 = (undefined **)CONCAT31(local_c0._1_3_,1);\n            if ((*(byte *)(iVar19 + 0xc) & 0xf) == 3) goto LAB_000d254c;\nLAB_000d23e8:\n            *(undefined ****)((int)piVar18 + -0xc) = local_b0;\n            *(int *)((int)piVar18 + -0x10) = local_cc;\n            local_34 = (undefined **)0x0;\n            *(undefined4 *)((int)piVar18 + -0x14) = 0xd2403;\n            FUN_00073ca0();\n            goto LAB_000d2403;\n          }\n        }\n        else {\n          if (local_b4 == (undefined **)0xffff) {\n            puVar7 = param_4[0xc];\n            if (puVar7 == (undefined *)0x0) {\n              puVar7 = *param_4;\n              *(undefined ***)((int)piVar18 + -0x10) = param_4;\n              pcVar4 = *(code **)(puVar7 + 0x6c);\n              *(undefined4 *)((int)piVar18 + -0x14) = 0xd2a4e;\n              puVar7 = (undefined *)(*pcVar4)();\n              param_4[0xc] = puVar7;\n            }\n            *(undefined **)((int)piVar18 + -8) = puVar15;\n            *(undefined ***)((int)piVar18 + -0xc) = param_4;\n            *(undefined **)((int)piVar18 + -0x10) = puVar7;\n            *(undefined4 *)((int)piVar18 + -0x14) = 0xd2591;\n            local_b4 = (undefined **)FUN_0028b7d0();\n            goto LAB_000d24ee;\n          }\n          ppuVar14 = *(undefined ***)(iVar19 + 4);\n          local_c4 = local_bc + (int)ppuVar14;\n          if (local_d1 == '\0') goto LAB_000d2489;\n          local_b0 = &local_34;\n          local_34 = (undefined **)0x0;\n          *(undefined ****)((int)piVar18 + -0xc) = local_b0;\n          *(int *)((int)piVar18 + -0x10) = local_c8;\n          local_30 = (undefined **)0x0;\n                    /* try { // try from 000d23ca to 000d2bf5 has its CatchHandler @ 000d302c */\n          *(undefined4 *)((int)piVar18 + -0x14) = 0xd23cf;\n          FUN_00073b00();\n          local_c0 = (undefined **)((uint)local_c0 & 0xffffff00);\n          if ((*(byte *)(iVar19 + 0xc) & 0xf) != 3) goto LAB_000d23e8;\nLAB_000d254c:\n          *(undefined ****)((int)piVar18 + -0xc) = local_b0;\n          *(int *)((int)piVar18 + -0x10) = local_cc;\n          local_34 = (undefined **)0xffffffff;\n          *(undefined4 *)((int)piVar18 + -0x14) = 0xd2567;\n          FUN_00073ca0();\nLAB_000d2403:\n          *(undefined ****)((int)piVar18 + -0xc) = local_b0;\n          *(undefined ***)((int)piVar18 + -0x10) = local_e8;\n          local_2c = local_bc;\n          local_28 = (int)local_bc >> 0x1f;\n          local_30 = (undefined **)0x0;\n          *(undefined4 *)((int)piVar18 + -0x14) = 0xd2433;\n          local_34 = ppuVar14;\n          FUN_00073e70();\n          local_30 = (undefined **)0x0;\n          local_34 = (undefined **)*param_7;\n          puVar1 = *(undefined4 **)(local_d0 + 4);\n          if (puVar1 == *(undefined4 **)(local_d0 + 8)) {\n            *(undefined ****)((int)piVar18 + -8) = local_b0;\n            *(undefined4 **)((int)piVar18 + -0xc) = puVar1;\n            *(int *)((int)piVar18 + -0x10) = local_d0;\n            *(undefined4 *)((int)piVar18 + -0x14) = 0xd2b0d;\n            FUN_00072a40();\n          }\n          else {\n            *puVar1 = local_34;\n            puVar1[1] = 0;\n            *(undefined4 **)(local_d0 + 4) = puVar1 + 2;\n          }\n          local_68 = (undefined **)0x0;\n          *(undefined ****)((int)piVar18 + -0xc) = &local_68;\n          *(int *)((int)piVar18 + -0x10) = local_ec;\n          *(undefined4 *)((int)piVar18 + -0x14) = 0xd2479;\n          FUN_00074020();\n          if ((char)local_c0 == '\0') goto LAB_000d2489;\n        }\n        if (((local_d2 != '\0') && ((*(byte *)(iVar19 + 0xc) & 0xf) != 1)) &&\n           ((0x17 < uVar21 || ((0x843f84U >> (uVar2 & 0x1f) & 1) == 0)))) {\n          local_b0 = *(undefined ****)(param_2 + 0x15c);\n          local_80 = param_4;\n          local_7c = (uint)*(ushort *)(iVar19 + 0xe);\n          *(undefined4 *)((int)piVar18 + -0xc) = 1;\n          *(undefined4 *)((int)piVar18 + -0x10) = 0;\n          local_98 = local_b0 + 0xd;\n          *(undefined *****)((int)piVar18 + -0x14) = &local_98;\n          *(undefined ****)((int)piVar18 + -0x18) = &local_80;\n          *(undefined ****)((int)piVar18 + -0x1c) = local_98;\n          *(undefined1 **)((int)piVar18 + -0x20) = local_e0;\n          *(undefined4 *)((int)piVar18 + -0x24) = 0xd2ad1;\n          FUN_00074280();\n          piVar18 = (int *)((int)piVar18 + -4);\n        }\n        if (param_5 != local_b4) {\n          local_c0 = param_4;\n          puVar17 = (undefined1 *)piVar18;\nLAB_000d275e:\n          if (*(int *)(*local_dc + 8) == 0) {\n            *(undefined ***)(puVar17 + -8) = local_b8 + -0x61176;\n            *(undefined4 *)(puVar17 + -0xc) = 0x5c;\n            *(int *)(puVar17 + -0x10) = (int)local_b8 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)(puVar17 + -0x14) = 0xd2f6e;\n            FUN_002446e0();\n          }\n          piVar18 = (int *)puVar17;\n          if (*(char *)(*(int *)(*local_dc + 8) + 0x18b1) != '\0') {\n            local_70 = param_4;\n            iVar19 = *(int *)(param_2 + 0x158) + 0x14;\n            local_6c = param_5;\n            local_68 = local_c0;\n            local_64 = local_b4;\n            iVar3 = *(int *)(*(int *)(param_2 + 0x158) + 0x18);\n            iVar10 = iVar19;\n            if (iVar3 == 0) {\nLAB_000d27f0:\n              local_88 = &local_70;\n              *(undefined *****)(puVar17 + -0x10) = &local_88;\n              *(undefined4 *)(puVar17 + -0x14) = 0xd2811;\n              FUN_000c5e40();\n              iVar11 = local_a8;\n            }\n            else {\n              do {\n                while ((iVar11 = iVar3, *(undefined ***)(iVar11 + 0x10) < param_4 ||\n                       ((param_4 == *(undefined ***)(iVar11 + 0x10) &&\n                        (*(undefined ***)(iVar11 + 0x14) < param_5))))) {\n                  piVar18 = (int *)(iVar11 + 0xc);\n                  iVar3 = *piVar18;\n                  iVar11 = iVar10;\n                  if (*piVar18 == 0) goto LAB_000d27da;\n                }\n                iVar3 = *(int *)(iVar11 + 8);\n                iVar10 = iVar11;\n              } while (*(int *)(iVar11 + 8) != 0);\nLAB_000d27da:\n              if (((iVar19 == iVar11) || (param_4 < *(undefined ***)(iVar11 + 0x10))) ||\n                 ((param_4 == *(undefined ***)(iVar11 + 0x10) &&\n                  (param_5 < *(undefined ***)(iVar11 + 0x14))))) goto LAB_000d27f0;\n            }\n            local_8c = iVar11 + 0x18;\n            *(undefined4 *)(puVar17 + -0xc) = 1;\n            *(undefined4 *)(puVar17 + -0x10) = 0;\n            *(int **)(puVar17 + -0x14) = local_f4;\n            *(undefined ****)(puVar17 + -0x18) = &local_68;\n            *(int *)(puVar17 + -0x1c) = local_8c;\n            *(undefined1 **)(puVar17 + -0x20) = local_e0;\n            *(undefined4 *)(puVar17 + -0x24) = 0xd2840;\n            FUN_00074340();\n            piVar18 = *(int **)(*local_dc + 0xc);\n            if (piVar18 == (int *)0x0) {\n              *(undefined ***)(puVar17 + -0xc) = local_b8 + -0x615c4;\n              *(undefined4 *)(puVar17 + -0x10) = 0x73;\n              *(int *)(puVar17 + -0x14) = (int)local_b8 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n              *(undefined4 *)(puVar17 + -0x18) = 0xd2fad;\n              FUN_002446e0();\n            }\n            iVar19 = *piVar18;\n            *(undefined **)(puVar17 + -0xc) = local_c4;\n            *(undefined ***)(puVar17 + -0x10) = local_b4;\n            *(undefined ***)(puVar17 + -0x14) = local_c0;\n            *(undefined ***)(puVar17 + -0x18) = param_5;\n            *(undefined ***)(puVar17 + -0x1c) = param_4;\n            *(int *)(puVar17 + -0x20) = param_2;\n            *(int **)(puVar17 + -0x24) = piVar18;\n            pcVar4 = *(code **)(iVar19 + 0x104);\n            *(undefined4 *)(puVar17 + -0x28) = 0xd287d;\n            (*pcVar4)();\n            pbVar20 = local_d8;\n            piVar18 = (int *)(puVar17 + -4);\n            if (local_d8 != (byte *)0x0) {\n              local_b4 = &local_2c;\n              local_b0 = &local_34;\n              iVar19 = *(int *)(param_2 + 0x158);\n              *(byte **)(puVar17 + -0x14) = local_d8;\n              local_34 = local_b4;\n              *(undefined4 *)(puVar17 + -0x18) = 0xd28bd;\n              sVar6 = strlen(*(char **)(puVar17 + -0x14));\n              pppuVar5 = local_b0;\n              *(undefined4 *)(puVar17 + -8) = 0;\n              *(byte **)(puVar17 + -0xc) = pbVar20 + sVar6;\n              *(byte **)(puVar17 + -0x10) = pbVar20;\n              *(undefined ****)(puVar17 + -0x14) = local_b0;\n              *(undefined4 *)(puVar17 + -0x18) = 0xd28d2;\n              FUN_00072b90();\n              *(undefined ****)(puVar17 + -0xc) = pppuVar5;\n              *(int *)(puVar17 + -0x10) = iVar19 + 0x44;\n              *(int **)(puVar17 + -0x14) = &local_ac;\n              *(undefined4 *)(puVar17 + -0x18) = 0xd28e6;\n              FUN_00094bd0();\n              iVar19 = local_ac;\n              if (local_34 != local_b4) {\n                *(undefined ***)(puVar17 + -0x18) = local_34;\n                *(undefined4 *)(puVar17 + -0x1c) = 0xd2909;\n                FUN_003ae080();\n              }\n              piVar18 = (int *)(puVar17 + -8);\n              iVar3 = *(int *)(param_2 + 0x158);\n              if (iVar19 != iVar3 + 0x48) {\n                local_34 = param_4;\n                local_30 = param_5;\n                iVar10 = *(int *)(iVar3 + 0x18);\n                iVar11 = iVar3 + 0x14;\n                if (*(int *)(iVar3 + 0x18) == 0) {\nLAB_000d2bd8:\n                  *(undefined *****)(puVar17 + -0x18) = &local_84;\n                  local_84 = local_b0;\n                  *(undefined4 *)(puVar17 + -0x1c) = 0xd2bf6;\n                  FUN_000c5e40();\n                  iVar12 = local_a8;\n                }\n                else {\n                  do {\n                    while ((iVar12 = iVar10, *(undefined ***)(iVar12 + 0x10) < param_4 ||\n                           ((param_4 == *(undefined ***)(iVar12 + 0x10) &&\n                            (*(undefined ***)(iVar12 + 0x14) < param_5))))) {\n                      piVar18 = (int *)(iVar12 + 0xc);\n                      iVar10 = *piVar18;\n                      iVar12 = iVar11;\n                      if (*piVar18 == 0) goto LAB_000d2962;\n                    }\n                    iVar10 = *(int *)(iVar12 + 8);\n                    iVar11 = iVar12;\n                  } while (*(int *)(iVar12 + 8) != 0);\nLAB_000d2962:\n                  if (((iVar12 == iVar3 + 0x14) || (param_4 < *(undefined ***)(iVar12 + 0x10))) ||\n                     ((param_4 == *(undefined ***)(iVar12 + 0x10) &&\n                      (param_5 < *(undefined ***)(iVar12 + 0x14))))) goto LAB_000d2bd8;\n                }\n                piVar18 = (int *)(puVar17 + -8);\n                puVar17 = puVar17 + -8;\n                for (puVar1 = *(undefined4 **)(iVar19 + 0x30); puVar1 != (undefined4 *)0x0;\n                    puVar1 = (undefined4 *)*puVar1) {\n                  *(undefined4 *)(puVar17 + -0xc) = 1;\n                  *(undefined4 *)(puVar17 + -0x10) = 0;\n                  *(int **)(puVar17 + -0x14) = &local_90;\n                  *(undefined4 **)(puVar17 + -0x18) = puVar1 + 1;\n                  *(int *)(puVar17 + -0x1c) = iVar12 + 0x18;\n                  *(undefined1 **)(puVar17 + -0x20) = local_e0;\n                  *(undefined4 *)(puVar17 + -0x24) = 0xd29ae;\n                  local_90 = iVar12 + 0x18;\n                  FUN_00074340();\n                  piVar18 = (int *)(puVar17 + -4);\n                  puVar17 = puVar17 + -4;\n                }\n              }\n            }\n          }\n        }\n      }" { (if_statement "if (param_12 == 0) {\n          *(undefined ***)((int)piVar18 + -8) = local_b8 + -0x615ed;\n          *(undefined4 *)((int)piVar18 + -0xc) = 0xea;\n          *(int *)((int)piVar18 + -0x10) = (int)local_b8 + -0x19ca36;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 000d2f44 to 000d2fac has its CatchHandler @ 000d302c */\n          *(undefined **)((int)piVar18 + -0x14) = &UNK_000d2f49;\n          FUN_002446e0();\n        }" if (parenthesized_expression "(param_12 == 0)" ( (binary_expression "param_12 == 0" identifier == number_literal) )) (compound_statement "{\n          *(undefined ***)((int)piVar18 + -8) = local_b8 + -0x615ed;\n          *(undefined4 *)((int)piVar18 + -0xc) = 0xea;\n          *(int *)((int)piVar18 + -0x10) = (int)local_b8 + -0x19ca36;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 000d2f44 to 000d2fac has its CatchHandler @ 000d302c */\n          *(undefined **)((int)piVar18 + -0x14) = &UNK_000d2f49;\n          FUN_002446e0();\n        }" { (expression_statement "*(undefined ***)((int)piVar18 + -8) = local_b8 + -0x615ed;" (assignment_expression "*(undefined ***)((int)piVar18 + -8) = local_b8 + -0x615ed" (pointer_expression "*(undefined ***)((int)piVar18 + -8)" * (cast_expression "(undefined ***)((int)piVar18 + -8)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "((int)piVar18 + -8)" ( (binary_expression "(int)piVar18 + -8" (cast_expression "(int)piVar18" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "local_b8 + -0x615ed" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)((int)piVar18 + -0xc) = 0xea;" (assignment_expression "*(undefined4 *)((int)piVar18 + -0xc) = 0xea" (pointer_expression "*(undefined4 *)((int)piVar18 + -0xc)" * (cast_expression "(undefined4 *)((int)piVar18 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar18 + -0xc)" ( (binary_expression "(int)piVar18 + -0xc" (cast_expression "(int)piVar18" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)((int)piVar18 + -0x10) = (int)local_b8 + -0x19ca36;" (assignment_expression "*(int *)((int)piVar18 + -0x10) = (int)local_b8 + -0x19ca36" (pointer_expression "*(int *)((int)piVar18 + -0x10)" * (cast_expression "(int *)((int)piVar18 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar18 + -0x10)" ( (binary_expression "(int)piVar18 + -0x10" (cast_expression "(int)piVar18" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "(int)local_b8 + -0x19ca36" (cast_expression "(int)local_b8" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) comment comment (expression_statement "*(undefined **)((int)piVar18 + -0x14) = &UNK_000d2f49;" (assignment_expression "*(undefined **)((int)piVar18 + -0x14) = &UNK_000d2f49" (pointer_expression "*(undefined **)((int)piVar18 + -0x14)" * (cast_expression "(undefined **)((int)piVar18 + -0x14)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)piVar18 + -0x14)" ( (binary_expression "(int)piVar18 + -0x14" (cast_expression "(int)piVar18" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "&UNK_000d2f49" & identifier)) ;) (expression_statement "FUN_002446e0();" (call_expression "FUN_002446e0()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "iVar19 = (int)puVar15 * 0x10 + param_12;" (assignment_expression "iVar19 = (int)puVar15 * 0x10 + param_12" identifier = (binary_expression "(int)puVar15 * 0x10 + param_12" (binary_expression "(int)puVar15 * 0x10" (cast_expression "(int)puVar15" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal) + identifier)) ;) (expression_statement "local_b4 = (undefined **)(uint)*(ushort *)(iVar19 + 0xe);" (assignment_expression "local_b4 = (undefined **)(uint)*(ushort *)(iVar19 + 0xe)" identifier = (binary_expression "(undefined **)(uint)*(ushort *)(iVar19 + 0xe)" (cast_expression "(undefined **)(uint)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(uint)" ( identifier ))) * (cast_expression "(ushort *)(iVar19 + 0xe)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar19 + 0xe)" ( (binary_expression "iVar19 + 0xe" identifier + number_literal) ))))) ;) (if_statement "if (local_b4 < (undefined **)0xff00) {\nLAB_000d24ee:\n          ppuVar14 = *(undefined ***)(iVar19 + 4);\n          local_c4 = local_bc + (int)ppuVar14;\n          if (local_d1 != '\0') {\n            local_34 = param_4;\n            local_30 = local_b4;\n            local_b0 = &local_34;\n            *(undefined ****)((int)piVar18 + -0xc) = local_b0;\n            *(int *)((int)piVar18 + -0x10) = local_c8;\n            *(undefined4 *)((int)piVar18 + -0x14) = 0xd2533;\n            FUN_00073b00();\n            local_c0 = (undefined **)CONCAT31(local_c0._1_3_,1);\n            if ((*(byte *)(iVar19 + 0xc) & 0xf) == 3) goto LAB_000d254c;\nLAB_000d23e8:\n            *(undefined ****)((int)piVar18 + -0xc) = local_b0;\n            *(int *)((int)piVar18 + -0x10) = local_cc;\n            local_34 = (undefined **)0x0;\n            *(undefined4 *)((int)piVar18 + -0x14) = 0xd2403;\n            FUN_00073ca0();\n            goto LAB_000d2403;\n          }\n        }\n        else {\n          if (local_b4 == (undefined **)0xffff) {\n            puVar7 = param_4[0xc];\n            if (puVar7 == (undefined *)0x0) {\n              puVar7 = *param_4;\n              *(undefined ***)((int)piVar18 + -0x10) = param_4;\n              pcVar4 = *(code **)(puVar7 + 0x6c);\n              *(undefined4 *)((int)piVar18 + -0x14) = 0xd2a4e;\n              puVar7 = (undefined *)(*pcVar4)();\n              param_4[0xc] = puVar7;\n            }\n            *(undefined **)((int)piVar18 + -8) = puVar15;\n            *(undefined ***)((int)piVar18 + -0xc) = param_4;\n            *(undefined **)((int)piVar18 + -0x10) = puVar7;\n            *(undefined4 *)((int)piVar18 + -0x14) = 0xd2591;\n            local_b4 = (undefined **)FUN_0028b7d0();\n            goto LAB_000d24ee;\n          }\n          ppuVar14 = *(undefined ***)(iVar19 + 4);\n          local_c4 = local_bc + (int)ppuVar14;\n          if (local_d1 == '\0') goto LAB_000d2489;\n          local_b0 = &local_34;\n          local_34 = (undefined **)0x0;\n          *(undefined ****)((int)piVar18 + -0xc) = local_b0;\n          *(int *)((int)piVar18 + -0x10) = local_c8;\n          local_30 = (undefined **)0x0;\n                    /* try { // try from 000d23ca to 000d2bf5 has its CatchHandler @ 000d302c */\n          *(undefined4 *)((int)piVar18 + -0x14) = 0xd23cf;\n          FUN_00073b00();\n          local_c0 = (undefined **)((uint)local_c0 & 0xffffff00);\n          if ((*(byte *)(iVar19 + 0xc) & 0xf) != 3) goto LAB_000d23e8;\nLAB_000d254c:\n          *(undefined ****)((int)piVar18 + -0xc) = local_b0;\n          *(int *)((int)piVar18 + -0x10) = local_cc;\n          local_34 = (undefined **)0xffffffff;\n          *(undefined4 *)((int)piVar18 + -0x14) = 0xd2567;\n          FUN_00073ca0();\nLAB_000d2403:\n          *(undefined ****)((int)piVar18 + -0xc) = local_b0;\n          *(undefined ***)((int)piVar18 + -0x10) = local_e8;\n          local_2c = local_bc;\n          local_28 = (int)local_bc >> 0x1f;\n          local_30 = (undefined **)0x0;\n          *(undefined4 *)((int)piVar18 + -0x14) = 0xd2433;\n          local_34 = ppuVar14;\n          FUN_00073e70();\n          local_30 = (undefined **)0x0;\n          local_34 = (undefined **)*param_7;\n          puVar1 = *(undefined4 **)(local_d0 + 4);\n          if (puVar1 == *(undefined4 **)(local_d0 + 8)) {\n            *(undefined ****)((int)piVar18 + -8) = local_b0;\n            *(undefined4 **)((int)piVar18 + -0xc) = puVar1;\n            *(int *)((int)piVar18 + -0x10) = local_d0;\n            *(undefined4 *)((int)piVar18 + -0x14) = 0xd2b0d;\n            FUN_00072a40();\n          }\n          else {\n            *puVar1 = local_34;\n            puVar1[1] = 0;\n            *(undefined4 **)(local_d0 + 4) = puVar1 + 2;\n          }\n          local_68 = (undefined **)0x0;\n          *(undefined ****)((int)piVar18 + -0xc) = &local_68;\n          *(int *)((int)piVar18 + -0x10) = local_ec;\n          *(undefined4 *)((int)piVar18 + -0x14) = 0xd2479;\n          FUN_00074020();\n          if ((char)local_c0 == '\0') goto LAB_000d2489;\n        }" if (parenthesized_expression "(local_b4 < (undefined **)0xff00)" ( (binary_expression "local_b4 < (undefined **)0xff00" identifier < (cast_expression "(undefined **)0xff00" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) )) (compound_statement "{\nLAB_000d24ee:\n          ppuVar14 = *(undefined ***)(iVar19 + 4);\n          local_c4 = local_bc + (int)ppuVar14;\n          if (local_d1 != '\0') {\n            local_34 = param_4;\n            local_30 = local_b4;\n            local_b0 = &local_34;\n            *(undefined ****)((int)piVar18 + -0xc) = local_b0;\n            *(int *)((int)piVar18 + -0x10) = local_c8;\n            *(undefined4 *)((int)piVar18 + -0x14) = 0xd2533;\n            FUN_00073b00();\n            local_c0 = (undefined **)CONCAT31(local_c0._1_3_,1);\n            if ((*(byte *)(iVar19 + 0xc) & 0xf) == 3) goto LAB_000d254c;\nLAB_000d23e8:\n            *(undefined ****)((int)piVar18 + -0xc) = local_b0;\n            *(int *)((int)piVar18 + -0x10) = local_cc;\n            local_34 = (undefined **)0x0;\n            *(undefined4 *)((int)piVar18 + -0x14) = 0xd2403;\n            FUN_00073ca0();\n            goto LAB_000d2403;\n          }\n        }" { (labeled_statement "LAB_000d24ee:\n          ppuVar14 = *(undefined ***)(iVar19 + 4);" statement_identifier : (expression_statement "ppuVar14 = *(undefined ***)(iVar19 + 4);" (assignment_expression "ppuVar14 = *(undefined ***)(iVar19 + 4)" identifier = (pointer_expression "*(undefined ***)(iVar19 + 4)" * (cast_expression "(undefined ***)(iVar19 + 4)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(iVar19 + 4)" ( (binary_expression "iVar19 + 4" identifier + number_literal) ))))) ;)) (expression_statement "local_c4 = local_bc + (int)ppuVar14;" (assignment_expression "local_c4 = local_bc + (int)ppuVar14" identifier = (binary_expression "local_bc + (int)ppuVar14" identifier + (cast_expression "(int)ppuVar14" ( (type_descriptor "int" primitive_type) ) identifier))) ;) (if_statement "if (local_d1 != '\0') {\n            local_34 = param_4;\n            local_30 = local_b4;\n            local_b0 = &local_34;\n            *(undefined ****)((int)piVar18 + -0xc) = local_b0;\n            *(int *)((int)piVar18 + -0x10) = local_c8;\n            *(undefined4 *)((int)piVar18 + -0x14) = 0xd2533;\n            FUN_00073b00();\n            local_c0 = (undefined **)CONCAT31(local_c0._1_3_,1);\n            if ((*(byte *)(iVar19 + 0xc) & 0xf) == 3) goto LAB_000d254c;\nLAB_000d23e8:\n            *(undefined ****)((int)piVar18 + -0xc) = local_b0;\n            *(int *)((int)piVar18 + -0x10) = local_cc;\n            local_34 = (undefined **)0x0;\n            *(undefined4 *)((int)piVar18 + -0x14) = 0xd2403;\n            FUN_00073ca0();\n            goto LAB_000d2403;\n          }" if (parenthesized_expression "(local_d1 != '\0')" ( (binary_expression "local_d1 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n            local_34 = param_4;\n            local_30 = local_b4;\n            local_b0 = &local_34;\n            *(undefined ****)((int)piVar18 + -0xc) = local_b0;\n            *(int *)((int)piVar18 + -0x10) = local_c8;\n            *(undefined4 *)((int)piVar18 + -0x14) = 0xd2533;\n            FUN_00073b00();\n            local_c0 = (undefined **)CONCAT31(local_c0._1_3_,1);\n            if ((*(byte *)(iVar19 + 0xc) & 0xf) == 3) goto LAB_000d254c;\nLAB_000d23e8:\n            *(undefined ****)((int)piVar18 + -0xc) = local_b0;\n            *(int *)((int)piVar18 + -0x10) = local_cc;\n            local_34 = (undefined **)0x0;\n            *(undefined4 *)((int)piVar18 + -0x14) = 0xd2403;\n            FUN_00073ca0();\n            goto LAB_000d2403;\n          }" { (expression_statement "local_34 = param_4;" (assignment_expression "local_34 = param_4" identifier = identifier) ;) (expression_statement "local_30 = local_b4;" (assignment_expression "local_30 = local_b4" identifier = identifier) ;) (expression_statement "local_b0 = &local_34;" (assignment_expression "local_b0 = &local_34" identifier = (pointer_expression "&local_34" & identifier)) ;) (expression_statement "*(undefined ****)((int)piVar18 + -0xc) = local_b0;" (assignment_expression "*(undefined ****)((int)piVar18 + -0xc) = local_b0" (pointer_expression "*(undefined ****)((int)piVar18 + -0xc)" * (cast_expression "(undefined ****)((int)piVar18 + -0xc)" ( (type_descriptor "undefined ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) (parenthesized_expression "((int)piVar18 + -0xc)" ( (binary_expression "(int)piVar18 + -0xc" (cast_expression "(int)piVar18" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(int *)((int)piVar18 + -0x10) = local_c8;" (assignment_expression "*(int *)((int)piVar18 + -0x10) = local_c8" (pointer_expression "*(int *)((int)piVar18 + -0x10)" * (cast_expression "(int *)((int)piVar18 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar18 + -0x10)" ( (binary_expression "(int)piVar18 + -0x10" (cast_expression "(int)piVar18" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)piVar18 + -0x14) = 0xd2533;" (assignment_expression "*(undefined4 *)((int)piVar18 + -0x14) = 0xd2533" (pointer_expression "*(undefined4 *)((int)piVar18 + -0x14)" * (cast_expression "(undefined4 *)((int)piVar18 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar18 + -0x14)" ( (binary_expression "(int)piVar18 + -0x14" (cast_expression "(int)piVar18" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "FUN_00073b00();" (call_expression "FUN_00073b00()" identifier (argument_list "()" ( ))) ;) (expression_statement "local_c0 = (undefined **)CONCAT31(local_c0._1_3_,1);" (assignment_expression "local_c0 = (undefined **)CONCAT31(local_c0._1_3_,1)" identifier = (cast_expression "(undefined **)CONCAT31(local_c0._1_3_,1)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (call_expression "CONCAT31(local_c0._1_3_,1)" identifier (argument_list "(local_c0._1_3_,1)" ( (field_expression "local_c0._1_3_" identifier . field_identifier) , number_literal ))))) ;) (if_statement "if ((*(byte *)(iVar19 + 0xc) & 0xf) == 3) goto LAB_000d254c;" if (parenthesized_expression "((*(byte *)(iVar19 + 0xc) & 0xf) == 3)" ( (binary_expression "(*(byte *)(iVar19 + 0xc) & 0xf) == 3" (parenthesized_expression "(*(byte *)(iVar19 + 0xc) & 0xf)" ( (binary_expression "*(byte *)(iVar19 + 0xc) & 0xf" (pointer_expression "*(byte *)(iVar19 + 0xc)" * (cast_expression "(byte *)(iVar19 + 0xc)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar19 + 0xc)" ( (binary_expression "iVar19 + 0xc" identifier + number_literal) )))) & number_literal) )) == number_literal) )) (goto_statement "goto LAB_000d254c;" goto statement_identifier ;)) (labeled_statement "LAB_000d23e8:\n            *(undefined ****)((int)piVar18 + -0xc) = local_b0;" statement_identifier : (expression_statement "*(undefined ****)((int)piVar18 + -0xc) = local_b0;" (assignment_expression "*(undefined ****)((int)piVar18 + -0xc) = local_b0" (pointer_expression "*(undefined ****)((int)piVar18 + -0xc)" * (cast_expression "(undefined ****)((int)piVar18 + -0xc)" ( (type_descriptor "undefined ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) (parenthesized_expression "((int)piVar18 + -0xc)" ( (binary_expression "(int)piVar18 + -0xc" (cast_expression "(int)piVar18" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;)) (expression_statement "*(int *)((int)piVar18 + -0x10) = local_cc;" (assignment_expression "*(int *)((int)piVar18 + -0x10) = local_cc" (pointer_expression "*(int *)((int)piVar18 + -0x10)" * (cast_expression "(int *)((int)piVar18 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar18 + -0x10)" ( (binary_expression "(int)piVar18 + -0x10" (cast_expression "(int)piVar18" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "local_34 = (undefined **)0x0;" (assignment_expression "local_34 = (undefined **)0x0" identifier = (cast_expression "(undefined **)0x0" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) ;) (expression_statement "*(undefined4 *)((int)piVar18 + -0x14) = 0xd2403;" (assignment_expression "*(undefined4 *)((int)piVar18 + -0x14) = 0xd2403" (pointer_expression "*(undefined4 *)((int)piVar18 + -0x14)" * (cast_expression "(undefined4 *)((int)piVar18 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar18 + -0x14)" ( (binary_expression "(int)piVar18 + -0x14" (cast_expression "(int)piVar18" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "FUN_00073ca0();" (call_expression "FUN_00073ca0()" identifier (argument_list "()" ( ))) ;) (goto_statement "goto LAB_000d2403;" goto statement_identifier ;) })) }) (else_clause "else {\n          if (local_b4 == (undefined **)0xffff) {\n            puVar7 = param_4[0xc];\n            if (puVar7 == (undefined *)0x0) {\n              puVar7 = *param_4;\n              *(undefined ***)((int)piVar18 + -0x10) = param_4;\n              pcVar4 = *(code **)(puVar7 + 0x6c);\n              *(undefined4 *)((int)piVar18 + -0x14) = 0xd2a4e;\n              puVar7 = (undefined *)(*pcVar4)();\n              param_4[0xc] = puVar7;\n            }\n            *(undefined **)((int)piVar18 + -8) = puVar15;\n            *(undefined ***)((int)piVar18 + -0xc) = param_4;\n            *(undefined **)((int)piVar18 + -0x10) = puVar7;\n            *(undefined4 *)((int)piVar18 + -0x14) = 0xd2591;\n            local_b4 = (undefined **)FUN_0028b7d0();\n            goto LAB_000d24ee;\n          }\n          ppuVar14 = *(undefined ***)(iVar19 + 4);\n          local_c4 = local_bc + (int)ppuVar14;\n          if (local_d1 == '\0') goto LAB_000d2489;\n          local_b0 = &local_34;\n          local_34 = (undefined **)0x0;\n          *(undefined ****)((int)piVar18 + -0xc) = local_b0;\n          *(int *)((int)piVar18 + -0x10) = local_c8;\n          local_30 = (undefined **)0x0;\n                    /* try { // try from 000d23ca to 000d2bf5 has its CatchHandler @ 000d302c */\n          *(undefined4 *)((int)piVar18 + -0x14) = 0xd23cf;\n          FUN_00073b00();\n          local_c0 = (undefined **)((uint)local_c0 & 0xffffff00);\n          if ((*(byte *)(iVar19 + 0xc) & 0xf) != 3) goto LAB_000d23e8;\nLAB_000d254c:\n          *(undefined ****)((int)piVar18 + -0xc) = local_b0;\n          *(int *)((int)piVar18 + -0x10) = local_cc;\n          local_34 = (undefined **)0xffffffff;\n          *(undefined4 *)((int)piVar18 + -0x14) = 0xd2567;\n          FUN_00073ca0();\nLAB_000d2403:\n          *(undefined ****)((int)piVar18 + -0xc) = local_b0;\n          *(undefined ***)((int)piVar18 + -0x10) = local_e8;\n          local_2c = local_bc;\n          local_28 = (int)local_bc >> 0x1f;\n          local_30 = (undefined **)0x0;\n          *(undefined4 *)((int)piVar18 + -0x14) = 0xd2433;\n          local_34 = ppuVar14;\n          FUN_00073e70();\n          local_30 = (undefined **)0x0;\n          local_34 = (undefined **)*param_7;\n          puVar1 = *(undefined4 **)(local_d0 + 4);\n          if (puVar1 == *(undefined4 **)(local_d0 + 8)) {\n            *(undefined ****)((int)piVar18 + -8) = local_b0;\n            *(undefined4 **)((int)piVar18 + -0xc) = puVar1;\n            *(int *)((int)piVar18 + -0x10) = local_d0;\n            *(undefined4 *)((int)piVar18 + -0x14) = 0xd2b0d;\n            FUN_00072a40();\n          }\n          else {\n            *puVar1 = local_34;\n            puVar1[1] = 0;\n            *(undefined4 **)(local_d0 + 4) = puVar1 + 2;\n          }\n          local_68 = (undefined **)0x0;\n          *(undefined ****)((int)piVar18 + -0xc) = &local_68;\n          *(int *)((int)piVar18 + -0x10) = local_ec;\n          *(undefined4 *)((int)piVar18 + -0x14) = 0xd2479;\n          FUN_00074020();\n          if ((char)local_c0 == '\0') goto LAB_000d2489;\n        }" else (compound_statement "{\n          if (local_b4 == (undefined **)0xffff) {\n            puVar7 = param_4[0xc];\n            if (puVar7 == (undefined *)0x0) {\n              puVar7 = *param_4;\n              *(undefined ***)((int)piVar18 + -0x10) = param_4;\n              pcVar4 = *(code **)(puVar7 + 0x6c);\n              *(undefined4 *)((int)piVar18 + -0x14) = 0xd2a4e;\n              puVar7 = (undefined *)(*pcVar4)();\n              param_4[0xc] = puVar7;\n            }\n            *(undefined **)((int)piVar18 + -8) = puVar15;\n            *(undefined ***)((int)piVar18 + -0xc) = param_4;\n            *(undefined **)((int)piVar18 + -0x10) = puVar7;\n            *(undefined4 *)((int)piVar18 + -0x14) = 0xd2591;\n            local_b4 = (undefined **)FUN_0028b7d0();\n            goto LAB_000d24ee;\n          }\n          ppuVar14 = *(undefined ***)(iVar19 + 4);\n          local_c4 = local_bc + (int)ppuVar14;\n          if (local_d1 == '\0') goto LAB_000d2489;\n          local_b0 = &local_34;\n          local_34 = (undefined **)0x0;\n          *(undefined ****)((int)piVar18 + -0xc) = local_b0;\n          *(int *)((int)piVar18 + -0x10) = local_c8;\n          local_30 = (undefined **)0x0;\n                    /* try { // try from 000d23ca to 000d2bf5 has its CatchHandler @ 000d302c */\n          *(undefined4 *)((int)piVar18 + -0x14) = 0xd23cf;\n          FUN_00073b00();\n          local_c0 = (undefined **)((uint)local_c0 & 0xffffff00);\n          if ((*(byte *)(iVar19 + 0xc) & 0xf) != 3) goto LAB_000d23e8;\nLAB_000d254c:\n          *(undefined ****)((int)piVar18 + -0xc) = local_b0;\n          *(int *)((int)piVar18 + -0x10) = local_cc;\n          local_34 = (undefined **)0xffffffff;\n          *(undefined4 *)((int)piVar18 + -0x14) = 0xd2567;\n          FUN_00073ca0();\nLAB_000d2403:\n          *(undefined ****)((int)piVar18 + -0xc) = local_b0;\n          *(undefined ***)((int)piVar18 + -0x10) = local_e8;\n          local_2c = local_bc;\n          local_28 = (int)local_bc >> 0x1f;\n          local_30 = (undefined **)0x0;\n          *(undefined4 *)((int)piVar18 + -0x14) = 0xd2433;\n          local_34 = ppuVar14;\n          FUN_00073e70();\n          local_30 = (undefined **)0x0;\n          local_34 = (undefined **)*param_7;\n          puVar1 = *(undefined4 **)(local_d0 + 4);\n          if (puVar1 == *(undefined4 **)(local_d0 + 8)) {\n            *(undefined ****)((int)piVar18 + -8) = local_b0;\n            *(undefined4 **)((int)piVar18 + -0xc) = puVar1;\n            *(int *)((int)piVar18 + -0x10) = local_d0;\n            *(undefined4 *)((int)piVar18 + -0x14) = 0xd2b0d;\n            FUN_00072a40();\n          }\n          else {\n            *puVar1 = local_34;\n            puVar1[1] = 0;\n            *(undefined4 **)(local_d0 + 4) = puVar1 + 2;\n          }\n          local_68 = (undefined **)0x0;\n          *(undefined ****)((int)piVar18 + -0xc) = &local_68;\n          *(int *)((int)piVar18 + -0x10) = local_ec;\n          *(undefined4 *)((int)piVar18 + -0x14) = 0xd2479;\n          FUN_00074020();\n          if ((char)local_c0 == '\0') goto LAB_000d2489;\n        }" { (if_statement "if (local_b4 == (undefined **)0xffff) {\n            puVar7 = param_4[0xc];\n            if (puVar7 == (undefined *)0x0) {\n              puVar7 = *param_4;\n              *(undefined ***)((int)piVar18 + -0x10) = param_4;\n              pcVar4 = *(code **)(puVar7 + 0x6c);\n              *(undefined4 *)((int)piVar18 + -0x14) = 0xd2a4e;\n              puVar7 = (undefined *)(*pcVar4)();\n              param_4[0xc] = puVar7;\n            }\n            *(undefined **)((int)piVar18 + -8) = puVar15;\n            *(undefined ***)((int)piVar18 + -0xc) = param_4;\n            *(undefined **)((int)piVar18 + -0x10) = puVar7;\n            *(undefined4 *)((int)piVar18 + -0x14) = 0xd2591;\n            local_b4 = (undefined **)FUN_0028b7d0();\n            goto LAB_000d24ee;\n          }" if (parenthesized_expression "(local_b4 == (undefined **)0xffff)" ( (binary_expression "local_b4 == (undefined **)0xffff" identifier == (cast_expression "(undefined **)0xffff" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) )) (compound_statement "{\n            puVar7 = param_4[0xc];\n            if (puVar7 == (undefined *)0x0) {\n              puVar7 = *param_4;\n              *(undefined ***)((int)piVar18 + -0x10) = param_4;\n              pcVar4 = *(code **)(puVar7 + 0x6c);\n              *(undefined4 *)((int)piVar18 + -0x14) = 0xd2a4e;\n              puVar7 = (undefined *)(*pcVar4)();\n              param_4[0xc] = puVar7;\n            }\n            *(undefined **)((int)piVar18 + -8) = puVar15;\n            *(undefined ***)((int)piVar18 + -0xc) = param_4;\n            *(undefined **)((int)piVar18 + -0x10) = puVar7;\n            *(undefined4 *)((int)piVar18 + -0x14) = 0xd2591;\n            local_b4 = (undefined **)FUN_0028b7d0();\n            goto LAB_000d24ee;\n          }" { (expression_statement "puVar7 = param_4[0xc];" (assignment_expression "puVar7 = param_4[0xc]" identifier = (subscript_expression "param_4[0xc]" identifier [ number_literal ])) ;) (if_statement "if (puVar7 == (undefined *)0x0) {\n              puVar7 = *param_4;\n              *(undefined ***)((int)piVar18 + -0x10) = param_4;\n              pcVar4 = *(code **)(puVar7 + 0x6c);\n              *(undefined4 *)((int)piVar18 + -0x14) = 0xd2a4e;\n              puVar7 = (undefined *)(*pcVar4)();\n              param_4[0xc] = puVar7;\n            }" if (parenthesized_expression "(puVar7 == (undefined *)0x0)" ( (binary_expression "puVar7 == (undefined *)0x0" identifier == (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n              puVar7 = *param_4;\n              *(undefined ***)((int)piVar18 + -0x10) = param_4;\n              pcVar4 = *(code **)(puVar7 + 0x6c);\n              *(undefined4 *)((int)piVar18 + -0x14) = 0xd2a4e;\n              puVar7 = (undefined *)(*pcVar4)();\n              param_4[0xc] = puVar7;\n            }" { (expression_statement "puVar7 = *param_4;" (assignment_expression "puVar7 = *param_4" identifier = (pointer_expression "*param_4" * identifier)) ;) (expression_statement "*(undefined ***)((int)piVar18 + -0x10) = param_4;" (assignment_expression "*(undefined ***)((int)piVar18 + -0x10) = param_4" (pointer_expression "*(undefined ***)((int)piVar18 + -0x10)" * (cast_expression "(undefined ***)((int)piVar18 + -0x10)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "((int)piVar18 + -0x10)" ( (binary_expression "(int)piVar18 + -0x10" (cast_expression "(int)piVar18" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "pcVar4 = *(code **)(puVar7 + 0x6c);" (assignment_expression "pcVar4 = *(code **)(puVar7 + 0x6c)" identifier = (pointer_expression "*(code **)(puVar7 + 0x6c)" * (cast_expression "(code **)(puVar7 + 0x6c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar7 + 0x6c)" ( (binary_expression "puVar7 + 0x6c" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)((int)piVar18 + -0x14) = 0xd2a4e;" (assignment_expression "*(undefined4 *)((int)piVar18 + -0x14) = 0xd2a4e" (pointer_expression "*(undefined4 *)((int)piVar18 + -0x14)" * (cast_expression "(undefined4 *)((int)piVar18 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar18 + -0x14)" ( (binary_expression "(int)piVar18 + -0x14" (cast_expression "(int)piVar18" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "puVar7 = (undefined *)(*pcVar4)();" (assignment_expression "puVar7 = (undefined *)(*pcVar4)()" identifier = (cast_expression "(undefined *)(*pcVar4)()" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*pcVar4)()" (parenthesized_expression "(*pcVar4)" ( (pointer_expression "*pcVar4" * identifier) )) (argument_list "()" ( ))))) ;) (expression_statement "param_4[0xc] = puVar7;" (assignment_expression "param_4[0xc] = puVar7" (subscript_expression "param_4[0xc]" identifier [ number_literal ]) = identifier) ;) })) (expression_statement "*(undefined **)((int)piVar18 + -8) = puVar15;" (assignment_expression "*(undefined **)((int)piVar18 + -8) = puVar15" (pointer_expression "*(undefined **)((int)piVar18 + -8)" * (cast_expression "(undefined **)((int)piVar18 + -8)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)piVar18 + -8)" ( (binary_expression "(int)piVar18 + -8" (cast_expression "(int)piVar18" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined ***)((int)piVar18 + -0xc) = param_4;" (assignment_expression "*(undefined ***)((int)piVar18 + -0xc) = param_4" (pointer_expression "*(undefined ***)((int)piVar18 + -0xc)" * (cast_expression "(undefined ***)((int)piVar18 + -0xc)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "((int)piVar18 + -0xc)" ( (binary_expression "(int)piVar18 + -0xc" (cast_expression "(int)piVar18" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined **)((int)piVar18 + -0x10) = puVar7;" (assignment_expression "*(undefined **)((int)piVar18 + -0x10) = puVar7" (pointer_expression "*(undefined **)((int)piVar18 + -0x10)" * (cast_expression "(undefined **)((int)piVar18 + -0x10)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)piVar18 + -0x10)" ( (binary_expression "(int)piVar18 + -0x10" (cast_expression "(int)piVar18" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)piVar18 + -0x14) = 0xd2591;" (assignment_expression "*(undefined4 *)((int)piVar18 + -0x14) = 0xd2591" (pointer_expression "*(undefined4 *)((int)piVar18 + -0x14)" * (cast_expression "(undefined4 *)((int)piVar18 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar18 + -0x14)" ( (binary_expression "(int)piVar18 + -0x14" (cast_expression "(int)piVar18" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "local_b4 = (undefined **)FUN_0028b7d0();" (assignment_expression "local_b4 = (undefined **)FUN_0028b7d0()" identifier = (cast_expression "(undefined **)FUN_0028b7d0()" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (call_expression "FUN_0028b7d0()" identifier (argument_list "()" ( ))))) ;) (goto_statement "goto LAB_000d24ee;" goto statement_identifier ;) })) (expression_statement "ppuVar14 = *(undefined ***)(iVar19 + 4);" (assignment_expression "ppuVar14 = *(undefined ***)(iVar19 + 4)" identifier = (pointer_expression "*(undefined ***)(iVar19 + 4)" * (cast_expression "(undefined ***)(iVar19 + 4)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(iVar19 + 4)" ( (binary_expression "iVar19 + 4" identifier + number_literal) ))))) ;) (expression_statement "local_c4 = local_bc + (int)ppuVar14;" (assignment_expression "local_c4 = local_bc + (int)ppuVar14" identifier = (binary_expression "local_bc + (int)ppuVar14" identifier + (cast_expression "(int)ppuVar14" ( (type_descriptor "int" primitive_type) ) identifier))) ;) (if_statement "if (local_d1 == '\0') goto LAB_000d2489;" if (parenthesized_expression "(local_d1 == '\0')" ( (binary_expression "local_d1 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (goto_statement "goto LAB_000d2489;" goto statement_identifier ;)) (expression_statement "local_b0 = &local_34;" (assignment_expression "local_b0 = &local_34" identifier = (pointer_expression "&local_34" & identifier)) ;) (expression_statement "local_34 = (undefined **)0x0;" (assignment_expression "local_34 = (undefined **)0x0" identifier = (cast_expression "(undefined **)0x0" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) ;) (expression_statement "*(undefined ****)((int)piVar18 + -0xc) = local_b0;" (assignment_expression "*(undefined ****)((int)piVar18 + -0xc) = local_b0" (pointer_expression "*(undefined ****)((int)piVar18 + -0xc)" * (cast_expression "(undefined ****)((int)piVar18 + -0xc)" ( (type_descriptor "undefined ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) (parenthesized_expression "((int)piVar18 + -0xc)" ( (binary_expression "(int)piVar18 + -0xc" (cast_expression "(int)piVar18" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(int *)((int)piVar18 + -0x10) = local_c8;" (assignment_expression "*(int *)((int)piVar18 + -0x10) = local_c8" (pointer_expression "*(int *)((int)piVar18 + -0x10)" * (cast_expression "(int *)((int)piVar18 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar18 + -0x10)" ( (binary_expression "(int)piVar18 + -0x10" (cast_expression "(int)piVar18" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "local_30 = (undefined **)0x0;" (assignment_expression "local_30 = (undefined **)0x0" identifier = (cast_expression "(undefined **)0x0" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) ;) comment (expression_statement "*(undefined4 *)((int)piVar18 + -0x14) = 0xd23cf;" (assignment_expression "*(undefined4 *)((int)piVar18 + -0x14) = 0xd23cf" (pointer_expression "*(undefined4 *)((int)piVar18 + -0x14)" * (cast_expression "(undefined4 *)((int)piVar18 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar18 + -0x14)" ( (binary_expression "(int)piVar18 + -0x14" (cast_expression "(int)piVar18" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "FUN_00073b00();" (call_expression "FUN_00073b00()" identifier (argument_list "()" ( ))) ;) (expression_statement "local_c0 = (undefined **)((uint)local_c0 & 0xffffff00);" (assignment_expression "local_c0 = (undefined **)((uint)local_c0 & 0xffffff00)" identifier = (cast_expression "(undefined **)((uint)local_c0 & 0xffffff00)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((uint)local_c0 & 0xffffff00)" ( (binary_expression "(uint)local_c0 & 0xffffff00" (cast_expression "(uint)local_c0" ( (type_descriptor "uint" type_identifier) ) identifier) & number_literal) )))) ;) (if_statement "if ((*(byte *)(iVar19 + 0xc) & 0xf) != 3) goto LAB_000d23e8;" if (parenthesized_expression "((*(byte *)(iVar19 + 0xc) & 0xf) != 3)" ( (binary_expression "(*(byte *)(iVar19 + 0xc) & 0xf) != 3" (parenthesized_expression "(*(byte *)(iVar19 + 0xc) & 0xf)" ( (binary_expression "*(byte *)(iVar19 + 0xc) & 0xf" (pointer_expression "*(byte *)(iVar19 + 0xc)" * (cast_expression "(byte *)(iVar19 + 0xc)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar19 + 0xc)" ( (binary_expression "iVar19 + 0xc" identifier + number_literal) )))) & number_literal) )) != number_literal) )) (goto_statement "goto LAB_000d23e8;" goto statement_identifier ;)) (labeled_statement "LAB_000d254c:\n          *(undefined ****)((int)piVar18 + -0xc) = local_b0;" statement_identifier : (expression_statement "*(undefined ****)((int)piVar18 + -0xc) = local_b0;" (assignment_expression "*(undefined ****)((int)piVar18 + -0xc) = local_b0" (pointer_expression "*(undefined ****)((int)piVar18 + -0xc)" * (cast_expression "(undefined ****)((int)piVar18 + -0xc)" ( (type_descriptor "undefined ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) (parenthesized_expression "((int)piVar18 + -0xc)" ( (binary_expression "(int)piVar18 + -0xc" (cast_expression "(int)piVar18" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;)) (expression_statement "*(int *)((int)piVar18 + -0x10) = local_cc;" (assignment_expression "*(int *)((int)piVar18 + -0x10) = local_cc" (pointer_expression "*(int *)((int)piVar18 + -0x10)" * (cast_expression "(int *)((int)piVar18 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar18 + -0x10)" ( (binary_expression "(int)piVar18 + -0x10" (cast_expression "(int)piVar18" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "local_34 = (undefined **)0xffffffff;" (assignment_expression "local_34 = (undefined **)0xffffffff" identifier = (cast_expression "(undefined **)0xffffffff" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) ;) (expression_statement "*(undefined4 *)((int)piVar18 + -0x14) = 0xd2567;" (assignment_expression "*(undefined4 *)((int)piVar18 + -0x14) = 0xd2567" (pointer_expression "*(undefined4 *)((int)piVar18 + -0x14)" * (cast_expression "(undefined4 *)((int)piVar18 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar18 + -0x14)" ( (binary_expression "(int)piVar18 + -0x14" (cast_expression "(int)piVar18" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "FUN_00073ca0();" (call_expression "FUN_00073ca0()" identifier (argument_list "()" ( ))) ;) (labeled_statement "LAB_000d2403:\n          *(undefined ****)((int)piVar18 + -0xc) = local_b0;" statement_identifier : (expression_statement "*(undefined ****)((int)piVar18 + -0xc) = local_b0;" (assignment_expression "*(undefined ****)((int)piVar18 + -0xc) = local_b0" (pointer_expression "*(undefined ****)((int)piVar18 + -0xc)" * (cast_expression "(undefined ****)((int)piVar18 + -0xc)" ( (type_descriptor "undefined ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) (parenthesized_expression "((int)piVar18 + -0xc)" ( (binary_expression "(int)piVar18 + -0xc" (cast_expression "(int)piVar18" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;)) (expression_statement "*(undefined ***)((int)piVar18 + -0x10) = local_e8;" (assignment_expression "*(undefined ***)((int)piVar18 + -0x10) = local_e8" (pointer_expression "*(undefined ***)((int)piVar18 + -0x10)" * (cast_expression "(undefined ***)((int)piVar18 + -0x10)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "((int)piVar18 + -0x10)" ( (binary_expression "(int)piVar18 + -0x10" (cast_expression "(int)piVar18" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "local_2c = local_bc;" (assignment_expression "local_2c = local_bc" identifier = identifier) ;) (expression_statement "local_28 = (int)local_bc >> 0x1f;" (assignment_expression "local_28 = (int)local_bc >> 0x1f" identifier = (binary_expression "(int)local_bc >> 0x1f" (cast_expression "(int)local_bc" ( (type_descriptor "int" primitive_type) ) identifier) >> number_literal)) ;) (expression_statement "local_30 = (undefined **)0x0;" (assignment_expression "local_30 = (undefined **)0x0" identifier = (cast_expression "(undefined **)0x0" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) ;) (expression_statement "*(undefined4 *)((int)piVar18 + -0x14) = 0xd2433;" (assignment_expression "*(undefined4 *)((int)piVar18 + -0x14) = 0xd2433" (pointer_expression "*(undefined4 *)((int)piVar18 + -0x14)" * (cast_expression "(undefined4 *)((int)piVar18 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar18 + -0x14)" ( (binary_expression "(int)piVar18 + -0x14" (cast_expression "(int)piVar18" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "local_34 = ppuVar14;" (assignment_expression "local_34 = ppuVar14" identifier = identifier) ;) (expression_statement "FUN_00073e70();" (call_expression "FUN_00073e70()" identifier (argument_list "()" ( ))) ;) (expression_statement "local_30 = (undefined **)0x0;" (assignment_expression "local_30 = (undefined **)0x0" identifier = (cast_expression "(undefined **)0x0" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) ;) (expression_statement "local_34 = (undefined **)*param_7;" (assignment_expression "local_34 = (undefined **)*param_7" identifier = (cast_expression "(undefined **)*param_7" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (pointer_expression "*param_7" * identifier))) ;) (expression_statement "puVar1 = *(undefined4 **)(local_d0 + 4);" (assignment_expression "puVar1 = *(undefined4 **)(local_d0 + 4)" identifier = (pointer_expression "*(undefined4 **)(local_d0 + 4)" * (cast_expression "(undefined4 **)(local_d0 + 4)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(local_d0 + 4)" ( (binary_expression "local_d0 + 4" identifier + number_literal) ))))) ;) (if_statement "if (puVar1 == *(undefined4 **)(local_d0 + 8)) {\n            *(undefined ****)((int)piVar18 + -8) = local_b0;\n            *(undefined4 **)((int)piVar18 + -0xc) = puVar1;\n            *(int *)((int)piVar18 + -0x10) = local_d0;\n            *(undefined4 *)((int)piVar18 + -0x14) = 0xd2b0d;\n            FUN_00072a40();\n          }\n          else {\n            *puVar1 = local_34;\n            puVar1[1] = 0;\n            *(undefined4 **)(local_d0 + 4) = puVar1 + 2;\n          }" if (parenthesized_expression "(puVar1 == *(undefined4 **)(local_d0 + 8))" ( (binary_expression "puVar1 == *(undefined4 **)(local_d0 + 8)" identifier == (pointer_expression "*(undefined4 **)(local_d0 + 8)" * (cast_expression "(undefined4 **)(local_d0 + 8)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(local_d0 + 8)" ( (binary_expression "local_d0 + 8" identifier + number_literal) ))))) )) (compound_statement "{\n            *(undefined ****)((int)piVar18 + -8) = local_b0;\n            *(undefined4 **)((int)piVar18 + -0xc) = puVar1;\n            *(int *)((int)piVar18 + -0x10) = local_d0;\n            *(undefined4 *)((int)piVar18 + -0x14) = 0xd2b0d;\n            FUN_00072a40();\n          }" { (expression_statement "*(undefined ****)((int)piVar18 + -8) = local_b0;" (assignment_expression "*(undefined ****)((int)piVar18 + -8) = local_b0" (pointer_expression "*(undefined ****)((int)piVar18 + -8)" * (cast_expression "(undefined ****)((int)piVar18 + -8)" ( (type_descriptor "undefined ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) (parenthesized_expression "((int)piVar18 + -8)" ( (binary_expression "(int)piVar18 + -8" (cast_expression "(int)piVar18" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 **)((int)piVar18 + -0xc) = puVar1;" (assignment_expression "*(undefined4 **)((int)piVar18 + -0xc) = puVar1" (pointer_expression "*(undefined4 **)((int)piVar18 + -0xc)" * (cast_expression "(undefined4 **)((int)piVar18 + -0xc)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)piVar18 + -0xc)" ( (binary_expression "(int)piVar18 + -0xc" (cast_expression "(int)piVar18" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(int *)((int)piVar18 + -0x10) = local_d0;" (assignment_expression "*(int *)((int)piVar18 + -0x10) = local_d0" (pointer_expression "*(int *)((int)piVar18 + -0x10)" * (cast_expression "(int *)((int)piVar18 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar18 + -0x10)" ( (binary_expression "(int)piVar18 + -0x10" (cast_expression "(int)piVar18" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)piVar18 + -0x14) = 0xd2b0d;" (assignment_expression "*(undefined4 *)((int)piVar18 + -0x14) = 0xd2b0d" (pointer_expression "*(undefined4 *)((int)piVar18 + -0x14)" * (cast_expression "(undefined4 *)((int)piVar18 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar18 + -0x14)" ( (binary_expression "(int)piVar18 + -0x14" (cast_expression "(int)piVar18" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "FUN_00072a40();" (call_expression "FUN_00072a40()" identifier (argument_list "()" ( ))) ;) }) (else_clause "else {\n            *puVar1 = local_34;\n            puVar1[1] = 0;\n            *(undefined4 **)(local_d0 + 4) = puVar1 + 2;\n          }" else (compound_statement "{\n            *puVar1 = local_34;\n            puVar1[1] = 0;\n            *(undefined4 **)(local_d0 + 4) = puVar1 + 2;\n          }" { (expression_statement "*puVar1 = local_34;" (assignment_expression "*puVar1 = local_34" (pointer_expression "*puVar1" * identifier) = identifier) ;) (expression_statement "puVar1[1] = 0;" (assignment_expression "puVar1[1] = 0" (subscript_expression "puVar1[1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "*(undefined4 **)(local_d0 + 4) = puVar1 + 2;" (assignment_expression "*(undefined4 **)(local_d0 + 4) = puVar1 + 2" (pointer_expression "*(undefined4 **)(local_d0 + 4)" * (cast_expression "(undefined4 **)(local_d0 + 4)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(local_d0 + 4)" ( (binary_expression "local_d0 + 4" identifier + number_literal) )))) = (binary_expression "puVar1 + 2" identifier + number_literal)) ;) }))) (expression_statement "local_68 = (undefined **)0x0;" (assignment_expression "local_68 = (undefined **)0x0" identifier = (cast_expression "(undefined **)0x0" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) ;) (expression_statement "*(undefined ****)((int)piVar18 + -0xc) = &local_68;" (assignment_expression "*(undefined ****)((int)piVar18 + -0xc) = &local_68" (pointer_expression "*(undefined ****)((int)piVar18 + -0xc)" * (cast_expression "(undefined ****)((int)piVar18 + -0xc)" ( (type_descriptor "undefined ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) (parenthesized_expression "((int)piVar18 + -0xc)" ( (binary_expression "(int)piVar18 + -0xc" (cast_expression "(int)piVar18" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "&local_68" & identifier)) ;) (expression_statement "*(int *)((int)piVar18 + -0x10) = local_ec;" (assignment_expression "*(int *)((int)piVar18 + -0x10) = local_ec" (pointer_expression "*(int *)((int)piVar18 + -0x10)" * (cast_expression "(int *)((int)piVar18 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar18 + -0x10)" ( (binary_expression "(int)piVar18 + -0x10" (cast_expression "(int)piVar18" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)piVar18 + -0x14) = 0xd2479;" (assignment_expression "*(undefined4 *)((int)piVar18 + -0x14) = 0xd2479" (pointer_expression "*(undefined4 *)((int)piVar18 + -0x14)" * (cast_expression "(undefined4 *)((int)piVar18 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar18 + -0x14)" ( (binary_expression "(int)piVar18 + -0x14" (cast_expression "(int)piVar18" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "FUN_00074020();" (call_expression "FUN_00074020()" identifier (argument_list "()" ( ))) ;) (if_statement "if ((char)local_c0 == '\0') goto LAB_000d2489;" if (parenthesized_expression "((char)local_c0 == '\0')" ( (binary_expression "(char)local_c0 == '\0'" (cast_expression "(char)local_c0" ( (type_descriptor "char" primitive_type) ) identifier) == (char_literal "'\0'" ' escape_sequence ')) )) (goto_statement "goto LAB_000d2489;" goto statement_identifier ;)) }))) (if_statement "if (((local_d2 != '\0') && ((*(byte *)(iVar19 + 0xc) & 0xf) != 1)) &&\n           ((0x17 < uVar21 || ((0x843f84U >> (uVar2 & 0x1f) & 1) == 0)))) {\n          local_b0 = *(undefined ****)(param_2 + 0x15c);\n          local_80 = param_4;\n          local_7c = (uint)*(ushort *)(iVar19 + 0xe);\n          *(undefined4 *)((int)piVar18 + -0xc) = 1;\n          *(undefined4 *)((int)piVar18 + -0x10) = 0;\n          local_98 = local_b0 + 0xd;\n          *(undefined *****)((int)piVar18 + -0x14) = &local_98;\n          *(undefined ****)((int)piVar18 + -0x18) = &local_80;\n          *(undefined ****)((int)piVar18 + -0x1c) = local_98;\n          *(undefined1 **)((int)piVar18 + -0x20) = local_e0;\n          *(undefined4 *)((int)piVar18 + -0x24) = 0xd2ad1;\n          FUN_00074280();\n          piVar18 = (int *)((int)piVar18 + -4);\n        }" if (parenthesized_expression "(((local_d2 != '\0') && ((*(byte *)(iVar19 + 0xc) & 0xf) != 1)) &&\n           ((0x17 < uVar21 || ((0x843f84U >> (uVar2 & 0x1f) & 1) == 0))))" ( (binary_expression "((local_d2 != '\0') && ((*(byte *)(iVar19 + 0xc) & 0xf) != 1)) &&\n           ((0x17 < uVar21 || ((0x843f84U >> (uVar2 & 0x1f) & 1) == 0)))" (parenthesized_expression "((local_d2 != '\0') && ((*(byte *)(iVar19 + 0xc) & 0xf) != 1))" ( (binary_expression "(local_d2 != '\0') && ((*(byte *)(iVar19 + 0xc) & 0xf) != 1)" (parenthesized_expression "(local_d2 != '\0')" ( (binary_expression "local_d2 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) && (parenthesized_expression "((*(byte *)(iVar19 + 0xc) & 0xf) != 1)" ( (binary_expression "(*(byte *)(iVar19 + 0xc) & 0xf) != 1" (parenthesized_expression "(*(byte *)(iVar19 + 0xc) & 0xf)" ( (binary_expression "*(byte *)(iVar19 + 0xc) & 0xf" (pointer_expression "*(byte *)(iVar19 + 0xc)" * (cast_expression "(byte *)(iVar19 + 0xc)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar19 + 0xc)" ( (binary_expression "iVar19 + 0xc" identifier + number_literal) )))) & number_literal) )) != number_literal) ))) )) && (parenthesized_expression "((0x17 < uVar21 || ((0x843f84U >> (uVar2 & 0x1f) & 1) == 0)))" ( (parenthesized_expression "(0x17 < uVar21 || ((0x843f84U >> (uVar2 & 0x1f) & 1) == 0))" ( (binary_expression "0x17 < uVar21 || ((0x843f84U >> (uVar2 & 0x1f) & 1) == 0)" (binary_expression "0x17 < uVar21" number_literal < identifier) || (parenthesized_expression "((0x843f84U >> (uVar2 & 0x1f) & 1) == 0)" ( (binary_expression "(0x843f84U >> (uVar2 & 0x1f) & 1) == 0" (parenthesized_expression "(0x843f84U >> (uVar2 & 0x1f) & 1)" ( (binary_expression "0x843f84U >> (uVar2 & 0x1f) & 1" (binary_expression "0x843f84U >> (uVar2 & 0x1f)" number_literal >> (parenthesized_expression "(uVar2 & 0x1f)" ( (binary_expression "uVar2 & 0x1f" identifier & number_literal) ))) & number_literal) )) == number_literal) ))) )) ))) )) (compound_statement "{\n          local_b0 = *(undefined ****)(param_2 + 0x15c);\n          local_80 = param_4;\n          local_7c = (uint)*(ushort *)(iVar19 + 0xe);\n          *(undefined4 *)((int)piVar18 + -0xc) = 1;\n          *(undefined4 *)((int)piVar18 + -0x10) = 0;\n          local_98 = local_b0 + 0xd;\n          *(undefined *****)((int)piVar18 + -0x14) = &local_98;\n          *(undefined ****)((int)piVar18 + -0x18) = &local_80;\n          *(undefined ****)((int)piVar18 + -0x1c) = local_98;\n          *(undefined1 **)((int)piVar18 + -0x20) = local_e0;\n          *(undefined4 *)((int)piVar18 + -0x24) = 0xd2ad1;\n          FUN_00074280();\n          piVar18 = (int *)((int)piVar18 + -4);\n        }" { (expression_statement "local_b0 = *(undefined ****)(param_2 + 0x15c);" (assignment_expression "local_b0 = *(undefined ****)(param_2 + 0x15c)" identifier = (pointer_expression "*(undefined ****)(param_2 + 0x15c)" * (cast_expression "(undefined ****)(param_2 + 0x15c)" ( (type_descriptor "undefined ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) (parenthesized_expression "(param_2 + 0x15c)" ( (binary_expression "param_2 + 0x15c" identifier + number_literal) ))))) ;) (expression_statement "local_80 = param_4;" (assignment_expression "local_80 = param_4" identifier = identifier) ;) (expression_statement "local_7c = (uint)*(ushort *)(iVar19 + 0xe);" (assignment_expression "local_7c = (uint)*(ushort *)(iVar19 + 0xe)" identifier = (binary_expression "(uint)*(ushort *)(iVar19 + 0xe)" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(ushort *)(iVar19 + 0xe)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar19 + 0xe)" ( (binary_expression "iVar19 + 0xe" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)((int)piVar18 + -0xc) = 1;" (assignment_expression "*(undefined4 *)((int)piVar18 + -0xc) = 1" (pointer_expression "*(undefined4 *)((int)piVar18 + -0xc)" * (cast_expression "(undefined4 *)((int)piVar18 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar18 + -0xc)" ( (binary_expression "(int)piVar18 + -0xc" (cast_expression "(int)piVar18" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)((int)piVar18 + -0x10) = 0;" (assignment_expression "*(undefined4 *)((int)piVar18 + -0x10) = 0" (pointer_expression "*(undefined4 *)((int)piVar18 + -0x10)" * (cast_expression "(undefined4 *)((int)piVar18 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar18 + -0x10)" ( (binary_expression "(int)piVar18 + -0x10" (cast_expression "(int)piVar18" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "local_98 = local_b0 + 0xd;" (assignment_expression "local_98 = local_b0 + 0xd" identifier = (binary_expression "local_b0 + 0xd" identifier + number_literal)) ;) (expression_statement "*(undefined *****)((int)piVar18 + -0x14) = &local_98;" (assignment_expression "*(undefined *****)((int)piVar18 + -0x14) = &local_98" (pointer_expression "*(undefined *****)((int)piVar18 + -0x14)" * (cast_expression "(undefined *****)((int)piVar18 + -0x14)" ( (type_descriptor "undefined *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (parenthesized_expression "((int)piVar18 + -0x14)" ( (binary_expression "(int)piVar18 + -0x14" (cast_expression "(int)piVar18" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "&local_98" & identifier)) ;) (expression_statement "*(undefined ****)((int)piVar18 + -0x18) = &local_80;" (assignment_expression "*(undefined ****)((int)piVar18 + -0x18) = &local_80" (pointer_expression "*(undefined ****)((int)piVar18 + -0x18)" * (cast_expression "(undefined ****)((int)piVar18 + -0x18)" ( (type_descriptor "undefined ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) (parenthesized_expression "((int)piVar18 + -0x18)" ( (binary_expression "(int)piVar18 + -0x18" (cast_expression "(int)piVar18" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "&local_80" & identifier)) ;) (expression_statement "*(undefined ****)((int)piVar18 + -0x1c) = local_98;" (assignment_expression "*(undefined ****)((int)piVar18 + -0x1c) = local_98" (pointer_expression "*(undefined ****)((int)piVar18 + -0x1c)" * (cast_expression "(undefined ****)((int)piVar18 + -0x1c)" ( (type_descriptor "undefined ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) (parenthesized_expression "((int)piVar18 + -0x1c)" ( (binary_expression "(int)piVar18 + -0x1c" (cast_expression "(int)piVar18" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined1 **)((int)piVar18 + -0x20) = local_e0;" (assignment_expression "*(undefined1 **)((int)piVar18 + -0x20) = local_e0" (pointer_expression "*(undefined1 **)((int)piVar18 + -0x20)" * (cast_expression "(undefined1 **)((int)piVar18 + -0x20)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)piVar18 + -0x20)" ( (binary_expression "(int)piVar18 + -0x20" (cast_expression "(int)piVar18" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)piVar18 + -0x24) = 0xd2ad1;" (assignment_expression "*(undefined4 *)((int)piVar18 + -0x24) = 0xd2ad1" (pointer_expression "*(undefined4 *)((int)piVar18 + -0x24)" * (cast_expression "(undefined4 *)((int)piVar18 + -0x24)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar18 + -0x24)" ( (binary_expression "(int)piVar18 + -0x24" (cast_expression "(int)piVar18" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "FUN_00074280();" (call_expression "FUN_00074280()" identifier (argument_list "()" ( ))) ;) (expression_statement "piVar18 = (int *)((int)piVar18 + -4);" (assignment_expression "piVar18 = (int *)((int)piVar18 + -4)" identifier = (cast_expression "(int *)((int)piVar18 + -4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar18 + -4)" ( (binary_expression "(int)piVar18 + -4" (cast_expression "(int)piVar18" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) })) (if_statement "if (param_5 != local_b4) {\n          local_c0 = param_4;\n          puVar17 = (undefined1 *)piVar18;\nLAB_000d275e:\n          if (*(int *)(*local_dc + 8) == 0) {\n            *(undefined ***)(puVar17 + -8) = local_b8 + -0x61176;\n            *(undefined4 *)(puVar17 + -0xc) = 0x5c;\n            *(int *)(puVar17 + -0x10) = (int)local_b8 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)(puVar17 + -0x14) = 0xd2f6e;\n            FUN_002446e0();\n          }\n          piVar18 = (int *)puVar17;\n          if (*(char *)(*(int *)(*local_dc + 8) + 0x18b1) != '\0') {\n            local_70 = param_4;\n            iVar19 = *(int *)(param_2 + 0x158) + 0x14;\n            local_6c = param_5;\n            local_68 = local_c0;\n            local_64 = local_b4;\n            iVar3 = *(int *)(*(int *)(param_2 + 0x158) + 0x18);\n            iVar10 = iVar19;\n            if (iVar3 == 0) {\nLAB_000d27f0:\n              local_88 = &local_70;\n              *(undefined *****)(puVar17 + -0x10) = &local_88;\n              *(undefined4 *)(puVar17 + -0x14) = 0xd2811;\n              FUN_000c5e40();\n              iVar11 = local_a8;\n            }\n            else {\n              do {\n                while ((iVar11 = iVar3, *(undefined ***)(iVar11 + 0x10) < param_4 ||\n                       ((param_4 == *(undefined ***)(iVar11 + 0x10) &&\n                        (*(undefined ***)(iVar11 + 0x14) < param_5))))) {\n                  piVar18 = (int *)(iVar11 + 0xc);\n                  iVar3 = *piVar18;\n                  iVar11 = iVar10;\n                  if (*piVar18 == 0) goto LAB_000d27da;\n                }\n                iVar3 = *(int *)(iVar11 + 8);\n                iVar10 = iVar11;\n              } while (*(int *)(iVar11 + 8) != 0);\nLAB_000d27da:\n              if (((iVar19 == iVar11) || (param_4 < *(undefined ***)(iVar11 + 0x10))) ||\n                 ((param_4 == *(undefined ***)(iVar11 + 0x10) &&\n                  (param_5 < *(undefined ***)(iVar11 + 0x14))))) goto LAB_000d27f0;\n            }\n            local_8c = iVar11 + 0x18;\n            *(undefined4 *)(puVar17 + -0xc) = 1;\n            *(undefined4 *)(puVar17 + -0x10) = 0;\n            *(int **)(puVar17 + -0x14) = local_f4;\n            *(undefined ****)(puVar17 + -0x18) = &local_68;\n            *(int *)(puVar17 + -0x1c) = local_8c;\n            *(undefined1 **)(puVar17 + -0x20) = local_e0;\n            *(undefined4 *)(puVar17 + -0x24) = 0xd2840;\n            FUN_00074340();\n            piVar18 = *(int **)(*local_dc + 0xc);\n            if (piVar18 == (int *)0x0) {\n              *(undefined ***)(puVar17 + -0xc) = local_b8 + -0x615c4;\n              *(undefined4 *)(puVar17 + -0x10) = 0x73;\n              *(int *)(puVar17 + -0x14) = (int)local_b8 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n              *(undefined4 *)(puVar17 + -0x18) = 0xd2fad;\n              FUN_002446e0();\n            }\n            iVar19 = *piVar18;\n            *(undefined **)(puVar17 + -0xc) = local_c4;\n            *(undefined ***)(puVar17 + -0x10) = local_b4;\n            *(undefined ***)(puVar17 + -0x14) = local_c0;\n            *(undefined ***)(puVar17 + -0x18) = param_5;\n            *(undefined ***)(puVar17 + -0x1c) = param_4;\n            *(int *)(puVar17 + -0x20) = param_2;\n            *(int **)(puVar17 + -0x24) = piVar18;\n            pcVar4 = *(code **)(iVar19 + 0x104);\n            *(undefined4 *)(puVar17 + -0x28) = 0xd287d;\n            (*pcVar4)();\n            pbVar20 = local_d8;\n            piVar18 = (int *)(puVar17 + -4);\n            if (local_d8 != (byte *)0x0) {\n              local_b4 = &local_2c;\n              local_b0 = &local_34;\n              iVar19 = *(int *)(param_2 + 0x158);\n              *(byte **)(puVar17 + -0x14) = local_d8;\n              local_34 = local_b4;\n              *(undefined4 *)(puVar17 + -0x18) = 0xd28bd;\n              sVar6 = strlen(*(char **)(puVar17 + -0x14));\n              pppuVar5 = local_b0;\n              *(undefined4 *)(puVar17 + -8) = 0;\n              *(byte **)(puVar17 + -0xc) = pbVar20 + sVar6;\n              *(byte **)(puVar17 + -0x10) = pbVar20;\n              *(undefined ****)(puVar17 + -0x14) = local_b0;\n              *(undefined4 *)(puVar17 + -0x18) = 0xd28d2;\n              FUN_00072b90();\n              *(undefined ****)(puVar17 + -0xc) = pppuVar5;\n              *(int *)(puVar17 + -0x10) = iVar19 + 0x44;\n              *(int **)(puVar17 + -0x14) = &local_ac;\n              *(undefined4 *)(puVar17 + -0x18) = 0xd28e6;\n              FUN_00094bd0();\n              iVar19 = local_ac;\n              if (local_34 != local_b4) {\n                *(undefined ***)(puVar17 + -0x18) = local_34;\n                *(undefined4 *)(puVar17 + -0x1c) = 0xd2909;\n                FUN_003ae080();\n              }\n              piVar18 = (int *)(puVar17 + -8);\n              iVar3 = *(int *)(param_2 + 0x158);\n              if (iVar19 != iVar3 + 0x48) {\n                local_34 = param_4;\n                local_30 = param_5;\n                iVar10 = *(int *)(iVar3 + 0x18);\n                iVar11 = iVar3 + 0x14;\n                if (*(int *)(iVar3 + 0x18) == 0) {\nLAB_000d2bd8:\n                  *(undefined *****)(puVar17 + -0x18) = &local_84;\n                  local_84 = local_b0;\n                  *(undefined4 *)(puVar17 + -0x1c) = 0xd2bf6;\n                  FUN_000c5e40();\n                  iVar12 = local_a8;\n                }\n                else {\n                  do {\n                    while ((iVar12 = iVar10, *(undefined ***)(iVar12 + 0x10) < param_4 ||\n                           ((param_4 == *(undefined ***)(iVar12 + 0x10) &&\n                            (*(undefined ***)(iVar12 + 0x14) < param_5))))) {\n                      piVar18 = (int *)(iVar12 + 0xc);\n                      iVar10 = *piVar18;\n                      iVar12 = iVar11;\n                      if (*piVar18 == 0) goto LAB_000d2962;\n                    }\n                    iVar10 = *(int *)(iVar12 + 8);\n                    iVar11 = iVar12;\n                  } while (*(int *)(iVar12 + 8) != 0);\nLAB_000d2962:\n                  if (((iVar12 == iVar3 + 0x14) || (param_4 < *(undefined ***)(iVar12 + 0x10))) ||\n                     ((param_4 == *(undefined ***)(iVar12 + 0x10) &&\n                      (param_5 < *(undefined ***)(iVar12 + 0x14))))) goto LAB_000d2bd8;\n                }\n                piVar18 = (int *)(puVar17 + -8);\n                puVar17 = puVar17 + -8;\n                for (puVar1 = *(undefined4 **)(iVar19 + 0x30); puVar1 != (undefined4 *)0x0;\n                    puVar1 = (undefined4 *)*puVar1) {\n                  *(undefined4 *)(puVar17 + -0xc) = 1;\n                  *(undefined4 *)(puVar17 + -0x10) = 0;\n                  *(int **)(puVar17 + -0x14) = &local_90;\n                  *(undefined4 **)(puVar17 + -0x18) = puVar1 + 1;\n                  *(int *)(puVar17 + -0x1c) = iVar12 + 0x18;\n                  *(undefined1 **)(puVar17 + -0x20) = local_e0;\n                  *(undefined4 *)(puVar17 + -0x24) = 0xd29ae;\n                  local_90 = iVar12 + 0x18;\n                  FUN_00074340();\n                  piVar18 = (int *)(puVar17 + -4);\n                  puVar17 = puVar17 + -4;\n                }\n              }\n            }\n          }\n        }" if (parenthesized_expression "(param_5 != local_b4)" ( (binary_expression "param_5 != local_b4" identifier != identifier) )) (compound_statement "{\n          local_c0 = param_4;\n          puVar17 = (undefined1 *)piVar18;\nLAB_000d275e:\n          if (*(int *)(*local_dc + 8) == 0) {\n            *(undefined ***)(puVar17 + -8) = local_b8 + -0x61176;\n            *(undefined4 *)(puVar17 + -0xc) = 0x5c;\n            *(int *)(puVar17 + -0x10) = (int)local_b8 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)(puVar17 + -0x14) = 0xd2f6e;\n            FUN_002446e0();\n          }\n          piVar18 = (int *)puVar17;\n          if (*(char *)(*(int *)(*local_dc + 8) + 0x18b1) != '\0') {\n            local_70 = param_4;\n            iVar19 = *(int *)(param_2 + 0x158) + 0x14;\n            local_6c = param_5;\n            local_68 = local_c0;\n            local_64 = local_b4;\n            iVar3 = *(int *)(*(int *)(param_2 + 0x158) + 0x18);\n            iVar10 = iVar19;\n            if (iVar3 == 0) {\nLAB_000d27f0:\n              local_88 = &local_70;\n              *(undefined *****)(puVar17 + -0x10) = &local_88;\n              *(undefined4 *)(puVar17 + -0x14) = 0xd2811;\n              FUN_000c5e40();\n              iVar11 = local_a8;\n            }\n            else {\n              do {\n                while ((iVar11 = iVar3, *(undefined ***)(iVar11 + 0x10) < param_4 ||\n                       ((param_4 == *(undefined ***)(iVar11 + 0x10) &&\n                        (*(undefined ***)(iVar11 + 0x14) < param_5))))) {\n                  piVar18 = (int *)(iVar11 + 0xc);\n                  iVar3 = *piVar18;\n                  iVar11 = iVar10;\n                  if (*piVar18 == 0) goto LAB_000d27da;\n                }\n                iVar3 = *(int *)(iVar11 + 8);\n                iVar10 = iVar11;\n              } while (*(int *)(iVar11 + 8) != 0);\nLAB_000d27da:\n              if (((iVar19 == iVar11) || (param_4 < *(undefined ***)(iVar11 + 0x10))) ||\n                 ((param_4 == *(undefined ***)(iVar11 + 0x10) &&\n                  (param_5 < *(undefined ***)(iVar11 + 0x14))))) goto LAB_000d27f0;\n            }\n            local_8c = iVar11 + 0x18;\n            *(undefined4 *)(puVar17 + -0xc) = 1;\n            *(undefined4 *)(puVar17 + -0x10) = 0;\n            *(int **)(puVar17 + -0x14) = local_f4;\n            *(undefined ****)(puVar17 + -0x18) = &local_68;\n            *(int *)(puVar17 + -0x1c) = local_8c;\n            *(undefined1 **)(puVar17 + -0x20) = local_e0;\n            *(undefined4 *)(puVar17 + -0x24) = 0xd2840;\n            FUN_00074340();\n            piVar18 = *(int **)(*local_dc + 0xc);\n            if (piVar18 == (int *)0x0) {\n              *(undefined ***)(puVar17 + -0xc) = local_b8 + -0x615c4;\n              *(undefined4 *)(puVar17 + -0x10) = 0x73;\n              *(int *)(puVar17 + -0x14) = (int)local_b8 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n              *(undefined4 *)(puVar17 + -0x18) = 0xd2fad;\n              FUN_002446e0();\n            }\n            iVar19 = *piVar18;\n            *(undefined **)(puVar17 + -0xc) = local_c4;\n            *(undefined ***)(puVar17 + -0x10) = local_b4;\n            *(undefined ***)(puVar17 + -0x14) = local_c0;\n            *(undefined ***)(puVar17 + -0x18) = param_5;\n            *(undefined ***)(puVar17 + -0x1c) = param_4;\n            *(int *)(puVar17 + -0x20) = param_2;\n            *(int **)(puVar17 + -0x24) = piVar18;\n            pcVar4 = *(code **)(iVar19 + 0x104);\n            *(undefined4 *)(puVar17 + -0x28) = 0xd287d;\n            (*pcVar4)();\n            pbVar20 = local_d8;\n            piVar18 = (int *)(puVar17 + -4);\n            if (local_d8 != (byte *)0x0) {\n              local_b4 = &local_2c;\n              local_b0 = &local_34;\n              iVar19 = *(int *)(param_2 + 0x158);\n              *(byte **)(puVar17 + -0x14) = local_d8;\n              local_34 = local_b4;\n              *(undefined4 *)(puVar17 + -0x18) = 0xd28bd;\n              sVar6 = strlen(*(char **)(puVar17 + -0x14));\n              pppuVar5 = local_b0;\n              *(undefined4 *)(puVar17 + -8) = 0;\n              *(byte **)(puVar17 + -0xc) = pbVar20 + sVar6;\n              *(byte **)(puVar17 + -0x10) = pbVar20;\n              *(undefined ****)(puVar17 + -0x14) = local_b0;\n              *(undefined4 *)(puVar17 + -0x18) = 0xd28d2;\n              FUN_00072b90();\n              *(undefined ****)(puVar17 + -0xc) = pppuVar5;\n              *(int *)(puVar17 + -0x10) = iVar19 + 0x44;\n              *(int **)(puVar17 + -0x14) = &local_ac;\n              *(undefined4 *)(puVar17 + -0x18) = 0xd28e6;\n              FUN_00094bd0();\n              iVar19 = local_ac;\n              if (local_34 != local_b4) {\n                *(undefined ***)(puVar17 + -0x18) = local_34;\n                *(undefined4 *)(puVar17 + -0x1c) = 0xd2909;\n                FUN_003ae080();\n              }\n              piVar18 = (int *)(puVar17 + -8);\n              iVar3 = *(int *)(param_2 + 0x158);\n              if (iVar19 != iVar3 + 0x48) {\n                local_34 = param_4;\n                local_30 = param_5;\n                iVar10 = *(int *)(iVar3 + 0x18);\n                iVar11 = iVar3 + 0x14;\n                if (*(int *)(iVar3 + 0x18) == 0) {\nLAB_000d2bd8:\n                  *(undefined *****)(puVar17 + -0x18) = &local_84;\n                  local_84 = local_b0;\n                  *(undefined4 *)(puVar17 + -0x1c) = 0xd2bf6;\n                  FUN_000c5e40();\n                  iVar12 = local_a8;\n                }\n                else {\n                  do {\n                    while ((iVar12 = iVar10, *(undefined ***)(iVar12 + 0x10) < param_4 ||\n                           ((param_4 == *(undefined ***)(iVar12 + 0x10) &&\n                            (*(undefined ***)(iVar12 + 0x14) < param_5))))) {\n                      piVar18 = (int *)(iVar12 + 0xc);\n                      iVar10 = *piVar18;\n                      iVar12 = iVar11;\n                      if (*piVar18 == 0) goto LAB_000d2962;\n                    }\n                    iVar10 = *(int *)(iVar12 + 8);\n                    iVar11 = iVar12;\n                  } while (*(int *)(iVar12 + 8) != 0);\nLAB_000d2962:\n                  if (((iVar12 == iVar3 + 0x14) || (param_4 < *(undefined ***)(iVar12 + 0x10))) ||\n                     ((param_4 == *(undefined ***)(iVar12 + 0x10) &&\n                      (param_5 < *(undefined ***)(iVar12 + 0x14))))) goto LAB_000d2bd8;\n                }\n                piVar18 = (int *)(puVar17 + -8);\n                puVar17 = puVar17 + -8;\n                for (puVar1 = *(undefined4 **)(iVar19 + 0x30); puVar1 != (undefined4 *)0x0;\n                    puVar1 = (undefined4 *)*puVar1) {\n                  *(undefined4 *)(puVar17 + -0xc) = 1;\n                  *(undefined4 *)(puVar17 + -0x10) = 0;\n                  *(int **)(puVar17 + -0x14) = &local_90;\n                  *(undefined4 **)(puVar17 + -0x18) = puVar1 + 1;\n                  *(int *)(puVar17 + -0x1c) = iVar12 + 0x18;\n                  *(undefined1 **)(puVar17 + -0x20) = local_e0;\n                  *(undefined4 *)(puVar17 + -0x24) = 0xd29ae;\n                  local_90 = iVar12 + 0x18;\n                  FUN_00074340();\n                  piVar18 = (int *)(puVar17 + -4);\n                  puVar17 = puVar17 + -4;\n                }\n              }\n            }\n          }\n        }" { (expression_statement "local_c0 = param_4;" (assignment_expression "local_c0 = param_4" identifier = identifier) ;) (expression_statement "puVar17 = (undefined1 *)piVar18;" (assignment_expression "puVar17 = (undefined1 *)piVar18" identifier = (cast_expression "(undefined1 *)piVar18" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (labeled_statement "LAB_000d275e:\n          if (*(int *)(*local_dc + 8) == 0) {\n            *(undefined ***)(puVar17 + -8) = local_b8 + -0x61176;\n            *(undefined4 *)(puVar17 + -0xc) = 0x5c;\n            *(int *)(puVar17 + -0x10) = (int)local_b8 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)(puVar17 + -0x14) = 0xd2f6e;\n            FUN_002446e0();\n          }" statement_identifier : (if_statement "if (*(int *)(*local_dc + 8) == 0) {\n            *(undefined ***)(puVar17 + -8) = local_b8 + -0x61176;\n            *(undefined4 *)(puVar17 + -0xc) = 0x5c;\n            *(int *)(puVar17 + -0x10) = (int)local_b8 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)(puVar17 + -0x14) = 0xd2f6e;\n            FUN_002446e0();\n          }" if (parenthesized_expression "(*(int *)(*local_dc + 8) == 0)" ( (binary_expression "*(int *)(*local_dc + 8) == 0" (pointer_expression "*(int *)(*local_dc + 8)" * (cast_expression "(int *)(*local_dc + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*local_dc + 8)" ( (binary_expression "*local_dc + 8" (pointer_expression "*local_dc" * identifier) + number_literal) )))) == number_literal) )) (compound_statement "{\n            *(undefined ***)(puVar17 + -8) = local_b8 + -0x61176;\n            *(undefined4 *)(puVar17 + -0xc) = 0x5c;\n            *(int *)(puVar17 + -0x10) = (int)local_b8 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)(puVar17 + -0x14) = 0xd2f6e;\n            FUN_002446e0();\n          }" { (expression_statement "*(undefined ***)(puVar17 + -8) = local_b8 + -0x61176;" (assignment_expression "*(undefined ***)(puVar17 + -8) = local_b8 + -0x61176" (pointer_expression "*(undefined ***)(puVar17 + -8)" * (cast_expression "(undefined ***)(puVar17 + -8)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar17 + -8)" ( (binary_expression "puVar17 + -8" identifier + number_literal) )))) = (binary_expression "local_b8 + -0x61176" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar17 + -0xc) = 0x5c;" (assignment_expression "*(undefined4 *)(puVar17 + -0xc) = 0x5c" (pointer_expression "*(undefined4 *)(puVar17 + -0xc)" * (cast_expression "(undefined4 *)(puVar17 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0xc)" ( (binary_expression "puVar17 + -0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)(puVar17 + -0x10) = (int)local_b8 + -0x1a1d93;" (assignment_expression "*(int *)(puVar17 + -0x10) = (int)local_b8 + -0x1a1d93" (pointer_expression "*(int *)(puVar17 + -0x10)" * (cast_expression "(int *)(puVar17 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x10)" ( (binary_expression "puVar17 + -0x10" identifier + number_literal) )))) = (binary_expression "(int)local_b8 + -0x1a1d93" (cast_expression "(int)local_b8" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) comment (expression_statement "*(undefined4 *)(puVar17 + -0x14) = 0xd2f6e;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0xd2f6e" (pointer_expression "*(undefined4 *)(puVar17 + -0x14)" * (cast_expression "(undefined4 *)(puVar17 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x14)" ( (binary_expression "puVar17 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_002446e0();" (call_expression "FUN_002446e0()" identifier (argument_list "()" ( ))) ;) }))) (expression_statement "piVar18 = (int *)puVar17;" (assignment_expression "piVar18 = (int *)puVar17" identifier = (cast_expression "(int *)puVar17" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) (if_statement "if (*(char *)(*(int *)(*local_dc + 8) + 0x18b1) != '\0') {\n            local_70 = param_4;\n            iVar19 = *(int *)(param_2 + 0x158) + 0x14;\n            local_6c = param_5;\n            local_68 = local_c0;\n            local_64 = local_b4;\n            iVar3 = *(int *)(*(int *)(param_2 + 0x158) + 0x18);\n            iVar10 = iVar19;\n            if (iVar3 == 0) {\nLAB_000d27f0:\n              local_88 = &local_70;\n              *(undefined *****)(puVar17 + -0x10) = &local_88;\n              *(undefined4 *)(puVar17 + -0x14) = 0xd2811;\n              FUN_000c5e40();\n              iVar11 = local_a8;\n            }\n            else {\n              do {\n                while ((iVar11 = iVar3, *(undefined ***)(iVar11 + 0x10) < param_4 ||\n                       ((param_4 == *(undefined ***)(iVar11 + 0x10) &&\n                        (*(undefined ***)(iVar11 + 0x14) < param_5))))) {\n                  piVar18 = (int *)(iVar11 + 0xc);\n                  iVar3 = *piVar18;\n                  iVar11 = iVar10;\n                  if (*piVar18 == 0) goto LAB_000d27da;\n                }\n                iVar3 = *(int *)(iVar11 + 8);\n                iVar10 = iVar11;\n              } while (*(int *)(iVar11 + 8) != 0);\nLAB_000d27da:\n              if (((iVar19 == iVar11) || (param_4 < *(undefined ***)(iVar11 + 0x10))) ||\n                 ((param_4 == *(undefined ***)(iVar11 + 0x10) &&\n                  (param_5 < *(undefined ***)(iVar11 + 0x14))))) goto LAB_000d27f0;\n            }\n            local_8c = iVar11 + 0x18;\n            *(undefined4 *)(puVar17 + -0xc) = 1;\n            *(undefined4 *)(puVar17 + -0x10) = 0;\n            *(int **)(puVar17 + -0x14) = local_f4;\n            *(undefined ****)(puVar17 + -0x18) = &local_68;\n            *(int *)(puVar17 + -0x1c) = local_8c;\n            *(undefined1 **)(puVar17 + -0x20) = local_e0;\n            *(undefined4 *)(puVar17 + -0x24) = 0xd2840;\n            FUN_00074340();\n            piVar18 = *(int **)(*local_dc + 0xc);\n            if (piVar18 == (int *)0x0) {\n              *(undefined ***)(puVar17 + -0xc) = local_b8 + -0x615c4;\n              *(undefined4 *)(puVar17 + -0x10) = 0x73;\n              *(int *)(puVar17 + -0x14) = (int)local_b8 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n              *(undefined4 *)(puVar17 + -0x18) = 0xd2fad;\n              FUN_002446e0();\n            }\n            iVar19 = *piVar18;\n            *(undefined **)(puVar17 + -0xc) = local_c4;\n            *(undefined ***)(puVar17 + -0x10) = local_b4;\n            *(undefined ***)(puVar17 + -0x14) = local_c0;\n            *(undefined ***)(puVar17 + -0x18) = param_5;\n            *(undefined ***)(puVar17 + -0x1c) = param_4;\n            *(int *)(puVar17 + -0x20) = param_2;\n            *(int **)(puVar17 + -0x24) = piVar18;\n            pcVar4 = *(code **)(iVar19 + 0x104);\n            *(undefined4 *)(puVar17 + -0x28) = 0xd287d;\n            (*pcVar4)();\n            pbVar20 = local_d8;\n            piVar18 = (int *)(puVar17 + -4);\n            if (local_d8 != (byte *)0x0) {\n              local_b4 = &local_2c;\n              local_b0 = &local_34;\n              iVar19 = *(int *)(param_2 + 0x158);\n              *(byte **)(puVar17 + -0x14) = local_d8;\n              local_34 = local_b4;\n              *(undefined4 *)(puVar17 + -0x18) = 0xd28bd;\n              sVar6 = strlen(*(char **)(puVar17 + -0x14));\n              pppuVar5 = local_b0;\n              *(undefined4 *)(puVar17 + -8) = 0;\n              *(byte **)(puVar17 + -0xc) = pbVar20 + sVar6;\n              *(byte **)(puVar17 + -0x10) = pbVar20;\n              *(undefined ****)(puVar17 + -0x14) = local_b0;\n              *(undefined4 *)(puVar17 + -0x18) = 0xd28d2;\n              FUN_00072b90();\n              *(undefined ****)(puVar17 + -0xc) = pppuVar5;\n              *(int *)(puVar17 + -0x10) = iVar19 + 0x44;\n              *(int **)(puVar17 + -0x14) = &local_ac;\n              *(undefined4 *)(puVar17 + -0x18) = 0xd28e6;\n              FUN_00094bd0();\n              iVar19 = local_ac;\n              if (local_34 != local_b4) {\n                *(undefined ***)(puVar17 + -0x18) = local_34;\n                *(undefined4 *)(puVar17 + -0x1c) = 0xd2909;\n                FUN_003ae080();\n              }\n              piVar18 = (int *)(puVar17 + -8);\n              iVar3 = *(int *)(param_2 + 0x158);\n              if (iVar19 != iVar3 + 0x48) {\n                local_34 = param_4;\n                local_30 = param_5;\n                iVar10 = *(int *)(iVar3 + 0x18);\n                iVar11 = iVar3 + 0x14;\n                if (*(int *)(iVar3 + 0x18) == 0) {\nLAB_000d2bd8:\n                  *(undefined *****)(puVar17 + -0x18) = &local_84;\n                  local_84 = local_b0;\n                  *(undefined4 *)(puVar17 + -0x1c) = 0xd2bf6;\n                  FUN_000c5e40();\n                  iVar12 = local_a8;\n                }\n                else {\n                  do {\n                    while ((iVar12 = iVar10, *(undefined ***)(iVar12 + 0x10) < param_4 ||\n                           ((param_4 == *(undefined ***)(iVar12 + 0x10) &&\n                            (*(undefined ***)(iVar12 + 0x14) < param_5))))) {\n                      piVar18 = (int *)(iVar12 + 0xc);\n                      iVar10 = *piVar18;\n                      iVar12 = iVar11;\n                      if (*piVar18 == 0) goto LAB_000d2962;\n                    }\n                    iVar10 = *(int *)(iVar12 + 8);\n                    iVar11 = iVar12;\n                  } while (*(int *)(iVar12 + 8) != 0);\nLAB_000d2962:\n                  if (((iVar12 == iVar3 + 0x14) || (param_4 < *(undefined ***)(iVar12 + 0x10))) ||\n                     ((param_4 == *(undefined ***)(iVar12 + 0x10) &&\n                      (param_5 < *(undefined ***)(iVar12 + 0x14))))) goto LAB_000d2bd8;\n                }\n                piVar18 = (int *)(puVar17 + -8);\n                puVar17 = puVar17 + -8;\n                for (puVar1 = *(undefined4 **)(iVar19 + 0x30); puVar1 != (undefined4 *)0x0;\n                    puVar1 = (undefined4 *)*puVar1) {\n                  *(undefined4 *)(puVar17 + -0xc) = 1;\n                  *(undefined4 *)(puVar17 + -0x10) = 0;\n                  *(int **)(puVar17 + -0x14) = &local_90;\n                  *(undefined4 **)(puVar17 + -0x18) = puVar1 + 1;\n                  *(int *)(puVar17 + -0x1c) = iVar12 + 0x18;\n                  *(undefined1 **)(puVar17 + -0x20) = local_e0;\n                  *(undefined4 *)(puVar17 + -0x24) = 0xd29ae;\n                  local_90 = iVar12 + 0x18;\n                  FUN_00074340();\n                  piVar18 = (int *)(puVar17 + -4);\n                  puVar17 = puVar17 + -4;\n                }\n              }\n            }\n          }" if (parenthesized_expression "(*(char *)(*(int *)(*local_dc + 8) + 0x18b1) != '\0')" ( (binary_expression "*(char *)(*(int *)(*local_dc + 8) + 0x18b1) != '\0'" (pointer_expression "*(char *)(*(int *)(*local_dc + 8) + 0x18b1)" * (cast_expression "(char *)(*(int *)(*local_dc + 8) + 0x18b1)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(*local_dc + 8) + 0x18b1)" ( (binary_expression "*(int *)(*local_dc + 8) + 0x18b1" (pointer_expression "*(int *)(*local_dc + 8)" * (cast_expression "(int *)(*local_dc + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*local_dc + 8)" ( (binary_expression "*local_dc + 8" (pointer_expression "*local_dc" * identifier) + number_literal) )))) + number_literal) )))) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n            local_70 = param_4;\n            iVar19 = *(int *)(param_2 + 0x158) + 0x14;\n            local_6c = param_5;\n            local_68 = local_c0;\n            local_64 = local_b4;\n            iVar3 = *(int *)(*(int *)(param_2 + 0x158) + 0x18);\n            iVar10 = iVar19;\n            if (iVar3 == 0) {\nLAB_000d27f0:\n              local_88 = &local_70;\n              *(undefined *****)(puVar17 + -0x10) = &local_88;\n              *(undefined4 *)(puVar17 + -0x14) = 0xd2811;\n              FUN_000c5e40();\n              iVar11 = local_a8;\n            }\n            else {\n              do {\n                while ((iVar11 = iVar3, *(undefined ***)(iVar11 + 0x10) < param_4 ||\n                       ((param_4 == *(undefined ***)(iVar11 + 0x10) &&\n                        (*(undefined ***)(iVar11 + 0x14) < param_5))))) {\n                  piVar18 = (int *)(iVar11 + 0xc);\n                  iVar3 = *piVar18;\n                  iVar11 = iVar10;\n                  if (*piVar18 == 0) goto LAB_000d27da;\n                }\n                iVar3 = *(int *)(iVar11 + 8);\n                iVar10 = iVar11;\n              } while (*(int *)(iVar11 + 8) != 0);\nLAB_000d27da:\n              if (((iVar19 == iVar11) || (param_4 < *(undefined ***)(iVar11 + 0x10))) ||\n                 ((param_4 == *(undefined ***)(iVar11 + 0x10) &&\n                  (param_5 < *(undefined ***)(iVar11 + 0x14))))) goto LAB_000d27f0;\n            }\n            local_8c = iVar11 + 0x18;\n            *(undefined4 *)(puVar17 + -0xc) = 1;\n            *(undefined4 *)(puVar17 + -0x10) = 0;\n            *(int **)(puVar17 + -0x14) = local_f4;\n            *(undefined ****)(puVar17 + -0x18) = &local_68;\n            *(int *)(puVar17 + -0x1c) = local_8c;\n            *(undefined1 **)(puVar17 + -0x20) = local_e0;\n            *(undefined4 *)(puVar17 + -0x24) = 0xd2840;\n            FUN_00074340();\n            piVar18 = *(int **)(*local_dc + 0xc);\n            if (piVar18 == (int *)0x0) {\n              *(undefined ***)(puVar17 + -0xc) = local_b8 + -0x615c4;\n              *(undefined4 *)(puVar17 + -0x10) = 0x73;\n              *(int *)(puVar17 + -0x14) = (int)local_b8 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n              *(undefined4 *)(puVar17 + -0x18) = 0xd2fad;\n              FUN_002446e0();\n            }\n            iVar19 = *piVar18;\n            *(undefined **)(puVar17 + -0xc) = local_c4;\n            *(undefined ***)(puVar17 + -0x10) = local_b4;\n            *(undefined ***)(puVar17 + -0x14) = local_c0;\n            *(undefined ***)(puVar17 + -0x18) = param_5;\n            *(undefined ***)(puVar17 + -0x1c) = param_4;\n            *(int *)(puVar17 + -0x20) = param_2;\n            *(int **)(puVar17 + -0x24) = piVar18;\n            pcVar4 = *(code **)(iVar19 + 0x104);\n            *(undefined4 *)(puVar17 + -0x28) = 0xd287d;\n            (*pcVar4)();\n            pbVar20 = local_d8;\n            piVar18 = (int *)(puVar17 + -4);\n            if (local_d8 != (byte *)0x0) {\n              local_b4 = &local_2c;\n              local_b0 = &local_34;\n              iVar19 = *(int *)(param_2 + 0x158);\n              *(byte **)(puVar17 + -0x14) = local_d8;\n              local_34 = local_b4;\n              *(undefined4 *)(puVar17 + -0x18) = 0xd28bd;\n              sVar6 = strlen(*(char **)(puVar17 + -0x14));\n              pppuVar5 = local_b0;\n              *(undefined4 *)(puVar17 + -8) = 0;\n              *(byte **)(puVar17 + -0xc) = pbVar20 + sVar6;\n              *(byte **)(puVar17 + -0x10) = pbVar20;\n              *(undefined ****)(puVar17 + -0x14) = local_b0;\n              *(undefined4 *)(puVar17 + -0x18) = 0xd28d2;\n              FUN_00072b90();\n              *(undefined ****)(puVar17 + -0xc) = pppuVar5;\n              *(int *)(puVar17 + -0x10) = iVar19 + 0x44;\n              *(int **)(puVar17 + -0x14) = &local_ac;\n              *(undefined4 *)(puVar17 + -0x18) = 0xd28e6;\n              FUN_00094bd0();\n              iVar19 = local_ac;\n              if (local_34 != local_b4) {\n                *(undefined ***)(puVar17 + -0x18) = local_34;\n                *(undefined4 *)(puVar17 + -0x1c) = 0xd2909;\n                FUN_003ae080();\n              }\n              piVar18 = (int *)(puVar17 + -8);\n              iVar3 = *(int *)(param_2 + 0x158);\n              if (iVar19 != iVar3 + 0x48) {\n                local_34 = param_4;\n                local_30 = param_5;\n                iVar10 = *(int *)(iVar3 + 0x18);\n                iVar11 = iVar3 + 0x14;\n                if (*(int *)(iVar3 + 0x18) == 0) {\nLAB_000d2bd8:\n                  *(undefined *****)(puVar17 + -0x18) = &local_84;\n                  local_84 = local_b0;\n                  *(undefined4 *)(puVar17 + -0x1c) = 0xd2bf6;\n                  FUN_000c5e40();\n                  iVar12 = local_a8;\n                }\n                else {\n                  do {\n                    while ((iVar12 = iVar10, *(undefined ***)(iVar12 + 0x10) < param_4 ||\n                           ((param_4 == *(undefined ***)(iVar12 + 0x10) &&\n                            (*(undefined ***)(iVar12 + 0x14) < param_5))))) {\n                      piVar18 = (int *)(iVar12 + 0xc);\n                      iVar10 = *piVar18;\n                      iVar12 = iVar11;\n                      if (*piVar18 == 0) goto LAB_000d2962;\n                    }\n                    iVar10 = *(int *)(iVar12 + 8);\n                    iVar11 = iVar12;\n                  } while (*(int *)(iVar12 + 8) != 0);\nLAB_000d2962:\n                  if (((iVar12 == iVar3 + 0x14) || (param_4 < *(undefined ***)(iVar12 + 0x10))) ||\n                     ((param_4 == *(undefined ***)(iVar12 + 0x10) &&\n                      (param_5 < *(undefined ***)(iVar12 + 0x14))))) goto LAB_000d2bd8;\n                }\n                piVar18 = (int *)(puVar17 + -8);\n                puVar17 = puVar17 + -8;\n                for (puVar1 = *(undefined4 **)(iVar19 + 0x30); puVar1 != (undefined4 *)0x0;\n                    puVar1 = (undefined4 *)*puVar1) {\n                  *(undefined4 *)(puVar17 + -0xc) = 1;\n                  *(undefined4 *)(puVar17 + -0x10) = 0;\n                  *(int **)(puVar17 + -0x14) = &local_90;\n                  *(undefined4 **)(puVar17 + -0x18) = puVar1 + 1;\n                  *(int *)(puVar17 + -0x1c) = iVar12 + 0x18;\n                  *(undefined1 **)(puVar17 + -0x20) = local_e0;\n                  *(undefined4 *)(puVar17 + -0x24) = 0xd29ae;\n                  local_90 = iVar12 + 0x18;\n                  FUN_00074340();\n                  piVar18 = (int *)(puVar17 + -4);\n                  puVar17 = puVar17 + -4;\n                }\n              }\n            }\n          }" { (expression_statement "local_70 = param_4;" (assignment_expression "local_70 = param_4" identifier = identifier) ;) (expression_statement "iVar19 = *(int *)(param_2 + 0x158) + 0x14;" (assignment_expression "iVar19 = *(int *)(param_2 + 0x158) + 0x14" identifier = (binary_expression "*(int *)(param_2 + 0x158) + 0x14" (pointer_expression "*(int *)(param_2 + 0x158)" * (cast_expression "(int *)(param_2 + 0x158)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x158)" ( (binary_expression "param_2 + 0x158" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "local_6c = param_5;" (assignment_expression "local_6c = param_5" identifier = identifier) ;) (expression_statement "local_68 = local_c0;" (assignment_expression "local_68 = local_c0" identifier = identifier) ;) (expression_statement "local_64 = local_b4;" (assignment_expression "local_64 = local_b4" identifier = identifier) ;) (expression_statement "iVar3 = *(int *)(*(int *)(param_2 + 0x158) + 0x18);" (assignment_expression "iVar3 = *(int *)(*(int *)(param_2 + 0x158) + 0x18)" identifier = (pointer_expression "*(int *)(*(int *)(param_2 + 0x158) + 0x18)" * (cast_expression "(int *)(*(int *)(param_2 + 0x158) + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(param_2 + 0x158) + 0x18)" ( (binary_expression "*(int *)(param_2 + 0x158) + 0x18" (pointer_expression "*(int *)(param_2 + 0x158)" * (cast_expression "(int *)(param_2 + 0x158)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x158)" ( (binary_expression "param_2 + 0x158" identifier + number_literal) )))) + number_literal) ))))) ;) (expression_statement "iVar10 = iVar19;" (assignment_expression "iVar10 = iVar19" identifier = identifier) ;) (if_statement "if (iVar3 == 0) {\nLAB_000d27f0:\n              local_88 = &local_70;\n              *(undefined *****)(puVar17 + -0x10) = &local_88;\n              *(undefined4 *)(puVar17 + -0x14) = 0xd2811;\n              FUN_000c5e40();\n              iVar11 = local_a8;\n            }\n            else {\n              do {\n                while ((iVar11 = iVar3, *(undefined ***)(iVar11 + 0x10) < param_4 ||\n                       ((param_4 == *(undefined ***)(iVar11 + 0x10) &&\n                        (*(undefined ***)(iVar11 + 0x14) < param_5))))) {\n                  piVar18 = (int *)(iVar11 + 0xc);\n                  iVar3 = *piVar18;\n                  iVar11 = iVar10;\n                  if (*piVar18 == 0) goto LAB_000d27da;\n                }\n                iVar3 = *(int *)(iVar11 + 8);\n                iVar10 = iVar11;\n              } while (*(int *)(iVar11 + 8) != 0);\nLAB_000d27da:\n              if (((iVar19 == iVar11) || (param_4 < *(undefined ***)(iVar11 + 0x10))) ||\n                 ((param_4 == *(undefined ***)(iVar11 + 0x10) &&\n                  (param_5 < *(undefined ***)(iVar11 + 0x14))))) goto LAB_000d27f0;\n            }" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (compound_statement "{\nLAB_000d27f0:\n              local_88 = &local_70;\n              *(undefined *****)(puVar17 + -0x10) = &local_88;\n              *(undefined4 *)(puVar17 + -0x14) = 0xd2811;\n              FUN_000c5e40();\n              iVar11 = local_a8;\n            }" { (labeled_statement "LAB_000d27f0:\n              local_88 = &local_70;" statement_identifier : (expression_statement "local_88 = &local_70;" (assignment_expression "local_88 = &local_70" identifier = (pointer_expression "&local_70" & identifier)) ;)) (expression_statement "*(undefined *****)(puVar17 + -0x10) = &local_88;" (assignment_expression "*(undefined *****)(puVar17 + -0x10) = &local_88" (pointer_expression "*(undefined *****)(puVar17 + -0x10)" * (cast_expression "(undefined *****)(puVar17 + -0x10)" ( (type_descriptor "undefined *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (parenthesized_expression "(puVar17 + -0x10)" ( (binary_expression "puVar17 + -0x10" identifier + number_literal) )))) = (pointer_expression "&local_88" & identifier)) ;) (expression_statement "*(undefined4 *)(puVar17 + -0x14) = 0xd2811;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0xd2811" (pointer_expression "*(undefined4 *)(puVar17 + -0x14)" * (cast_expression "(undefined4 *)(puVar17 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x14)" ( (binary_expression "puVar17 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_000c5e40();" (call_expression "FUN_000c5e40()" identifier (argument_list "()" ( ))) ;) (expression_statement "iVar11 = local_a8;" (assignment_expression "iVar11 = local_a8" identifier = identifier) ;) }) (else_clause "else {\n              do {\n                while ((iVar11 = iVar3, *(undefined ***)(iVar11 + 0x10) < param_4 ||\n                       ((param_4 == *(undefined ***)(iVar11 + 0x10) &&\n                        (*(undefined ***)(iVar11 + 0x14) < param_5))))) {\n                  piVar18 = (int *)(iVar11 + 0xc);\n                  iVar3 = *piVar18;\n                  iVar11 = iVar10;\n                  if (*piVar18 == 0) goto LAB_000d27da;\n                }\n                iVar3 = *(int *)(iVar11 + 8);\n                iVar10 = iVar11;\n              } while (*(int *)(iVar11 + 8) != 0);\nLAB_000d27da:\n              if (((iVar19 == iVar11) || (param_4 < *(undefined ***)(iVar11 + 0x10))) ||\n                 ((param_4 == *(undefined ***)(iVar11 + 0x10) &&\n                  (param_5 < *(undefined ***)(iVar11 + 0x14))))) goto LAB_000d27f0;\n            }" else (compound_statement "{\n              do {\n                while ((iVar11 = iVar3, *(undefined ***)(iVar11 + 0x10) < param_4 ||\n                       ((param_4 == *(undefined ***)(iVar11 + 0x10) &&\n                        (*(undefined ***)(iVar11 + 0x14) < param_5))))) {\n                  piVar18 = (int *)(iVar11 + 0xc);\n                  iVar3 = *piVar18;\n                  iVar11 = iVar10;\n                  if (*piVar18 == 0) goto LAB_000d27da;\n                }\n                iVar3 = *(int *)(iVar11 + 8);\n                iVar10 = iVar11;\n              } while (*(int *)(iVar11 + 8) != 0);\nLAB_000d27da:\n              if (((iVar19 == iVar11) || (param_4 < *(undefined ***)(iVar11 + 0x10))) ||\n                 ((param_4 == *(undefined ***)(iVar11 + 0x10) &&\n                  (param_5 < *(undefined ***)(iVar11 + 0x14))))) goto LAB_000d27f0;\n            }" { (do_statement "do {\n                while ((iVar11 = iVar3, *(undefined ***)(iVar11 + 0x10) < param_4 ||\n                       ((param_4 == *(undefined ***)(iVar11 + 0x10) &&\n                        (*(undefined ***)(iVar11 + 0x14) < param_5))))) {\n                  piVar18 = (int *)(iVar11 + 0xc);\n                  iVar3 = *piVar18;\n                  iVar11 = iVar10;\n                  if (*piVar18 == 0) goto LAB_000d27da;\n                }\n                iVar3 = *(int *)(iVar11 + 8);\n                iVar10 = iVar11;\n              } while (*(int *)(iVar11 + 8) != 0);" do (compound_statement "{\n                while ((iVar11 = iVar3, *(undefined ***)(iVar11 + 0x10) < param_4 ||\n                       ((param_4 == *(undefined ***)(iVar11 + 0x10) &&\n                        (*(undefined ***)(iVar11 + 0x14) < param_5))))) {\n                  piVar18 = (int *)(iVar11 + 0xc);\n                  iVar3 = *piVar18;\n                  iVar11 = iVar10;\n                  if (*piVar18 == 0) goto LAB_000d27da;\n                }\n                iVar3 = *(int *)(iVar11 + 8);\n                iVar10 = iVar11;\n              }" { (while_statement "while ((iVar11 = iVar3, *(undefined ***)(iVar11 + 0x10) < param_4 ||\n                       ((param_4 == *(undefined ***)(iVar11 + 0x10) &&\n                        (*(undefined ***)(iVar11 + 0x14) < param_5))))) {\n                  piVar18 = (int *)(iVar11 + 0xc);\n                  iVar3 = *piVar18;\n                  iVar11 = iVar10;\n                  if (*piVar18 == 0) goto LAB_000d27da;\n                }" while (parenthesized_expression "((iVar11 = iVar3, *(undefined ***)(iVar11 + 0x10) < param_4 ||\n                       ((param_4 == *(undefined ***)(iVar11 + 0x10) &&\n                        (*(undefined ***)(iVar11 + 0x14) < param_5)))))" ( (parenthesized_expression "(iVar11 = iVar3, *(undefined ***)(iVar11 + 0x10) < param_4 ||\n                       ((param_4 == *(undefined ***)(iVar11 + 0x10) &&\n                        (*(undefined ***)(iVar11 + 0x14) < param_5))))" ( (comma_expression "iVar11 = iVar3, *(undefined ***)(iVar11 + 0x10) < param_4 ||\n                       ((param_4 == *(undefined ***)(iVar11 + 0x10) &&\n                        (*(undefined ***)(iVar11 + 0x14) < param_5)))" (assignment_expression "iVar11 = iVar3" identifier = identifier) , (binary_expression "*(undefined ***)(iVar11 + 0x10) < param_4 ||\n                       ((param_4 == *(undefined ***)(iVar11 + 0x10) &&\n                        (*(undefined ***)(iVar11 + 0x14) < param_5)))" (binary_expression "*(undefined ***)(iVar11 + 0x10) < param_4" (pointer_expression "*(undefined ***)(iVar11 + 0x10)" * (cast_expression "(undefined ***)(iVar11 + 0x10)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(iVar11 + 0x10)" ( (binary_expression "iVar11 + 0x10" identifier + number_literal) )))) < identifier) || (parenthesized_expression "((param_4 == *(undefined ***)(iVar11 + 0x10) &&\n                        (*(undefined ***)(iVar11 + 0x14) < param_5)))" ( (parenthesized_expression "(param_4 == *(undefined ***)(iVar11 + 0x10) &&\n                        (*(undefined ***)(iVar11 + 0x14) < param_5))" ( (binary_expression "param_4 == *(undefined ***)(iVar11 + 0x10) &&\n                        (*(undefined ***)(iVar11 + 0x14) < param_5)" (binary_expression "param_4 == *(undefined ***)(iVar11 + 0x10)" identifier == (pointer_expression "*(undefined ***)(iVar11 + 0x10)" * (cast_expression "(undefined ***)(iVar11 + 0x10)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(iVar11 + 0x10)" ( (binary_expression "iVar11 + 0x10" identifier + number_literal) ))))) && (parenthesized_expression "(*(undefined ***)(iVar11 + 0x14) < param_5)" ( (binary_expression "*(undefined ***)(iVar11 + 0x14) < param_5" (pointer_expression "*(undefined ***)(iVar11 + 0x14)" * (cast_expression "(undefined ***)(iVar11 + 0x14)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(iVar11 + 0x14)" ( (binary_expression "iVar11 + 0x14" identifier + number_literal) )))) < identifier) ))) )) )))) )) )) (compound_statement "{\n                  piVar18 = (int *)(iVar11 + 0xc);\n                  iVar3 = *piVar18;\n                  iVar11 = iVar10;\n                  if (*piVar18 == 0) goto LAB_000d27da;\n                }" { (expression_statement "piVar18 = (int *)(iVar11 + 0xc);" (assignment_expression "piVar18 = (int *)(iVar11 + 0xc)" identifier = (cast_expression "(int *)(iVar11 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0xc)" ( (binary_expression "iVar11 + 0xc" identifier + number_literal) )))) ;) (expression_statement "iVar3 = *piVar18;" (assignment_expression "iVar3 = *piVar18" identifier = (pointer_expression "*piVar18" * identifier)) ;) (expression_statement "iVar11 = iVar10;" (assignment_expression "iVar11 = iVar10" identifier = identifier) ;) (if_statement "if (*piVar18 == 0) goto LAB_000d27da;" if (parenthesized_expression "(*piVar18 == 0)" ( (binary_expression "*piVar18 == 0" (pointer_expression "*piVar18" * identifier) == number_literal) )) (goto_statement "goto LAB_000d27da;" goto statement_identifier ;)) })) (expression_statement "iVar3 = *(int *)(iVar11 + 8);" (assignment_expression "iVar3 = *(int *)(iVar11 + 8)" identifier = (pointer_expression "*(int *)(iVar11 + 8)" * (cast_expression "(int *)(iVar11 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 8)" ( (binary_expression "iVar11 + 8" identifier + number_literal) ))))) ;) (expression_statement "iVar10 = iVar11;" (assignment_expression "iVar10 = iVar11" identifier = identifier) ;) }) while (parenthesized_expression "(*(int *)(iVar11 + 8) != 0)" ( (binary_expression "*(int *)(iVar11 + 8) != 0" (pointer_expression "*(int *)(iVar11 + 8)" * (cast_expression "(int *)(iVar11 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 8)" ( (binary_expression "iVar11 + 8" identifier + number_literal) )))) != number_literal) )) ;) (labeled_statement "LAB_000d27da:\n              if (((iVar19 == iVar11) || (param_4 < *(undefined ***)(iVar11 + 0x10))) ||\n                 ((param_4 == *(undefined ***)(iVar11 + 0x10) &&\n                  (param_5 < *(undefined ***)(iVar11 + 0x14))))) goto LAB_000d27f0;" statement_identifier : (if_statement "if (((iVar19 == iVar11) || (param_4 < *(undefined ***)(iVar11 + 0x10))) ||\n                 ((param_4 == *(undefined ***)(iVar11 + 0x10) &&\n                  (param_5 < *(undefined ***)(iVar11 + 0x14))))) goto LAB_000d27f0;" if (parenthesized_expression "(((iVar19 == iVar11) || (param_4 < *(undefined ***)(iVar11 + 0x10))) ||\n                 ((param_4 == *(undefined ***)(iVar11 + 0x10) &&\n                  (param_5 < *(undefined ***)(iVar11 + 0x14)))))" ( (binary_expression "((iVar19 == iVar11) || (param_4 < *(undefined ***)(iVar11 + 0x10))) ||\n                 ((param_4 == *(undefined ***)(iVar11 + 0x10) &&\n                  (param_5 < *(undefined ***)(iVar11 + 0x14))))" (parenthesized_expression "((iVar19 == iVar11) || (param_4 < *(undefined ***)(iVar11 + 0x10)))" ( (binary_expression "(iVar19 == iVar11) || (param_4 < *(undefined ***)(iVar11 + 0x10))" (parenthesized_expression "(iVar19 == iVar11)" ( (binary_expression "iVar19 == iVar11" identifier == identifier) )) || (parenthesized_expression "(param_4 < *(undefined ***)(iVar11 + 0x10))" ( (binary_expression "param_4 < *(undefined ***)(iVar11 + 0x10)" identifier < (pointer_expression "*(undefined ***)(iVar11 + 0x10)" * (cast_expression "(undefined ***)(iVar11 + 0x10)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(iVar11 + 0x10)" ( (binary_expression "iVar11 + 0x10" identifier + number_literal) ))))) ))) )) || (parenthesized_expression "((param_4 == *(undefined ***)(iVar11 + 0x10) &&\n                  (param_5 < *(undefined ***)(iVar11 + 0x14))))" ( (parenthesized_expression "(param_4 == *(undefined ***)(iVar11 + 0x10) &&\n                  (param_5 < *(undefined ***)(iVar11 + 0x14)))" ( (binary_expression "param_4 == *(undefined ***)(iVar11 + 0x10) &&\n                  (param_5 < *(undefined ***)(iVar11 + 0x14))" (binary_expression "param_4 == *(undefined ***)(iVar11 + 0x10)" identifier == (pointer_expression "*(undefined ***)(iVar11 + 0x10)" * (cast_expression "(undefined ***)(iVar11 + 0x10)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(iVar11 + 0x10)" ( (binary_expression "iVar11 + 0x10" identifier + number_literal) ))))) && (parenthesized_expression "(param_5 < *(undefined ***)(iVar11 + 0x14))" ( (binary_expression "param_5 < *(undefined ***)(iVar11 + 0x14)" identifier < (pointer_expression "*(undefined ***)(iVar11 + 0x14)" * (cast_expression "(undefined ***)(iVar11 + 0x14)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(iVar11 + 0x14)" ( (binary_expression "iVar11 + 0x14" identifier + number_literal) ))))) ))) )) ))) )) (goto_statement "goto LAB_000d27f0;" goto statement_identifier ;))) }))) (expression_statement "local_8c = iVar11 + 0x18;" (assignment_expression "local_8c = iVar11 + 0x18" identifier = (binary_expression "iVar11 + 0x18" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar17 + -0xc) = 1;" (assignment_expression "*(undefined4 *)(puVar17 + -0xc) = 1" (pointer_expression "*(undefined4 *)(puVar17 + -0xc)" * (cast_expression "(undefined4 *)(puVar17 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0xc)" ( (binary_expression "puVar17 + -0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar17 + -0x10) = 0;" (assignment_expression "*(undefined4 *)(puVar17 + -0x10) = 0" (pointer_expression "*(undefined4 *)(puVar17 + -0x10)" * (cast_expression "(undefined4 *)(puVar17 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x10)" ( (binary_expression "puVar17 + -0x10" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(int **)(puVar17 + -0x14) = local_f4;" (assignment_expression "*(int **)(puVar17 + -0x14) = local_f4" (pointer_expression "*(int **)(puVar17 + -0x14)" * (cast_expression "(int **)(puVar17 + -0x14)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar17 + -0x14)" ( (binary_expression "puVar17 + -0x14" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined ****)(puVar17 + -0x18) = &local_68;" (assignment_expression "*(undefined ****)(puVar17 + -0x18) = &local_68" (pointer_expression "*(undefined ****)(puVar17 + -0x18)" * (cast_expression "(undefined ****)(puVar17 + -0x18)" ( (type_descriptor "undefined ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) (parenthesized_expression "(puVar17 + -0x18)" ( (binary_expression "puVar17 + -0x18" identifier + number_literal) )))) = (pointer_expression "&local_68" & identifier)) ;) (expression_statement "*(int *)(puVar17 + -0x1c) = local_8c;" (assignment_expression "*(int *)(puVar17 + -0x1c) = local_8c" (pointer_expression "*(int *)(puVar17 + -0x1c)" * (cast_expression "(int *)(puVar17 + -0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x1c)" ( (binary_expression "puVar17 + -0x1c" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined1 **)(puVar17 + -0x20) = local_e0;" (assignment_expression "*(undefined1 **)(puVar17 + -0x20) = local_e0" (pointer_expression "*(undefined1 **)(puVar17 + -0x20)" * (cast_expression "(undefined1 **)(puVar17 + -0x20)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar17 + -0x20)" ( (binary_expression "puVar17 + -0x20" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar17 + -0x24) = 0xd2840;" (assignment_expression "*(undefined4 *)(puVar17 + -0x24) = 0xd2840" (pointer_expression "*(undefined4 *)(puVar17 + -0x24)" * (cast_expression "(undefined4 *)(puVar17 + -0x24)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x24)" ( (binary_expression "puVar17 + -0x24" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_00074340();" (call_expression "FUN_00074340()" identifier (argument_list "()" ( ))) ;) (expression_statement "piVar18 = *(int **)(*local_dc + 0xc);" (assignment_expression "piVar18 = *(int **)(*local_dc + 0xc)" identifier = (pointer_expression "*(int **)(*local_dc + 0xc)" * (cast_expression "(int **)(*local_dc + 0xc)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*local_dc + 0xc)" ( (binary_expression "*local_dc + 0xc" (pointer_expression "*local_dc" * identifier) + number_literal) ))))) ;) (if_statement "if (piVar18 == (int *)0x0) {\n              *(undefined ***)(puVar17 + -0xc) = local_b8 + -0x615c4;\n              *(undefined4 *)(puVar17 + -0x10) = 0x73;\n              *(int *)(puVar17 + -0x14) = (int)local_b8 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n              *(undefined4 *)(puVar17 + -0x18) = 0xd2fad;\n              FUN_002446e0();\n            }" if (parenthesized_expression "(piVar18 == (int *)0x0)" ( (binary_expression "piVar18 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n              *(undefined ***)(puVar17 + -0xc) = local_b8 + -0x615c4;\n              *(undefined4 *)(puVar17 + -0x10) = 0x73;\n              *(int *)(puVar17 + -0x14) = (int)local_b8 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n              *(undefined4 *)(puVar17 + -0x18) = 0xd2fad;\n              FUN_002446e0();\n            }" { (expression_statement "*(undefined ***)(puVar17 + -0xc) = local_b8 + -0x615c4;" (assignment_expression "*(undefined ***)(puVar17 + -0xc) = local_b8 + -0x615c4" (pointer_expression "*(undefined ***)(puVar17 + -0xc)" * (cast_expression "(undefined ***)(puVar17 + -0xc)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar17 + -0xc)" ( (binary_expression "puVar17 + -0xc" identifier + number_literal) )))) = (binary_expression "local_b8 + -0x615c4" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar17 + -0x10) = 0x73;" (assignment_expression "*(undefined4 *)(puVar17 + -0x10) = 0x73" (pointer_expression "*(undefined4 *)(puVar17 + -0x10)" * (cast_expression "(undefined4 *)(puVar17 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x10)" ( (binary_expression "puVar17 + -0x10" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)(puVar17 + -0x14) = (int)local_b8 + -0x1a1d93;" (assignment_expression "*(int *)(puVar17 + -0x14) = (int)local_b8 + -0x1a1d93" (pointer_expression "*(int *)(puVar17 + -0x14)" * (cast_expression "(int *)(puVar17 + -0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x14)" ( (binary_expression "puVar17 + -0x14" identifier + number_literal) )))) = (binary_expression "(int)local_b8 + -0x1a1d93" (cast_expression "(int)local_b8" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) comment (expression_statement "*(undefined4 *)(puVar17 + -0x18) = 0xd2fad;" (assignment_expression "*(undefined4 *)(puVar17 + -0x18) = 0xd2fad" (pointer_expression "*(undefined4 *)(puVar17 + -0x18)" * (cast_expression "(undefined4 *)(puVar17 + -0x18)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x18)" ( (binary_expression "puVar17 + -0x18" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_002446e0();" (call_expression "FUN_002446e0()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "iVar19 = *piVar18;" (assignment_expression "iVar19 = *piVar18" identifier = (pointer_expression "*piVar18" * identifier)) ;) (expression_statement "*(undefined **)(puVar17 + -0xc) = local_c4;" (assignment_expression "*(undefined **)(puVar17 + -0xc) = local_c4" (pointer_expression "*(undefined **)(puVar17 + -0xc)" * (cast_expression "(undefined **)(puVar17 + -0xc)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar17 + -0xc)" ( (binary_expression "puVar17 + -0xc" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined ***)(puVar17 + -0x10) = local_b4;" (assignment_expression "*(undefined ***)(puVar17 + -0x10) = local_b4" (pointer_expression "*(undefined ***)(puVar17 + -0x10)" * (cast_expression "(undefined ***)(puVar17 + -0x10)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar17 + -0x10)" ( (binary_expression "puVar17 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined ***)(puVar17 + -0x14) = local_c0;" (assignment_expression "*(undefined ***)(puVar17 + -0x14) = local_c0" (pointer_expression "*(undefined ***)(puVar17 + -0x14)" * (cast_expression "(undefined ***)(puVar17 + -0x14)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar17 + -0x14)" ( (binary_expression "puVar17 + -0x14" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined ***)(puVar17 + -0x18) = param_5;" (assignment_expression "*(undefined ***)(puVar17 + -0x18) = param_5" (pointer_expression "*(undefined ***)(puVar17 + -0x18)" * (cast_expression "(undefined ***)(puVar17 + -0x18)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar17 + -0x18)" ( (binary_expression "puVar17 + -0x18" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined ***)(puVar17 + -0x1c) = param_4;" (assignment_expression "*(undefined ***)(puVar17 + -0x1c) = param_4" (pointer_expression "*(undefined ***)(puVar17 + -0x1c)" * (cast_expression "(undefined ***)(puVar17 + -0x1c)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar17 + -0x1c)" ( (binary_expression "puVar17 + -0x1c" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int *)(puVar17 + -0x20) = param_2;" (assignment_expression "*(int *)(puVar17 + -0x20) = param_2" (pointer_expression "*(int *)(puVar17 + -0x20)" * (cast_expression "(int *)(puVar17 + -0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x20)" ( (binary_expression "puVar17 + -0x20" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int **)(puVar17 + -0x24) = piVar18;" (assignment_expression "*(int **)(puVar17 + -0x24) = piVar18" (pointer_expression "*(int **)(puVar17 + -0x24)" * (cast_expression "(int **)(puVar17 + -0x24)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar17 + -0x24)" ( (binary_expression "puVar17 + -0x24" identifier + number_literal) )))) = identifier) ;) (expression_statement "pcVar4 = *(code **)(iVar19 + 0x104);" (assignment_expression "pcVar4 = *(code **)(iVar19 + 0x104)" identifier = (pointer_expression "*(code **)(iVar19 + 0x104)" * (cast_expression "(code **)(iVar19 + 0x104)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar19 + 0x104)" ( (binary_expression "iVar19 + 0x104" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar17 + -0x28) = 0xd287d;" (assignment_expression "*(undefined4 *)(puVar17 + -0x28) = 0xd287d" (pointer_expression "*(undefined4 *)(puVar17 + -0x28)" * (cast_expression "(undefined4 *)(puVar17 + -0x28)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x28)" ( (binary_expression "puVar17 + -0x28" identifier + number_literal) )))) = number_literal) ;) (expression_statement "(*pcVar4)();" (call_expression "(*pcVar4)()" (parenthesized_expression "(*pcVar4)" ( (pointer_expression "*pcVar4" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "pbVar20 = local_d8;" (assignment_expression "pbVar20 = local_d8" identifier = identifier) ;) (expression_statement "piVar18 = (int *)(puVar17 + -4);" (assignment_expression "piVar18 = (int *)(puVar17 + -4)" identifier = (cast_expression "(int *)(puVar17 + -4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -4)" ( (binary_expression "puVar17 + -4" identifier + number_literal) )))) ;) (if_statement "if (local_d8 != (byte *)0x0) {\n              local_b4 = &local_2c;\n              local_b0 = &local_34;\n              iVar19 = *(int *)(param_2 + 0x158);\n              *(byte **)(puVar17 + -0x14) = local_d8;\n              local_34 = local_b4;\n              *(undefined4 *)(puVar17 + -0x18) = 0xd28bd;\n              sVar6 = strlen(*(char **)(puVar17 + -0x14));\n              pppuVar5 = local_b0;\n              *(undefined4 *)(puVar17 + -8) = 0;\n              *(byte **)(puVar17 + -0xc) = pbVar20 + sVar6;\n              *(byte **)(puVar17 + -0x10) = pbVar20;\n              *(undefined ****)(puVar17 + -0x14) = local_b0;\n              *(undefined4 *)(puVar17 + -0x18) = 0xd28d2;\n              FUN_00072b90();\n              *(undefined ****)(puVar17 + -0xc) = pppuVar5;\n              *(int *)(puVar17 + -0x10) = iVar19 + 0x44;\n              *(int **)(puVar17 + -0x14) = &local_ac;\n              *(undefined4 *)(puVar17 + -0x18) = 0xd28e6;\n              FUN_00094bd0();\n              iVar19 = local_ac;\n              if (local_34 != local_b4) {\n                *(undefined ***)(puVar17 + -0x18) = local_34;\n                *(undefined4 *)(puVar17 + -0x1c) = 0xd2909;\n                FUN_003ae080();\n              }\n              piVar18 = (int *)(puVar17 + -8);\n              iVar3 = *(int *)(param_2 + 0x158);\n              if (iVar19 != iVar3 + 0x48) {\n                local_34 = param_4;\n                local_30 = param_5;\n                iVar10 = *(int *)(iVar3 + 0x18);\n                iVar11 = iVar3 + 0x14;\n                if (*(int *)(iVar3 + 0x18) == 0) {\nLAB_000d2bd8:\n                  *(undefined *****)(puVar17 + -0x18) = &local_84;\n                  local_84 = local_b0;\n                  *(undefined4 *)(puVar17 + -0x1c) = 0xd2bf6;\n                  FUN_000c5e40();\n                  iVar12 = local_a8;\n                }\n                else {\n                  do {\n                    while ((iVar12 = iVar10, *(undefined ***)(iVar12 + 0x10) < param_4 ||\n                           ((param_4 == *(undefined ***)(iVar12 + 0x10) &&\n                            (*(undefined ***)(iVar12 + 0x14) < param_5))))) {\n                      piVar18 = (int *)(iVar12 + 0xc);\n                      iVar10 = *piVar18;\n                      iVar12 = iVar11;\n                      if (*piVar18 == 0) goto LAB_000d2962;\n                    }\n                    iVar10 = *(int *)(iVar12 + 8);\n                    iVar11 = iVar12;\n                  } while (*(int *)(iVar12 + 8) != 0);\nLAB_000d2962:\n                  if (((iVar12 == iVar3 + 0x14) || (param_4 < *(undefined ***)(iVar12 + 0x10))) ||\n                     ((param_4 == *(undefined ***)(iVar12 + 0x10) &&\n                      (param_5 < *(undefined ***)(iVar12 + 0x14))))) goto LAB_000d2bd8;\n                }\n                piVar18 = (int *)(puVar17 + -8);\n                puVar17 = puVar17 + -8;\n                for (puVar1 = *(undefined4 **)(iVar19 + 0x30); puVar1 != (undefined4 *)0x0;\n                    puVar1 = (undefined4 *)*puVar1) {\n                  *(undefined4 *)(puVar17 + -0xc) = 1;\n                  *(undefined4 *)(puVar17 + -0x10) = 0;\n                  *(int **)(puVar17 + -0x14) = &local_90;\n                  *(undefined4 **)(puVar17 + -0x18) = puVar1 + 1;\n                  *(int *)(puVar17 + -0x1c) = iVar12 + 0x18;\n                  *(undefined1 **)(puVar17 + -0x20) = local_e0;\n                  *(undefined4 *)(puVar17 + -0x24) = 0xd29ae;\n                  local_90 = iVar12 + 0x18;\n                  FUN_00074340();\n                  piVar18 = (int *)(puVar17 + -4);\n                  puVar17 = puVar17 + -4;\n                }\n              }\n            }" if (parenthesized_expression "(local_d8 != (byte *)0x0)" ( (binary_expression "local_d8 != (byte *)0x0" identifier != (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n              local_b4 = &local_2c;\n              local_b0 = &local_34;\n              iVar19 = *(int *)(param_2 + 0x158);\n              *(byte **)(puVar17 + -0x14) = local_d8;\n              local_34 = local_b4;\n              *(undefined4 *)(puVar17 + -0x18) = 0xd28bd;\n              sVar6 = strlen(*(char **)(puVar17 + -0x14));\n              pppuVar5 = local_b0;\n              *(undefined4 *)(puVar17 + -8) = 0;\n              *(byte **)(puVar17 + -0xc) = pbVar20 + sVar6;\n              *(byte **)(puVar17 + -0x10) = pbVar20;\n              *(undefined ****)(puVar17 + -0x14) = local_b0;\n              *(undefined4 *)(puVar17 + -0x18) = 0xd28d2;\n              FUN_00072b90();\n              *(undefined ****)(puVar17 + -0xc) = pppuVar5;\n              *(int *)(puVar17 + -0x10) = iVar19 + 0x44;\n              *(int **)(puVar17 + -0x14) = &local_ac;\n              *(undefined4 *)(puVar17 + -0x18) = 0xd28e6;\n              FUN_00094bd0();\n              iVar19 = local_ac;\n              if (local_34 != local_b4) {\n                *(undefined ***)(puVar17 + -0x18) = local_34;\n                *(undefined4 *)(puVar17 + -0x1c) = 0xd2909;\n                FUN_003ae080();\n              }\n              piVar18 = (int *)(puVar17 + -8);\n              iVar3 = *(int *)(param_2 + 0x158);\n              if (iVar19 != iVar3 + 0x48) {\n                local_34 = param_4;\n                local_30 = param_5;\n                iVar10 = *(int *)(iVar3 + 0x18);\n                iVar11 = iVar3 + 0x14;\n                if (*(int *)(iVar3 + 0x18) == 0) {\nLAB_000d2bd8:\n                  *(undefined *****)(puVar17 + -0x18) = &local_84;\n                  local_84 = local_b0;\n                  *(undefined4 *)(puVar17 + -0x1c) = 0xd2bf6;\n                  FUN_000c5e40();\n                  iVar12 = local_a8;\n                }\n                else {\n                  do {\n                    while ((iVar12 = iVar10, *(undefined ***)(iVar12 + 0x10) < param_4 ||\n                           ((param_4 == *(undefined ***)(iVar12 + 0x10) &&\n                            (*(undefined ***)(iVar12 + 0x14) < param_5))))) {\n                      piVar18 = (int *)(iVar12 + 0xc);\n                      iVar10 = *piVar18;\n                      iVar12 = iVar11;\n                      if (*piVar18 == 0) goto LAB_000d2962;\n                    }\n                    iVar10 = *(int *)(iVar12 + 8);\n                    iVar11 = iVar12;\n                  } while (*(int *)(iVar12 + 8) != 0);\nLAB_000d2962:\n                  if (((iVar12 == iVar3 + 0x14) || (param_4 < *(undefined ***)(iVar12 + 0x10))) ||\n                     ((param_4 == *(undefined ***)(iVar12 + 0x10) &&\n                      (param_5 < *(undefined ***)(iVar12 + 0x14))))) goto LAB_000d2bd8;\n                }\n                piVar18 = (int *)(puVar17 + -8);\n                puVar17 = puVar17 + -8;\n                for (puVar1 = *(undefined4 **)(iVar19 + 0x30); puVar1 != (undefined4 *)0x0;\n                    puVar1 = (undefined4 *)*puVar1) {\n                  *(undefined4 *)(puVar17 + -0xc) = 1;\n                  *(undefined4 *)(puVar17 + -0x10) = 0;\n                  *(int **)(puVar17 + -0x14) = &local_90;\n                  *(undefined4 **)(puVar17 + -0x18) = puVar1 + 1;\n                  *(int *)(puVar17 + -0x1c) = iVar12 + 0x18;\n                  *(undefined1 **)(puVar17 + -0x20) = local_e0;\n                  *(undefined4 *)(puVar17 + -0x24) = 0xd29ae;\n                  local_90 = iVar12 + 0x18;\n                  FUN_00074340();\n                  piVar18 = (int *)(puVar17 + -4);\n                  puVar17 = puVar17 + -4;\n                }\n              }\n            }" { (expression_statement "local_b4 = &local_2c;" (assignment_expression "local_b4 = &local_2c" identifier = (pointer_expression "&local_2c" & identifier)) ;) (expression_statement "local_b0 = &local_34;" (assignment_expression "local_b0 = &local_34" identifier = (pointer_expression "&local_34" & identifier)) ;) (expression_statement "iVar19 = *(int *)(param_2 + 0x158);" (assignment_expression "iVar19 = *(int *)(param_2 + 0x158)" identifier = (pointer_expression "*(int *)(param_2 + 0x158)" * (cast_expression "(int *)(param_2 + 0x158)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x158)" ( (binary_expression "param_2 + 0x158" identifier + number_literal) ))))) ;) (expression_statement "*(byte **)(puVar17 + -0x14) = local_d8;" (assignment_expression "*(byte **)(puVar17 + -0x14) = local_d8" (pointer_expression "*(byte **)(puVar17 + -0x14)" * (cast_expression "(byte **)(puVar17 + -0x14)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar17 + -0x14)" ( (binary_expression "puVar17 + -0x14" identifier + number_literal) )))) = identifier) ;) (expression_statement "local_34 = local_b4;" (assignment_expression "local_34 = local_b4" identifier = identifier) ;) (expression_statement "*(undefined4 *)(puVar17 + -0x18) = 0xd28bd;" (assignment_expression "*(undefined4 *)(puVar17 + -0x18) = 0xd28bd" (pointer_expression "*(undefined4 *)(puVar17 + -0x18)" * (cast_expression "(undefined4 *)(puVar17 + -0x18)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x18)" ( (binary_expression "puVar17 + -0x18" identifier + number_literal) )))) = number_literal) ;) (expression_statement "sVar6 = strlen(*(char **)(puVar17 + -0x14));" (assignment_expression "sVar6 = strlen(*(char **)(puVar17 + -0x14))" identifier = (call_expression "strlen(*(char **)(puVar17 + -0x14))" identifier (argument_list "(*(char **)(puVar17 + -0x14))" ( (pointer_expression "*(char **)(puVar17 + -0x14)" * (cast_expression "(char **)(puVar17 + -0x14)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar17 + -0x14)" ( (binary_expression "puVar17 + -0x14" identifier + number_literal) )))) )))) ;) (expression_statement "pppuVar5 = local_b0;" (assignment_expression "pppuVar5 = local_b0" identifier = identifier) ;) (expression_statement "*(undefined4 *)(puVar17 + -8) = 0;" (assignment_expression "*(undefined4 *)(puVar17 + -8) = 0" (pointer_expression "*(undefined4 *)(puVar17 + -8)" * (cast_expression "(undefined4 *)(puVar17 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -8)" ( (binary_expression "puVar17 + -8" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(byte **)(puVar17 + -0xc) = pbVar20 + sVar6;" (assignment_expression "*(byte **)(puVar17 + -0xc) = pbVar20 + sVar6" (pointer_expression "*(byte **)(puVar17 + -0xc)" * (cast_expression "(byte **)(puVar17 + -0xc)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar17 + -0xc)" ( (binary_expression "puVar17 + -0xc" identifier + number_literal) )))) = (binary_expression "pbVar20 + sVar6" identifier + identifier)) ;) (expression_statement "*(byte **)(puVar17 + -0x10) = pbVar20;" (assignment_expression "*(byte **)(puVar17 + -0x10) = pbVar20" (pointer_expression "*(byte **)(puVar17 + -0x10)" * (cast_expression "(byte **)(puVar17 + -0x10)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar17 + -0x10)" ( (binary_expression "puVar17 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined ****)(puVar17 + -0x14) = local_b0;" (assignment_expression "*(undefined ****)(puVar17 + -0x14) = local_b0" (pointer_expression "*(undefined ****)(puVar17 + -0x14)" * (cast_expression "(undefined ****)(puVar17 + -0x14)" ( (type_descriptor "undefined ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) (parenthesized_expression "(puVar17 + -0x14)" ( (binary_expression "puVar17 + -0x14" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar17 + -0x18) = 0xd28d2;" (assignment_expression "*(undefined4 *)(puVar17 + -0x18) = 0xd28d2" (pointer_expression "*(undefined4 *)(puVar17 + -0x18)" * (cast_expression "(undefined4 *)(puVar17 + -0x18)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x18)" ( (binary_expression "puVar17 + -0x18" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_00072b90();" (call_expression "FUN_00072b90()" identifier (argument_list "()" ( ))) ;) (expression_statement "*(undefined ****)(puVar17 + -0xc) = pppuVar5;" (assignment_expression "*(undefined ****)(puVar17 + -0xc) = pppuVar5" (pointer_expression "*(undefined ****)(puVar17 + -0xc)" * (cast_expression "(undefined ****)(puVar17 + -0xc)" ( (type_descriptor "undefined ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) (parenthesized_expression "(puVar17 + -0xc)" ( (binary_expression "puVar17 + -0xc" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int *)(puVar17 + -0x10) = iVar19 + 0x44;" (assignment_expression "*(int *)(puVar17 + -0x10) = iVar19 + 0x44" (pointer_expression "*(int *)(puVar17 + -0x10)" * (cast_expression "(int *)(puVar17 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x10)" ( (binary_expression "puVar17 + -0x10" identifier + number_literal) )))) = (binary_expression "iVar19 + 0x44" identifier + number_literal)) ;) (expression_statement "*(int **)(puVar17 + -0x14) = &local_ac;" (assignment_expression "*(int **)(puVar17 + -0x14) = &local_ac" (pointer_expression "*(int **)(puVar17 + -0x14)" * (cast_expression "(int **)(puVar17 + -0x14)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar17 + -0x14)" ( (binary_expression "puVar17 + -0x14" identifier + number_literal) )))) = (pointer_expression "&local_ac" & identifier)) ;) (expression_statement "*(undefined4 *)(puVar17 + -0x18) = 0xd28e6;" (assignment_expression "*(undefined4 *)(puVar17 + -0x18) = 0xd28e6" (pointer_expression "*(undefined4 *)(puVar17 + -0x18)" * (cast_expression "(undefined4 *)(puVar17 + -0x18)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x18)" ( (binary_expression "puVar17 + -0x18" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_00094bd0();" (call_expression "FUN_00094bd0()" identifier (argument_list "()" ( ))) ;) (expression_statement "iVar19 = local_ac;" (assignment_expression "iVar19 = local_ac" identifier = identifier) ;) (if_statement "if (local_34 != local_b4) {\n                *(undefined ***)(puVar17 + -0x18) = local_34;\n                *(undefined4 *)(puVar17 + -0x1c) = 0xd2909;\n                FUN_003ae080();\n              }" if (parenthesized_expression "(local_34 != local_b4)" ( (binary_expression "local_34 != local_b4" identifier != identifier) )) (compound_statement "{\n                *(undefined ***)(puVar17 + -0x18) = local_34;\n                *(undefined4 *)(puVar17 + -0x1c) = 0xd2909;\n                FUN_003ae080();\n              }" { (expression_statement "*(undefined ***)(puVar17 + -0x18) = local_34;" (assignment_expression "*(undefined ***)(puVar17 + -0x18) = local_34" (pointer_expression "*(undefined ***)(puVar17 + -0x18)" * (cast_expression "(undefined ***)(puVar17 + -0x18)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar17 + -0x18)" ( (binary_expression "puVar17 + -0x18" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar17 + -0x1c) = 0xd2909;" (assignment_expression "*(undefined4 *)(puVar17 + -0x1c) = 0xd2909" (pointer_expression "*(undefined4 *)(puVar17 + -0x1c)" * (cast_expression "(undefined4 *)(puVar17 + -0x1c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x1c)" ( (binary_expression "puVar17 + -0x1c" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_003ae080();" (call_expression "FUN_003ae080()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "piVar18 = (int *)(puVar17 + -8);" (assignment_expression "piVar18 = (int *)(puVar17 + -8)" identifier = (cast_expression "(int *)(puVar17 + -8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -8)" ( (binary_expression "puVar17 + -8" identifier + number_literal) )))) ;) (expression_statement "iVar3 = *(int *)(param_2 + 0x158);" (assignment_expression "iVar3 = *(int *)(param_2 + 0x158)" identifier = (pointer_expression "*(int *)(param_2 + 0x158)" * (cast_expression "(int *)(param_2 + 0x158)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x158)" ( (binary_expression "param_2 + 0x158" identifier + number_literal) ))))) ;) (if_statement "if (iVar19 != iVar3 + 0x48) {\n                local_34 = param_4;\n                local_30 = param_5;\n                iVar10 = *(int *)(iVar3 + 0x18);\n                iVar11 = iVar3 + 0x14;\n                if (*(int *)(iVar3 + 0x18) == 0) {\nLAB_000d2bd8:\n                  *(undefined *****)(puVar17 + -0x18) = &local_84;\n                  local_84 = local_b0;\n                  *(undefined4 *)(puVar17 + -0x1c) = 0xd2bf6;\n                  FUN_000c5e40();\n                  iVar12 = local_a8;\n                }\n                else {\n                  do {\n                    while ((iVar12 = iVar10, *(undefined ***)(iVar12 + 0x10) < param_4 ||\n                           ((param_4 == *(undefined ***)(iVar12 + 0x10) &&\n                            (*(undefined ***)(iVar12 + 0x14) < param_5))))) {\n                      piVar18 = (int *)(iVar12 + 0xc);\n                      iVar10 = *piVar18;\n                      iVar12 = iVar11;\n                      if (*piVar18 == 0) goto LAB_000d2962;\n                    }\n                    iVar10 = *(int *)(iVar12 + 8);\n                    iVar11 = iVar12;\n                  } while (*(int *)(iVar12 + 8) != 0);\nLAB_000d2962:\n                  if (((iVar12 == iVar3 + 0x14) || (param_4 < *(undefined ***)(iVar12 + 0x10))) ||\n                     ((param_4 == *(undefined ***)(iVar12 + 0x10) &&\n                      (param_5 < *(undefined ***)(iVar12 + 0x14))))) goto LAB_000d2bd8;\n                }\n                piVar18 = (int *)(puVar17 + -8);\n                puVar17 = puVar17 + -8;\n                for (puVar1 = *(undefined4 **)(iVar19 + 0x30); puVar1 != (undefined4 *)0x0;\n                    puVar1 = (undefined4 *)*puVar1) {\n                  *(undefined4 *)(puVar17 + -0xc) = 1;\n                  *(undefined4 *)(puVar17 + -0x10) = 0;\n                  *(int **)(puVar17 + -0x14) = &local_90;\n                  *(undefined4 **)(puVar17 + -0x18) = puVar1 + 1;\n                  *(int *)(puVar17 + -0x1c) = iVar12 + 0x18;\n                  *(undefined1 **)(puVar17 + -0x20) = local_e0;\n                  *(undefined4 *)(puVar17 + -0x24) = 0xd29ae;\n                  local_90 = iVar12 + 0x18;\n                  FUN_00074340();\n                  piVar18 = (int *)(puVar17 + -4);\n                  puVar17 = puVar17 + -4;\n                }\n              }" if (parenthesized_expression "(iVar19 != iVar3 + 0x48)" ( (binary_expression "iVar19 != iVar3 + 0x48" identifier != (binary_expression "iVar3 + 0x48" identifier + number_literal)) )) (compound_statement "{\n                local_34 = param_4;\n                local_30 = param_5;\n                iVar10 = *(int *)(iVar3 + 0x18);\n                iVar11 = iVar3 + 0x14;\n                if (*(int *)(iVar3 + 0x18) == 0) {\nLAB_000d2bd8:\n                  *(undefined *****)(puVar17 + -0x18) = &local_84;\n                  local_84 = local_b0;\n                  *(undefined4 *)(puVar17 + -0x1c) = 0xd2bf6;\n                  FUN_000c5e40();\n                  iVar12 = local_a8;\n                }\n                else {\n                  do {\n                    while ((iVar12 = iVar10, *(undefined ***)(iVar12 + 0x10) < param_4 ||\n                           ((param_4 == *(undefined ***)(iVar12 + 0x10) &&\n                            (*(undefined ***)(iVar12 + 0x14) < param_5))))) {\n                      piVar18 = (int *)(iVar12 + 0xc);\n                      iVar10 = *piVar18;\n                      iVar12 = iVar11;\n                      if (*piVar18 == 0) goto LAB_000d2962;\n                    }\n                    iVar10 = *(int *)(iVar12 + 8);\n                    iVar11 = iVar12;\n                  } while (*(int *)(iVar12 + 8) != 0);\nLAB_000d2962:\n                  if (((iVar12 == iVar3 + 0x14) || (param_4 < *(undefined ***)(iVar12 + 0x10))) ||\n                     ((param_4 == *(undefined ***)(iVar12 + 0x10) &&\n                      (param_5 < *(undefined ***)(iVar12 + 0x14))))) goto LAB_000d2bd8;\n                }\n                piVar18 = (int *)(puVar17 + -8);\n                puVar17 = puVar17 + -8;\n                for (puVar1 = *(undefined4 **)(iVar19 + 0x30); puVar1 != (undefined4 *)0x0;\n                    puVar1 = (undefined4 *)*puVar1) {\n                  *(undefined4 *)(puVar17 + -0xc) = 1;\n                  *(undefined4 *)(puVar17 + -0x10) = 0;\n                  *(int **)(puVar17 + -0x14) = &local_90;\n                  *(undefined4 **)(puVar17 + -0x18) = puVar1 + 1;\n                  *(int *)(puVar17 + -0x1c) = iVar12 + 0x18;\n                  *(undefined1 **)(puVar17 + -0x20) = local_e0;\n                  *(undefined4 *)(puVar17 + -0x24) = 0xd29ae;\n                  local_90 = iVar12 + 0x18;\n                  FUN_00074340();\n                  piVar18 = (int *)(puVar17 + -4);\n                  puVar17 = puVar17 + -4;\n                }\n              }" { (expression_statement "local_34 = param_4;" (assignment_expression "local_34 = param_4" identifier = identifier) ;) (expression_statement "local_30 = param_5;" (assignment_expression "local_30 = param_5" identifier = identifier) ;) (expression_statement "iVar10 = *(int *)(iVar3 + 0x18);" (assignment_expression "iVar10 = *(int *)(iVar3 + 0x18)" identifier = (pointer_expression "*(int *)(iVar3 + 0x18)" * (cast_expression "(int *)(iVar3 + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar3 + 0x18)" ( (binary_expression "iVar3 + 0x18" identifier + number_literal) ))))) ;) (expression_statement "iVar11 = iVar3 + 0x14;" (assignment_expression "iVar11 = iVar3 + 0x14" identifier = (binary_expression "iVar3 + 0x14" identifier + number_literal)) ;) (if_statement "if (*(int *)(iVar3 + 0x18) == 0) {\nLAB_000d2bd8:\n                  *(undefined *****)(puVar17 + -0x18) = &local_84;\n                  local_84 = local_b0;\n                  *(undefined4 *)(puVar17 + -0x1c) = 0xd2bf6;\n                  FUN_000c5e40();\n                  iVar12 = local_a8;\n                }\n                else {\n                  do {\n                    while ((iVar12 = iVar10, *(undefined ***)(iVar12 + 0x10) < param_4 ||\n                           ((param_4 == *(undefined ***)(iVar12 + 0x10) &&\n                            (*(undefined ***)(iVar12 + 0x14) < param_5))))) {\n                      piVar18 = (int *)(iVar12 + 0xc);\n                      iVar10 = *piVar18;\n                      iVar12 = iVar11;\n                      if (*piVar18 == 0) goto LAB_000d2962;\n                    }\n                    iVar10 = *(int *)(iVar12 + 8);\n                    iVar11 = iVar12;\n                  } while (*(int *)(iVar12 + 8) != 0);\nLAB_000d2962:\n                  if (((iVar12 == iVar3 + 0x14) || (param_4 < *(undefined ***)(iVar12 + 0x10))) ||\n                     ((param_4 == *(undefined ***)(iVar12 + 0x10) &&\n                      (param_5 < *(undefined ***)(iVar12 + 0x14))))) goto LAB_000d2bd8;\n                }" if (parenthesized_expression "(*(int *)(iVar3 + 0x18) == 0)" ( (binary_expression "*(int *)(iVar3 + 0x18) == 0" (pointer_expression "*(int *)(iVar3 + 0x18)" * (cast_expression "(int *)(iVar3 + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar3 + 0x18)" ( (binary_expression "iVar3 + 0x18" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\nLAB_000d2bd8:\n                  *(undefined *****)(puVar17 + -0x18) = &local_84;\n                  local_84 = local_b0;\n                  *(undefined4 *)(puVar17 + -0x1c) = 0xd2bf6;\n                  FUN_000c5e40();\n                  iVar12 = local_a8;\n                }" { (labeled_statement "LAB_000d2bd8:\n                  *(undefined *****)(puVar17 + -0x18) = &local_84;" statement_identifier : (expression_statement "*(undefined *****)(puVar17 + -0x18) = &local_84;" (assignment_expression "*(undefined *****)(puVar17 + -0x18) = &local_84" (pointer_expression "*(undefined *****)(puVar17 + -0x18)" * (cast_expression "(undefined *****)(puVar17 + -0x18)" ( (type_descriptor "undefined *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (parenthesized_expression "(puVar17 + -0x18)" ( (binary_expression "puVar17 + -0x18" identifier + number_literal) )))) = (pointer_expression "&local_84" & identifier)) ;)) (expression_statement "local_84 = local_b0;" (assignment_expression "local_84 = local_b0" identifier = identifier) ;) (expression_statement "*(undefined4 *)(puVar17 + -0x1c) = 0xd2bf6;" (assignment_expression "*(undefined4 *)(puVar17 + -0x1c) = 0xd2bf6" (pointer_expression "*(undefined4 *)(puVar17 + -0x1c)" * (cast_expression "(undefined4 *)(puVar17 + -0x1c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x1c)" ( (binary_expression "puVar17 + -0x1c" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_000c5e40();" (call_expression "FUN_000c5e40()" identifier (argument_list "()" ( ))) ;) (expression_statement "iVar12 = local_a8;" (assignment_expression "iVar12 = local_a8" identifier = identifier) ;) }) (else_clause "else {\n                  do {\n                    while ((iVar12 = iVar10, *(undefined ***)(iVar12 + 0x10) < param_4 ||\n                           ((param_4 == *(undefined ***)(iVar12 + 0x10) &&\n                            (*(undefined ***)(iVar12 + 0x14) < param_5))))) {\n                      piVar18 = (int *)(iVar12 + 0xc);\n                      iVar10 = *piVar18;\n                      iVar12 = iVar11;\n                      if (*piVar18 == 0) goto LAB_000d2962;\n                    }\n                    iVar10 = *(int *)(iVar12 + 8);\n                    iVar11 = iVar12;\n                  } while (*(int *)(iVar12 + 8) != 0);\nLAB_000d2962:\n                  if (((iVar12 == iVar3 + 0x14) || (param_4 < *(undefined ***)(iVar12 + 0x10))) ||\n                     ((param_4 == *(undefined ***)(iVar12 + 0x10) &&\n                      (param_5 < *(undefined ***)(iVar12 + 0x14))))) goto LAB_000d2bd8;\n                }" else (compound_statement "{\n                  do {\n                    while ((iVar12 = iVar10, *(undefined ***)(iVar12 + 0x10) < param_4 ||\n                           ((param_4 == *(undefined ***)(iVar12 + 0x10) &&\n                            (*(undefined ***)(iVar12 + 0x14) < param_5))))) {\n                      piVar18 = (int *)(iVar12 + 0xc);\n                      iVar10 = *piVar18;\n                      iVar12 = iVar11;\n                      if (*piVar18 == 0) goto LAB_000d2962;\n                    }\n                    iVar10 = *(int *)(iVar12 + 8);\n                    iVar11 = iVar12;\n                  } while (*(int *)(iVar12 + 8) != 0);\nLAB_000d2962:\n                  if (((iVar12 == iVar3 + 0x14) || (param_4 < *(undefined ***)(iVar12 + 0x10))) ||\n                     ((param_4 == *(undefined ***)(iVar12 + 0x10) &&\n                      (param_5 < *(undefined ***)(iVar12 + 0x14))))) goto LAB_000d2bd8;\n                }" { (do_statement "do {\n                    while ((iVar12 = iVar10, *(undefined ***)(iVar12 + 0x10) < param_4 ||\n                           ((param_4 == *(undefined ***)(iVar12 + 0x10) &&\n                            (*(undefined ***)(iVar12 + 0x14) < param_5))))) {\n                      piVar18 = (int *)(iVar12 + 0xc);\n                      iVar10 = *piVar18;\n                      iVar12 = iVar11;\n                      if (*piVar18 == 0) goto LAB_000d2962;\n                    }\n                    iVar10 = *(int *)(iVar12 + 8);\n                    iVar11 = iVar12;\n                  } while (*(int *)(iVar12 + 8) != 0);" do (compound_statement "{\n                    while ((iVar12 = iVar10, *(undefined ***)(iVar12 + 0x10) < param_4 ||\n                           ((param_4 == *(undefined ***)(iVar12 + 0x10) &&\n                            (*(undefined ***)(iVar12 + 0x14) < param_5))))) {\n                      piVar18 = (int *)(iVar12 + 0xc);\n                      iVar10 = *piVar18;\n                      iVar12 = iVar11;\n                      if (*piVar18 == 0) goto LAB_000d2962;\n                    }\n                    iVar10 = *(int *)(iVar12 + 8);\n                    iVar11 = iVar12;\n                  }" { (while_statement "while ((iVar12 = iVar10, *(undefined ***)(iVar12 + 0x10) < param_4 ||\n                           ((param_4 == *(undefined ***)(iVar12 + 0x10) &&\n                            (*(undefined ***)(iVar12 + 0x14) < param_5))))) {\n                      piVar18 = (int *)(iVar12 + 0xc);\n                      iVar10 = *piVar18;\n                      iVar12 = iVar11;\n                      if (*piVar18 == 0) goto LAB_000d2962;\n                    }" while (parenthesized_expression "((iVar12 = iVar10, *(undefined ***)(iVar12 + 0x10) < param_4 ||\n                           ((param_4 == *(undefined ***)(iVar12 + 0x10) &&\n                            (*(undefined ***)(iVar12 + 0x14) < param_5)))))" ( (parenthesized_expression "(iVar12 = iVar10, *(undefined ***)(iVar12 + 0x10) < param_4 ||\n                           ((param_4 == *(undefined ***)(iVar12 + 0x10) &&\n                            (*(undefined ***)(iVar12 + 0x14) < param_5))))" ( (comma_expression "iVar12 = iVar10, *(undefined ***)(iVar12 + 0x10) < param_4 ||\n                           ((param_4 == *(undefined ***)(iVar12 + 0x10) &&\n                            (*(undefined ***)(iVar12 + 0x14) < param_5)))" (assignment_expression "iVar12 = iVar10" identifier = identifier) , (binary_expression "*(undefined ***)(iVar12 + 0x10) < param_4 ||\n                           ((param_4 == *(undefined ***)(iVar12 + 0x10) &&\n                            (*(undefined ***)(iVar12 + 0x14) < param_5)))" (binary_expression "*(undefined ***)(iVar12 + 0x10) < param_4" (pointer_expression "*(undefined ***)(iVar12 + 0x10)" * (cast_expression "(undefined ***)(iVar12 + 0x10)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(iVar12 + 0x10)" ( (binary_expression "iVar12 + 0x10" identifier + number_literal) )))) < identifier) || (parenthesized_expression "((param_4 == *(undefined ***)(iVar12 + 0x10) &&\n                            (*(undefined ***)(iVar12 + 0x14) < param_5)))" ( (parenthesized_expression "(param_4 == *(undefined ***)(iVar12 + 0x10) &&\n                            (*(undefined ***)(iVar12 + 0x14) < param_5))" ( (binary_expression "param_4 == *(undefined ***)(iVar12 + 0x10) &&\n                            (*(undefined ***)(iVar12 + 0x14) < param_5)" (binary_expression "param_4 == *(undefined ***)(iVar12 + 0x10)" identifier == (pointer_expression "*(undefined ***)(iVar12 + 0x10)" * (cast_expression "(undefined ***)(iVar12 + 0x10)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(iVar12 + 0x10)" ( (binary_expression "iVar12 + 0x10" identifier + number_literal) ))))) && (parenthesized_expression "(*(undefined ***)(iVar12 + 0x14) < param_5)" ( (binary_expression "*(undefined ***)(iVar12 + 0x14) < param_5" (pointer_expression "*(undefined ***)(iVar12 + 0x14)" * (cast_expression "(undefined ***)(iVar12 + 0x14)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(iVar12 + 0x14)" ( (binary_expression "iVar12 + 0x14" identifier + number_literal) )))) < identifier) ))) )) )))) )) )) (compound_statement "{\n                      piVar18 = (int *)(iVar12 + 0xc);\n                      iVar10 = *piVar18;\n                      iVar12 = iVar11;\n                      if (*piVar18 == 0) goto LAB_000d2962;\n                    }" { (expression_statement "piVar18 = (int *)(iVar12 + 0xc);" (assignment_expression "piVar18 = (int *)(iVar12 + 0xc)" identifier = (cast_expression "(int *)(iVar12 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar12 + 0xc)" ( (binary_expression "iVar12 + 0xc" identifier + number_literal) )))) ;) (expression_statement "iVar10 = *piVar18;" (assignment_expression "iVar10 = *piVar18" identifier = (pointer_expression "*piVar18" * identifier)) ;) (expression_statement "iVar12 = iVar11;" (assignment_expression "iVar12 = iVar11" identifier = identifier) ;) (if_statement "if (*piVar18 == 0) goto LAB_000d2962;" if (parenthesized_expression "(*piVar18 == 0)" ( (binary_expression "*piVar18 == 0" (pointer_expression "*piVar18" * identifier) == number_literal) )) (goto_statement "goto LAB_000d2962;" goto statement_identifier ;)) })) (expression_statement "iVar10 = *(int *)(iVar12 + 8);" (assignment_expression "iVar10 = *(int *)(iVar12 + 8)" identifier = (pointer_expression "*(int *)(iVar12 + 8)" * (cast_expression "(int *)(iVar12 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar12 + 8)" ( (binary_expression "iVar12 + 8" identifier + number_literal) ))))) ;) (expression_statement "iVar11 = iVar12;" (assignment_expression "iVar11 = iVar12" identifier = identifier) ;) }) while (parenthesized_expression "(*(int *)(iVar12 + 8) != 0)" ( (binary_expression "*(int *)(iVar12 + 8) != 0" (pointer_expression "*(int *)(iVar12 + 8)" * (cast_expression "(int *)(iVar12 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar12 + 8)" ( (binary_expression "iVar12 + 8" identifier + number_literal) )))) != number_literal) )) ;) (labeled_statement "LAB_000d2962:\n                  if (((iVar12 == iVar3 + 0x14) || (param_4 < *(undefined ***)(iVar12 + 0x10))) ||\n                     ((param_4 == *(undefined ***)(iVar12 + 0x10) &&\n                      (param_5 < *(undefined ***)(iVar12 + 0x14))))) goto LAB_000d2bd8;" statement_identifier : (if_statement "if (((iVar12 == iVar3 + 0x14) || (param_4 < *(undefined ***)(iVar12 + 0x10))) ||\n                     ((param_4 == *(undefined ***)(iVar12 + 0x10) &&\n                      (param_5 < *(undefined ***)(iVar12 + 0x14))))) goto LAB_000d2bd8;" if (parenthesized_expression "(((iVar12 == iVar3 + 0x14) || (param_4 < *(undefined ***)(iVar12 + 0x10))) ||\n                     ((param_4 == *(undefined ***)(iVar12 + 0x10) &&\n                      (param_5 < *(undefined ***)(iVar12 + 0x14)))))" ( (binary_expression "((iVar12 == iVar3 + 0x14) || (param_4 < *(undefined ***)(iVar12 + 0x10))) ||\n                     ((param_4 == *(undefined ***)(iVar12 + 0x10) &&\n                      (param_5 < *(undefined ***)(iVar12 + 0x14))))" (parenthesized_expression "((iVar12 == iVar3 + 0x14) || (param_4 < *(undefined ***)(iVar12 + 0x10)))" ( (binary_expression "(iVar12 == iVar3 + 0x14) || (param_4 < *(undefined ***)(iVar12 + 0x10))" (parenthesized_expression "(iVar12 == iVar3 + 0x14)" ( (binary_expression "iVar12 == iVar3 + 0x14" identifier == (binary_expression "iVar3 + 0x14" identifier + number_literal)) )) || (parenthesized_expression "(param_4 < *(undefined ***)(iVar12 + 0x10))" ( (binary_expression "param_4 < *(undefined ***)(iVar12 + 0x10)" identifier < (pointer_expression "*(undefined ***)(iVar12 + 0x10)" * (cast_expression "(undefined ***)(iVar12 + 0x10)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(iVar12 + 0x10)" ( (binary_expression "iVar12 + 0x10" identifier + number_literal) ))))) ))) )) || (parenthesized_expression "((param_4 == *(undefined ***)(iVar12 + 0x10) &&\n                      (param_5 < *(undefined ***)(iVar12 + 0x14))))" ( (parenthesized_expression "(param_4 == *(undefined ***)(iVar12 + 0x10) &&\n                      (param_5 < *(undefined ***)(iVar12 + 0x14)))" ( (binary_expression "param_4 == *(undefined ***)(iVar12 + 0x10) &&\n                      (param_5 < *(undefined ***)(iVar12 + 0x14))" (binary_expression "param_4 == *(undefined ***)(iVar12 + 0x10)" identifier == (pointer_expression "*(undefined ***)(iVar12 + 0x10)" * (cast_expression "(undefined ***)(iVar12 + 0x10)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(iVar12 + 0x10)" ( (binary_expression "iVar12 + 0x10" identifier + number_literal) ))))) && (parenthesized_expression "(param_5 < *(undefined ***)(iVar12 + 0x14))" ( (binary_expression "param_5 < *(undefined ***)(iVar12 + 0x14)" identifier < (pointer_expression "*(undefined ***)(iVar12 + 0x14)" * (cast_expression "(undefined ***)(iVar12 + 0x14)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(iVar12 + 0x14)" ( (binary_expression "iVar12 + 0x14" identifier + number_literal) ))))) ))) )) ))) )) (goto_statement "goto LAB_000d2bd8;" goto statement_identifier ;))) }))) (expression_statement "piVar18 = (int *)(puVar17 + -8);" (assignment_expression "piVar18 = (int *)(puVar17 + -8)" identifier = (cast_expression "(int *)(puVar17 + -8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -8)" ( (binary_expression "puVar17 + -8" identifier + number_literal) )))) ;) (expression_statement "puVar17 = puVar17 + -8;" (assignment_expression "puVar17 = puVar17 + -8" identifier = (binary_expression "puVar17 + -8" identifier + number_literal)) ;) (for_statement "for (puVar1 = *(undefined4 **)(iVar19 + 0x30); puVar1 != (undefined4 *)0x0;\n                    puVar1 = (undefined4 *)*puVar1) {\n                  *(undefined4 *)(puVar17 + -0xc) = 1;\n                  *(undefined4 *)(puVar17 + -0x10) = 0;\n                  *(int **)(puVar17 + -0x14) = &local_90;\n                  *(undefined4 **)(puVar17 + -0x18) = puVar1 + 1;\n                  *(int *)(puVar17 + -0x1c) = iVar12 + 0x18;\n                  *(undefined1 **)(puVar17 + -0x20) = local_e0;\n                  *(undefined4 *)(puVar17 + -0x24) = 0xd29ae;\n                  local_90 = iVar12 + 0x18;\n                  FUN_00074340();\n                  piVar18 = (int *)(puVar17 + -4);\n                  puVar17 = puVar17 + -4;\n                }" for ( (assignment_expression "puVar1 = *(undefined4 **)(iVar19 + 0x30)" identifier = (pointer_expression "*(undefined4 **)(iVar19 + 0x30)" * (cast_expression "(undefined4 **)(iVar19 + 0x30)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar19 + 0x30)" ( (binary_expression "iVar19 + 0x30" identifier + number_literal) ))))) ; (binary_expression "puVar1 != (undefined4 *)0x0" identifier != (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ; (assignment_expression "puVar1 = (undefined4 *)*puVar1" identifier = (cast_expression "(undefined4 *)*puVar1" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar1" * identifier))) ) (compound_statement "{\n                  *(undefined4 *)(puVar17 + -0xc) = 1;\n                  *(undefined4 *)(puVar17 + -0x10) = 0;\n                  *(int **)(puVar17 + -0x14) = &local_90;\n                  *(undefined4 **)(puVar17 + -0x18) = puVar1 + 1;\n                  *(int *)(puVar17 + -0x1c) = iVar12 + 0x18;\n                  *(undefined1 **)(puVar17 + -0x20) = local_e0;\n                  *(undefined4 *)(puVar17 + -0x24) = 0xd29ae;\n                  local_90 = iVar12 + 0x18;\n                  FUN_00074340();\n                  piVar18 = (int *)(puVar17 + -4);\n                  puVar17 = puVar17 + -4;\n                }" { (expression_statement "*(undefined4 *)(puVar17 + -0xc) = 1;" (assignment_expression "*(undefined4 *)(puVar17 + -0xc) = 1" (pointer_expression "*(undefined4 *)(puVar17 + -0xc)" * (cast_expression "(undefined4 *)(puVar17 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0xc)" ( (binary_expression "puVar17 + -0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar17 + -0x10) = 0;" (assignment_expression "*(undefined4 *)(puVar17 + -0x10) = 0" (pointer_expression "*(undefined4 *)(puVar17 + -0x10)" * (cast_expression "(undefined4 *)(puVar17 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x10)" ( (binary_expression "puVar17 + -0x10" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(int **)(puVar17 + -0x14) = &local_90;" (assignment_expression "*(int **)(puVar17 + -0x14) = &local_90" (pointer_expression "*(int **)(puVar17 + -0x14)" * (cast_expression "(int **)(puVar17 + -0x14)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar17 + -0x14)" ( (binary_expression "puVar17 + -0x14" identifier + number_literal) )))) = (pointer_expression "&local_90" & identifier)) ;) (expression_statement "*(undefined4 **)(puVar17 + -0x18) = puVar1 + 1;" (assignment_expression "*(undefined4 **)(puVar17 + -0x18) = puVar1 + 1" (pointer_expression "*(undefined4 **)(puVar17 + -0x18)" * (cast_expression "(undefined4 **)(puVar17 + -0x18)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar17 + -0x18)" ( (binary_expression "puVar17 + -0x18" identifier + number_literal) )))) = (binary_expression "puVar1 + 1" identifier + number_literal)) ;) (expression_statement "*(int *)(puVar17 + -0x1c) = iVar12 + 0x18;" (assignment_expression "*(int *)(puVar17 + -0x1c) = iVar12 + 0x18" (pointer_expression "*(int *)(puVar17 + -0x1c)" * (cast_expression "(int *)(puVar17 + -0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x1c)" ( (binary_expression "puVar17 + -0x1c" identifier + number_literal) )))) = (binary_expression "iVar12 + 0x18" identifier + number_literal)) ;) (expression_statement "*(undefined1 **)(puVar17 + -0x20) = local_e0;" (assignment_expression "*(undefined1 **)(puVar17 + -0x20) = local_e0" (pointer_expression "*(undefined1 **)(puVar17 + -0x20)" * (cast_expression "(undefined1 **)(puVar17 + -0x20)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar17 + -0x20)" ( (binary_expression "puVar17 + -0x20" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar17 + -0x24) = 0xd29ae;" (assignment_expression "*(undefined4 *)(puVar17 + -0x24) = 0xd29ae" (pointer_expression "*(undefined4 *)(puVar17 + -0x24)" * (cast_expression "(undefined4 *)(puVar17 + -0x24)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x24)" ( (binary_expression "puVar17 + -0x24" identifier + number_literal) )))) = number_literal) ;) (expression_statement "local_90 = iVar12 + 0x18;" (assignment_expression "local_90 = iVar12 + 0x18" identifier = (binary_expression "iVar12 + 0x18" identifier + number_literal)) ;) (expression_statement "FUN_00074340();" (call_expression "FUN_00074340()" identifier (argument_list "()" ( ))) ;) (expression_statement "piVar18 = (int *)(puVar17 + -4);" (assignment_expression "piVar18 = (int *)(puVar17 + -4)" identifier = (cast_expression "(int *)(puVar17 + -4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -4)" ( (binary_expression "puVar17 + -4" identifier + number_literal) )))) ;) (expression_statement "puVar17 = puVar17 + -4;" (assignment_expression "puVar17 = puVar17 + -4" identifier = (binary_expression "puVar17 + -4" identifier + number_literal)) ;) })) })) })) })) })) }) (else_clause "else {\n        if (puVar15 < param_4[0x2c]) {\n          local_70 = (undefined **)0x0;\nLAB_000d2a1f:\n          *(undefined ***)((int)piVar18 + -8) = local_b8 + -0x615ed;\n          *(undefined4 *)((int)piVar18 + -0xc) = 0x11c;\n          *(int *)((int)piVar18 + -0x10) = (int)local_b8 + -0x19ca36;\n                    /* WARNING: Subroutine does not return */\n          *(undefined4 *)((int)piVar18 + -0x14) = 0xd2a40;\n          FUN_002446e0();\n        }\n        uVar16 = (int)puVar15 - (int)param_4[0x2c];\n        local_b0 = (undefined ***)param_4[0x30];\n        if ((uint)((int)local_b0 - (int)param_4[0x2f] >> 2) <= uVar16) {\n          *(undefined ***)((int)piVar18 + -8) = local_b8 + -0x6156c;\n          *(undefined4 *)((int)piVar18 + -0xc) = 0x8ad;\n          *(int *)((int)piVar18 + -0x10) = (int)local_b8 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n          *(undefined4 *)((int)piVar18 + -0x14) = 0xd2f8f;\n          FUN_002446e0();\n        }\n        local_70 = *(undefined ***)(param_4[0x2f] + uVar16 * 4);\n        if (local_70 == (undefined **)0x0) goto LAB_000d2a1f;\n        if ((*(byte *)((int)local_70 + 0x2a) & 0x10) == 0) {\n          if ((*(byte *)((int)local_70 + 0x2a) & 7) == 0) goto LAB_000d25f7;\nLAB_000d29e2:\n          local_f0 = (undefined **)local_70[0xc];\n          bVar13 = 0;\n          local_b4 = (undefined **)0x0;\n          local_c0 = (undefined **)0x0;\n          bVar24 = CARRY4((uint)local_bc,(uint)local_f0);\n          local_c4 = local_bc + (int)local_f0;\n          bVar26 = local_c4 == (undefined *)0x0;\n        }\n        else {\n          *(undefined ***)((int)piVar18 + -0xc) = local_70;\n          *(int *)((int)piVar18 + -0x10) = param_2;\n          *(undefined4 *)((int)piVar18 + -0x14) = 0xd29d2;\n          local_70 = (undefined **)FUN_0034cd90();\n          if ((*(byte *)((int)local_70 + 0x2a) & 7) != 0) goto LAB_000d29e2;\nLAB_000d25f7:\n          local_f0 = (undefined **)local_70[0xc];\n          local_c0 = (undefined **)local_70[2];\n          local_c4 = local_bc + (int)local_f0;\n          if (((uint)local_c0[0xb] & 1) == 0) {\n            local_b4 = (undefined **)local_70[3];\n            bVar13 = *(byte *)((int)local_70 + 0x2b) >> 5 & 1;\n            bVar24 = (*(byte *)(local_70 + 10) & 0xf) < 2;\n            bVar26 = (*(byte *)(local_70 + 10) & 0xf) == 2;\n            if (bVar26) {\n              bVar24 = false;\n              bVar26 = local_d2 == '\0';\n              if ((!bVar26) &&\n                 (((bVar13 == 0 || (bVar26 = uVar21 == 0x17, 0x17 < uVar21)) ||\n                  (bVar24 = (0x843f84U >> (uVar2 & 0x1f) & 1) != 0, !bVar24)))) {\n                local_b0 = *(undefined ****)(param_2 + 0x15c);\n                *(undefined4 *)((int)piVar18 + -0xc) = 1;\n                *(undefined4 *)((int)piVar18 + -0x10) = 0;\n                *(undefined *****)((int)piVar18 + -0x14) = &local_94;\n                *(undefined ****)((int)piVar18 + -0x18) = &local_78;\n                local_94 = local_b0 + 0xd;\n                *(undefined ****)((int)piVar18 + -0x1c) = local_94;\n                *(undefined1 **)((int)piVar18 + -0x20) = local_e0;\n                    /* try { // try from 000d2cc6 to 000d2cca has its CatchHandler @ 000d302c */\n                *(undefined4 *)((int)piVar18 + -0x24) = 0xd2ccb;\n                local_78 = local_c0;\n                local_74 = local_b4;\n                FUN_00074280();\n                bVar24 = (undefined1 *)0xffffffe3 < (undefined1 *)((int)piVar18 + -0x20);\n                bVar26 = piVar18 == (int *)0x4;\n                piVar18 = (int *)((int)piVar18 + -4);\n              }\n            }\n          }\n          else {\n            local_b4 = (undefined **)0x0;\n            bVar24 = false;\n            bVar13 = 0;\n            bVar26 = true;\n            local_c0 = (undefined **)0x0;\n          }\n        }\n        pbVar20 = *local_70;\n        iVar19 = 8;\n        pbVar9 = (byte *)((int)local_b8 + -0x19ca26);\n        pbVar22 = pbVar20;\n        do {\n          if (iVar19 == 0) break;\n          iVar19 = iVar19 + -1;\n          bVar24 = *pbVar9 < *pbVar22;\n          bVar26 = *pbVar9 == *pbVar22;\n          pbVar9 = pbVar9 + (uint)bVar27 * -2 + 1;\n          pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n        } while (bVar26);\n        bVar25 = false;\n        bVar24 = (!bVar24 && !bVar26) == bVar24;\n        if (bVar24) {\n          pbVar20 = pbVar20 + 8;\n        }\n        else {\n          iVar19 = 7;\n          pbVar9 = (byte *)((int)local_b8 + -0x19ca1d);\n          pbVar22 = pbVar20;\n          do {\n            if (iVar19 == 0) break;\n            iVar19 = iVar19 + -1;\n            bVar25 = *pbVar9 < *pbVar22;\n            bVar24 = *pbVar9 == *pbVar22;\n            pbVar9 = pbVar9 + (uint)bVar27 * -2 + 1;\n            pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n          } while (bVar24);\n          pbVar20 = pbVar20 + 7;\n          if ((!bVar25 && !bVar24) != bVar25) {\n            pbVar20 = local_d8;\n          }\n        }\n        local_d8 = pbVar20;\n        if (local_d1 != '\0') {\n          if (bVar13 == 0) {\n            local_34 = (undefined **)0x0;\n            local_30 = (undefined **)0x0;\n          }\n          else {\n            local_34 = local_c0;\n            local_30 = local_b4;\n          }\n          local_b0 = &local_34;\n          *(undefined ****)((int)piVar18 + -0xc) = local_b0;\n          *(int *)((int)piVar18 + -0x10) = local_c8;\n          *(undefined4 *)((int)piVar18 + -0x14) = 0xd26b9;\n          FUN_00073b00();\n          puVar1 = *(undefined4 **)(local_cc + 4);\n          if (puVar1 == *(undefined4 **)(local_cc + 8)) {\n            *(undefined ****)((int)piVar18 + -8) = &local_70;\n            *(undefined4 **)((int)piVar18 + -0xc) = puVar1;\n            *(int *)((int)piVar18 + -0x10) = local_cc;\n            *(undefined4 *)((int)piVar18 + -0x14) = 0xd2b4b;\n            FUN_000726c0();\n          }\n          else {\n            *puVar1 = local_70;\n            *(undefined4 **)(local_cc + 4) = puVar1 + 1;\n          }\n          *(undefined ****)((int)piVar18 + -0xc) = local_b0;\n          *(undefined ***)((int)piVar18 + -0x10) = local_e8;\n          local_34 = local_f0;\n          local_30 = (undefined **)0x0;\n          local_2c = local_bc;\n          local_28 = (int)local_bc >> 0x1f;\n          *(undefined4 *)((int)piVar18 + -0x14) = 0xd270d;\n          FUN_00073e70();\n          local_30 = (undefined **)0x0;\n          local_34 = (undefined **)*param_7;\n          puVar1 = *(undefined4 **)(local_d0 + 4);\n          if (puVar1 == *(undefined4 **)(local_d0 + 8)) {\n            *(undefined ****)((int)piVar18 + -8) = local_b0;\n            *(undefined4 **)((int)piVar18 + -0xc) = puVar1;\n            *(int *)((int)piVar18 + -0x10) = local_d0;\n            *(undefined4 *)((int)piVar18 + -0x14) = 0xd2bbd;\n            FUN_00072a40();\n          }\n          else {\n            *puVar1 = local_34;\n            puVar1[1] = 0;\n            *(undefined4 **)(local_d0 + 4) = puVar1 + 2;\n          }\n          local_68 = (undefined **)0x0;\n          *(undefined ****)((int)piVar18 + -0xc) = &local_68;\n          *(int *)((int)piVar18 + -0x10) = local_ec;\n          *(undefined4 *)((int)piVar18 + -0x14) = 0xd2753;\n          FUN_00074020();\n        }\n        puVar17 = (undefined1 *)piVar18;\n        if (bVar13 != 0) goto LAB_000d275e;\n      }" else (compound_statement "{\n        if (puVar15 < param_4[0x2c]) {\n          local_70 = (undefined **)0x0;\nLAB_000d2a1f:\n          *(undefined ***)((int)piVar18 + -8) = local_b8 + -0x615ed;\n          *(undefined4 *)((int)piVar18 + -0xc) = 0x11c;\n          *(int *)((int)piVar18 + -0x10) = (int)local_b8 + -0x19ca36;\n                    /* WARNING: Subroutine does not return */\n          *(undefined4 *)((int)piVar18 + -0x14) = 0xd2a40;\n          FUN_002446e0();\n        }\n        uVar16 = (int)puVar15 - (int)param_4[0x2c];\n        local_b0 = (undefined ***)param_4[0x30];\n        if ((uint)((int)local_b0 - (int)param_4[0x2f] >> 2) <= uVar16) {\n          *(undefined ***)((int)piVar18 + -8) = local_b8 + -0x6156c;\n          *(undefined4 *)((int)piVar18 + -0xc) = 0x8ad;\n          *(int *)((int)piVar18 + -0x10) = (int)local_b8 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n          *(undefined4 *)((int)piVar18 + -0x14) = 0xd2f8f;\n          FUN_002446e0();\n        }\n        local_70 = *(undefined ***)(param_4[0x2f] + uVar16 * 4);\n        if (local_70 == (undefined **)0x0) goto LAB_000d2a1f;\n        if ((*(byte *)((int)local_70 + 0x2a) & 0x10) == 0) {\n          if ((*(byte *)((int)local_70 + 0x2a) & 7) == 0) goto LAB_000d25f7;\nLAB_000d29e2:\n          local_f0 = (undefined **)local_70[0xc];\n          bVar13 = 0;\n          local_b4 = (undefined **)0x0;\n          local_c0 = (undefined **)0x0;\n          bVar24 = CARRY4((uint)local_bc,(uint)local_f0);\n          local_c4 = local_bc + (int)local_f0;\n          bVar26 = local_c4 == (undefined *)0x0;\n        }\n        else {\n          *(undefined ***)((int)piVar18 + -0xc) = local_70;\n          *(int *)((int)piVar18 + -0x10) = param_2;\n          *(undefined4 *)((int)piVar18 + -0x14) = 0xd29d2;\n          local_70 = (undefined **)FUN_0034cd90();\n          if ((*(byte *)((int)local_70 + 0x2a) & 7) != 0) goto LAB_000d29e2;\nLAB_000d25f7:\n          local_f0 = (undefined **)local_70[0xc];\n          local_c0 = (undefined **)local_70[2];\n          local_c4 = local_bc + (int)local_f0;\n          if (((uint)local_c0[0xb] & 1) == 0) {\n            local_b4 = (undefined **)local_70[3];\n            bVar13 = *(byte *)((int)local_70 + 0x2b) >> 5 & 1;\n            bVar24 = (*(byte *)(local_70 + 10) & 0xf) < 2;\n            bVar26 = (*(byte *)(local_70 + 10) & 0xf) == 2;\n            if (bVar26) {\n              bVar24 = false;\n              bVar26 = local_d2 == '\0';\n              if ((!bVar26) &&\n                 (((bVar13 == 0 || (bVar26 = uVar21 == 0x17, 0x17 < uVar21)) ||\n                  (bVar24 = (0x843f84U >> (uVar2 & 0x1f) & 1) != 0, !bVar24)))) {\n                local_b0 = *(undefined ****)(param_2 + 0x15c);\n                *(undefined4 *)((int)piVar18 + -0xc) = 1;\n                *(undefined4 *)((int)piVar18 + -0x10) = 0;\n                *(undefined *****)((int)piVar18 + -0x14) = &local_94;\n                *(undefined ****)((int)piVar18 + -0x18) = &local_78;\n                local_94 = local_b0 + 0xd;\n                *(undefined ****)((int)piVar18 + -0x1c) = local_94;\n                *(undefined1 **)((int)piVar18 + -0x20) = local_e0;\n                    /* try { // try from 000d2cc6 to 000d2cca has its CatchHandler @ 000d302c */\n                *(undefined4 *)((int)piVar18 + -0x24) = 0xd2ccb;\n                local_78 = local_c0;\n                local_74 = local_b4;\n                FUN_00074280();\n                bVar24 = (undefined1 *)0xffffffe3 < (undefined1 *)((int)piVar18 + -0x20);\n                bVar26 = piVar18 == (int *)0x4;\n                piVar18 = (int *)((int)piVar18 + -4);\n              }\n            }\n          }\n          else {\n            local_b4 = (undefined **)0x0;\n            bVar24 = false;\n            bVar13 = 0;\n            bVar26 = true;\n            local_c0 = (undefined **)0x0;\n          }\n        }\n        pbVar20 = *local_70;\n        iVar19 = 8;\n        pbVar9 = (byte *)((int)local_b8 + -0x19ca26);\n        pbVar22 = pbVar20;\n        do {\n          if (iVar19 == 0) break;\n          iVar19 = iVar19 + -1;\n          bVar24 = *pbVar9 < *pbVar22;\n          bVar26 = *pbVar9 == *pbVar22;\n          pbVar9 = pbVar9 + (uint)bVar27 * -2 + 1;\n          pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n        } while (bVar26);\n        bVar25 = false;\n        bVar24 = (!bVar24 && !bVar26) == bVar24;\n        if (bVar24) {\n          pbVar20 = pbVar20 + 8;\n        }\n        else {\n          iVar19 = 7;\n          pbVar9 = (byte *)((int)local_b8 + -0x19ca1d);\n          pbVar22 = pbVar20;\n          do {\n            if (iVar19 == 0) break;\n            iVar19 = iVar19 + -1;\n            bVar25 = *pbVar9 < *pbVar22;\n            bVar24 = *pbVar9 == *pbVar22;\n            pbVar9 = pbVar9 + (uint)bVar27 * -2 + 1;\n            pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n          } while (bVar24);\n          pbVar20 = pbVar20 + 7;\n          if ((!bVar25 && !bVar24) != bVar25) {\n            pbVar20 = local_d8;\n          }\n        }\n        local_d8 = pbVar20;\n        if (local_d1 != '\0') {\n          if (bVar13 == 0) {\n            local_34 = (undefined **)0x0;\n            local_30 = (undefined **)0x0;\n          }\n          else {\n            local_34 = local_c0;\n            local_30 = local_b4;\n          }\n          local_b0 = &local_34;\n          *(undefined ****)((int)piVar18 + -0xc) = local_b0;\n          *(int *)((int)piVar18 + -0x10) = local_c8;\n          *(undefined4 *)((int)piVar18 + -0x14) = 0xd26b9;\n          FUN_00073b00();\n          puVar1 = *(undefined4 **)(local_cc + 4);\n          if (puVar1 == *(undefined4 **)(local_cc + 8)) {\n            *(undefined ****)((int)piVar18 + -8) = &local_70;\n            *(undefined4 **)((int)piVar18 + -0xc) = puVar1;\n            *(int *)((int)piVar18 + -0x10) = local_cc;\n            *(undefined4 *)((int)piVar18 + -0x14) = 0xd2b4b;\n            FUN_000726c0();\n          }\n          else {\n            *puVar1 = local_70;\n            *(undefined4 **)(local_cc + 4) = puVar1 + 1;\n          }\n          *(undefined ****)((int)piVar18 + -0xc) = local_b0;\n          *(undefined ***)((int)piVar18 + -0x10) = local_e8;\n          local_34 = local_f0;\n          local_30 = (undefined **)0x0;\n          local_2c = local_bc;\n          local_28 = (int)local_bc >> 0x1f;\n          *(undefined4 *)((int)piVar18 + -0x14) = 0xd270d;\n          FUN_00073e70();\n          local_30 = (undefined **)0x0;\n          local_34 = (undefined **)*param_7;\n          puVar1 = *(undefined4 **)(local_d0 + 4);\n          if (puVar1 == *(undefined4 **)(local_d0 + 8)) {\n            *(undefined ****)((int)piVar18 + -8) = local_b0;\n            *(undefined4 **)((int)piVar18 + -0xc) = puVar1;\n            *(int *)((int)piVar18 + -0x10) = local_d0;\n            *(undefined4 *)((int)piVar18 + -0x14) = 0xd2bbd;\n            FUN_00072a40();\n          }\n          else {\n            *puVar1 = local_34;\n            puVar1[1] = 0;\n            *(undefined4 **)(local_d0 + 4) = puVar1 + 2;\n          }\n          local_68 = (undefined **)0x0;\n          *(undefined ****)((int)piVar18 + -0xc) = &local_68;\n          *(int *)((int)piVar18 + -0x10) = local_ec;\n          *(undefined4 *)((int)piVar18 + -0x14) = 0xd2753;\n          FUN_00074020();\n        }\n        puVar17 = (undefined1 *)piVar18;\n        if (bVar13 != 0) goto LAB_000d275e;\n      }" { (if_statement "if (puVar15 < param_4[0x2c]) {\n          local_70 = (undefined **)0x0;\nLAB_000d2a1f:\n          *(undefined ***)((int)piVar18 + -8) = local_b8 + -0x615ed;\n          *(undefined4 *)((int)piVar18 + -0xc) = 0x11c;\n          *(int *)((int)piVar18 + -0x10) = (int)local_b8 + -0x19ca36;\n                    /* WARNING: Subroutine does not return */\n          *(undefined4 *)((int)piVar18 + -0x14) = 0xd2a40;\n          FUN_002446e0();\n        }" if (parenthesized_expression "(puVar15 < param_4[0x2c])" ( (binary_expression "puVar15 < param_4[0x2c]" identifier < (subscript_expression "param_4[0x2c]" identifier [ number_literal ])) )) (compound_statement "{\n          local_70 = (undefined **)0x0;\nLAB_000d2a1f:\n          *(undefined ***)((int)piVar18 + -8) = local_b8 + -0x615ed;\n          *(undefined4 *)((int)piVar18 + -0xc) = 0x11c;\n          *(int *)((int)piVar18 + -0x10) = (int)local_b8 + -0x19ca36;\n                    /* WARNING: Subroutine does not return */\n          *(undefined4 *)((int)piVar18 + -0x14) = 0xd2a40;\n          FUN_002446e0();\n        }" { (expression_statement "local_70 = (undefined **)0x0;" (assignment_expression "local_70 = (undefined **)0x0" identifier = (cast_expression "(undefined **)0x0" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) ;) (labeled_statement "LAB_000d2a1f:\n          *(undefined ***)((int)piVar18 + -8) = local_b8 + -0x615ed;" statement_identifier : (expression_statement "*(undefined ***)((int)piVar18 + -8) = local_b8 + -0x615ed;" (assignment_expression "*(undefined ***)((int)piVar18 + -8) = local_b8 + -0x615ed" (pointer_expression "*(undefined ***)((int)piVar18 + -8)" * (cast_expression "(undefined ***)((int)piVar18 + -8)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "((int)piVar18 + -8)" ( (binary_expression "(int)piVar18 + -8" (cast_expression "(int)piVar18" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "local_b8 + -0x615ed" identifier + number_literal)) ;)) (expression_statement "*(undefined4 *)((int)piVar18 + -0xc) = 0x11c;" (assignment_expression "*(undefined4 *)((int)piVar18 + -0xc) = 0x11c" (pointer_expression "*(undefined4 *)((int)piVar18 + -0xc)" * (cast_expression "(undefined4 *)((int)piVar18 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar18 + -0xc)" ( (binary_expression "(int)piVar18 + -0xc" (cast_expression "(int)piVar18" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)((int)piVar18 + -0x10) = (int)local_b8 + -0x19ca36;" (assignment_expression "*(int *)((int)piVar18 + -0x10) = (int)local_b8 + -0x19ca36" (pointer_expression "*(int *)((int)piVar18 + -0x10)" * (cast_expression "(int *)((int)piVar18 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar18 + -0x10)" ( (binary_expression "(int)piVar18 + -0x10" (cast_expression "(int)piVar18" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "(int)local_b8 + -0x19ca36" (cast_expression "(int)local_b8" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) comment (expression_statement "*(undefined4 *)((int)piVar18 + -0x14) = 0xd2a40;" (assignment_expression "*(undefined4 *)((int)piVar18 + -0x14) = 0xd2a40" (pointer_expression "*(undefined4 *)((int)piVar18 + -0x14)" * (cast_expression "(undefined4 *)((int)piVar18 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar18 + -0x14)" ( (binary_expression "(int)piVar18 + -0x14" (cast_expression "(int)piVar18" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "FUN_002446e0();" (call_expression "FUN_002446e0()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "uVar16 = (int)puVar15 - (int)param_4[0x2c];" (assignment_expression "uVar16 = (int)puVar15 - (int)param_4[0x2c]" identifier = (binary_expression "(int)puVar15 - (int)param_4[0x2c]" (cast_expression "(int)puVar15" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)param_4[0x2c]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "param_4[0x2c]" identifier [ number_literal ])))) ;) (expression_statement "local_b0 = (undefined ***)param_4[0x30];" (assignment_expression "local_b0 = (undefined ***)param_4[0x30]" identifier = (cast_expression "(undefined ***)param_4[0x30]" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (subscript_expression "param_4[0x30]" identifier [ number_literal ]))) ;) (if_statement "if ((uint)((int)local_b0 - (int)param_4[0x2f] >> 2) <= uVar16) {\n          *(undefined ***)((int)piVar18 + -8) = local_b8 + -0x6156c;\n          *(undefined4 *)((int)piVar18 + -0xc) = 0x8ad;\n          *(int *)((int)piVar18 + -0x10) = (int)local_b8 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n          *(undefined4 *)((int)piVar18 + -0x14) = 0xd2f8f;\n          FUN_002446e0();\n        }" if (parenthesized_expression "((uint)((int)local_b0 - (int)param_4[0x2f] >> 2) <= uVar16)" ( (binary_expression "(uint)((int)local_b0 - (int)param_4[0x2f] >> 2) <= uVar16" (call_expression "(uint)((int)local_b0 - (int)param_4[0x2f] >> 2)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((int)local_b0 - (int)param_4[0x2f] >> 2)" ( (binary_expression "(int)local_b0 - (int)param_4[0x2f] >> 2" (binary_expression "(int)local_b0 - (int)param_4[0x2f]" (cast_expression "(int)local_b0" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)param_4[0x2f]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "param_4[0x2f]" identifier [ number_literal ]))) >> number_literal) ))) <= identifier) )) (compound_statement "{\n          *(undefined ***)((int)piVar18 + -8) = local_b8 + -0x6156c;\n          *(undefined4 *)((int)piVar18 + -0xc) = 0x8ad;\n          *(int *)((int)piVar18 + -0x10) = (int)local_b8 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n          *(undefined4 *)((int)piVar18 + -0x14) = 0xd2f8f;\n          FUN_002446e0();\n        }" { (expression_statement "*(undefined ***)((int)piVar18 + -8) = local_b8 + -0x6156c;" (assignment_expression "*(undefined ***)((int)piVar18 + -8) = local_b8 + -0x6156c" (pointer_expression "*(undefined ***)((int)piVar18 + -8)" * (cast_expression "(undefined ***)((int)piVar18 + -8)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "((int)piVar18 + -8)" ( (binary_expression "(int)piVar18 + -8" (cast_expression "(int)piVar18" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "local_b8 + -0x6156c" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)((int)piVar18 + -0xc) = 0x8ad;" (assignment_expression "*(undefined4 *)((int)piVar18 + -0xc) = 0x8ad" (pointer_expression "*(undefined4 *)((int)piVar18 + -0xc)" * (cast_expression "(undefined4 *)((int)piVar18 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar18 + -0xc)" ( (binary_expression "(int)piVar18 + -0xc" (cast_expression "(int)piVar18" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)((int)piVar18 + -0x10) = (int)local_b8 + -0x19cc7b;" (assignment_expression "*(int *)((int)piVar18 + -0x10) = (int)local_b8 + -0x19cc7b" (pointer_expression "*(int *)((int)piVar18 + -0x10)" * (cast_expression "(int *)((int)piVar18 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar18 + -0x10)" ( (binary_expression "(int)piVar18 + -0x10" (cast_expression "(int)piVar18" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "(int)local_b8 + -0x19cc7b" (cast_expression "(int)local_b8" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) comment (expression_statement "*(undefined4 *)((int)piVar18 + -0x14) = 0xd2f8f;" (assignment_expression "*(undefined4 *)((int)piVar18 + -0x14) = 0xd2f8f" (pointer_expression "*(undefined4 *)((int)piVar18 + -0x14)" * (cast_expression "(undefined4 *)((int)piVar18 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar18 + -0x14)" ( (binary_expression "(int)piVar18 + -0x14" (cast_expression "(int)piVar18" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "FUN_002446e0();" (call_expression "FUN_002446e0()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "local_70 = *(undefined ***)(param_4[0x2f] + uVar16 * 4);" (assignment_expression "local_70 = *(undefined ***)(param_4[0x2f] + uVar16 * 4)" identifier = (pointer_expression "*(undefined ***)(param_4[0x2f] + uVar16 * 4)" * (cast_expression "(undefined ***)(param_4[0x2f] + uVar16 * 4)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(param_4[0x2f] + uVar16 * 4)" ( (binary_expression "param_4[0x2f] + uVar16 * 4" (subscript_expression "param_4[0x2f]" identifier [ number_literal ]) + (binary_expression "uVar16 * 4" identifier * number_literal)) ))))) ;) (if_statement "if (local_70 == (undefined **)0x0) goto LAB_000d2a1f;" if (parenthesized_expression "(local_70 == (undefined **)0x0)" ( (binary_expression "local_70 == (undefined **)0x0" identifier == (cast_expression "(undefined **)0x0" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) )) (goto_statement "goto LAB_000d2a1f;" goto statement_identifier ;)) (if_statement "if ((*(byte *)((int)local_70 + 0x2a) & 0x10) == 0) {\n          if ((*(byte *)((int)local_70 + 0x2a) & 7) == 0) goto LAB_000d25f7;\nLAB_000d29e2:\n          local_f0 = (undefined **)local_70[0xc];\n          bVar13 = 0;\n          local_b4 = (undefined **)0x0;\n          local_c0 = (undefined **)0x0;\n          bVar24 = CARRY4((uint)local_bc,(uint)local_f0);\n          local_c4 = local_bc + (int)local_f0;\n          bVar26 = local_c4 == (undefined *)0x0;\n        }\n        else {\n          *(undefined ***)((int)piVar18 + -0xc) = local_70;\n          *(int *)((int)piVar18 + -0x10) = param_2;\n          *(undefined4 *)((int)piVar18 + -0x14) = 0xd29d2;\n          local_70 = (undefined **)FUN_0034cd90();\n          if ((*(byte *)((int)local_70 + 0x2a) & 7) != 0) goto LAB_000d29e2;\nLAB_000d25f7:\n          local_f0 = (undefined **)local_70[0xc];\n          local_c0 = (undefined **)local_70[2];\n          local_c4 = local_bc + (int)local_f0;\n          if (((uint)local_c0[0xb] & 1) == 0) {\n            local_b4 = (undefined **)local_70[3];\n            bVar13 = *(byte *)((int)local_70 + 0x2b) >> 5 & 1;\n            bVar24 = (*(byte *)(local_70 + 10) & 0xf) < 2;\n            bVar26 = (*(byte *)(local_70 + 10) & 0xf) == 2;\n            if (bVar26) {\n              bVar24 = false;\n              bVar26 = local_d2 == '\0';\n              if ((!bVar26) &&\n                 (((bVar13 == 0 || (bVar26 = uVar21 == 0x17, 0x17 < uVar21)) ||\n                  (bVar24 = (0x843f84U >> (uVar2 & 0x1f) & 1) != 0, !bVar24)))) {\n                local_b0 = *(undefined ****)(param_2 + 0x15c);\n                *(undefined4 *)((int)piVar18 + -0xc) = 1;\n                *(undefined4 *)((int)piVar18 + -0x10) = 0;\n                *(undefined *****)((int)piVar18 + -0x14) = &local_94;\n                *(undefined ****)((int)piVar18 + -0x18) = &local_78;\n                local_94 = local_b0 + 0xd;\n                *(undefined ****)((int)piVar18 + -0x1c) = local_94;\n                *(undefined1 **)((int)piVar18 + -0x20) = local_e0;\n                    /* try { // try from 000d2cc6 to 000d2cca has its CatchHandler @ 000d302c */\n                *(undefined4 *)((int)piVar18 + -0x24) = 0xd2ccb;\n                local_78 = local_c0;\n                local_74 = local_b4;\n                FUN_00074280();\n                bVar24 = (undefined1 *)0xffffffe3 < (undefined1 *)((int)piVar18 + -0x20);\n                bVar26 = piVar18 == (int *)0x4;\n                piVar18 = (int *)((int)piVar18 + -4);\n              }\n            }\n          }\n          else {\n            local_b4 = (undefined **)0x0;\n            bVar24 = false;\n            bVar13 = 0;\n            bVar26 = true;\n            local_c0 = (undefined **)0x0;\n          }\n        }" if (parenthesized_expression "((*(byte *)((int)local_70 + 0x2a) & 0x10) == 0)" ( (binary_expression "(*(byte *)((int)local_70 + 0x2a) & 0x10) == 0" (parenthesized_expression "(*(byte *)((int)local_70 + 0x2a) & 0x10)" ( (binary_expression "*(byte *)((int)local_70 + 0x2a) & 0x10" (pointer_expression "*(byte *)((int)local_70 + 0x2a)" * (cast_expression "(byte *)((int)local_70 + 0x2a)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_70 + 0x2a)" ( (binary_expression "(int)local_70 + 0x2a" (cast_expression "(int)local_70" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) & number_literal) )) == number_literal) )) (compound_statement "{\n          if ((*(byte *)((int)local_70 + 0x2a) & 7) == 0) goto LAB_000d25f7;\nLAB_000d29e2:\n          local_f0 = (undefined **)local_70[0xc];\n          bVar13 = 0;\n          local_b4 = (undefined **)0x0;\n          local_c0 = (undefined **)0x0;\n          bVar24 = CARRY4((uint)local_bc,(uint)local_f0);\n          local_c4 = local_bc + (int)local_f0;\n          bVar26 = local_c4 == (undefined *)0x0;\n        }" { (if_statement "if ((*(byte *)((int)local_70 + 0x2a) & 7) == 0) goto LAB_000d25f7;" if (parenthesized_expression "((*(byte *)((int)local_70 + 0x2a) & 7) == 0)" ( (binary_expression "(*(byte *)((int)local_70 + 0x2a) & 7) == 0" (parenthesized_expression "(*(byte *)((int)local_70 + 0x2a) & 7)" ( (binary_expression "*(byte *)((int)local_70 + 0x2a) & 7" (pointer_expression "*(byte *)((int)local_70 + 0x2a)" * (cast_expression "(byte *)((int)local_70 + 0x2a)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_70 + 0x2a)" ( (binary_expression "(int)local_70 + 0x2a" (cast_expression "(int)local_70" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) & number_literal) )) == number_literal) )) (goto_statement "goto LAB_000d25f7;" goto statement_identifier ;)) (labeled_statement "LAB_000d29e2:\n          local_f0 = (undefined **)local_70[0xc];" statement_identifier : (expression_statement "local_f0 = (undefined **)local_70[0xc];" (assignment_expression "local_f0 = (undefined **)local_70[0xc]" identifier = (cast_expression "(undefined **)local_70[0xc]" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (subscript_expression "local_70[0xc]" identifier [ number_literal ]))) ;)) (expression_statement "bVar13 = 0;" (assignment_expression "bVar13 = 0" identifier = number_literal) ;) (expression_statement "local_b4 = (undefined **)0x0;" (assignment_expression "local_b4 = (undefined **)0x0" identifier = (cast_expression "(undefined **)0x0" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) ;) (expression_statement "local_c0 = (undefined **)0x0;" (assignment_expression "local_c0 = (undefined **)0x0" identifier = (cast_expression "(undefined **)0x0" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) ;) (expression_statement "bVar24 = CARRY4((uint)local_bc,(uint)local_f0);" (assignment_expression "bVar24 = CARRY4((uint)local_bc,(uint)local_f0)" identifier = (call_expression "CARRY4((uint)local_bc,(uint)local_f0)" identifier (argument_list "((uint)local_bc,(uint)local_f0)" ( (cast_expression "(uint)local_bc" ( (type_descriptor "uint" type_identifier) ) identifier) , (cast_expression "(uint)local_f0" ( (type_descriptor "uint" type_identifier) ) identifier) )))) ;) (expression_statement "local_c4 = local_bc + (int)local_f0;" (assignment_expression "local_c4 = local_bc + (int)local_f0" identifier = (binary_expression "local_bc + (int)local_f0" identifier + (cast_expression "(int)local_f0" ( (type_descriptor "int" primitive_type) ) identifier))) ;) (expression_statement "bVar26 = local_c4 == (undefined *)0x0;" (assignment_expression "bVar26 = local_c4 == (undefined *)0x0" identifier = (binary_expression "local_c4 == (undefined *)0x0" identifier == (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal))) ;) }) (else_clause "else {\n          *(undefined ***)((int)piVar18 + -0xc) = local_70;\n          *(int *)((int)piVar18 + -0x10) = param_2;\n          *(undefined4 *)((int)piVar18 + -0x14) = 0xd29d2;\n          local_70 = (undefined **)FUN_0034cd90();\n          if ((*(byte *)((int)local_70 + 0x2a) & 7) != 0) goto LAB_000d29e2;\nLAB_000d25f7:\n          local_f0 = (undefined **)local_70[0xc];\n          local_c0 = (undefined **)local_70[2];\n          local_c4 = local_bc + (int)local_f0;\n          if (((uint)local_c0[0xb] & 1) == 0) {\n            local_b4 = (undefined **)local_70[3];\n            bVar13 = *(byte *)((int)local_70 + 0x2b) >> 5 & 1;\n            bVar24 = (*(byte *)(local_70 + 10) & 0xf) < 2;\n            bVar26 = (*(byte *)(local_70 + 10) & 0xf) == 2;\n            if (bVar26) {\n              bVar24 = false;\n              bVar26 = local_d2 == '\0';\n              if ((!bVar26) &&\n                 (((bVar13 == 0 || (bVar26 = uVar21 == 0x17, 0x17 < uVar21)) ||\n                  (bVar24 = (0x843f84U >> (uVar2 & 0x1f) & 1) != 0, !bVar24)))) {\n                local_b0 = *(undefined ****)(param_2 + 0x15c);\n                *(undefined4 *)((int)piVar18 + -0xc) = 1;\n                *(undefined4 *)((int)piVar18 + -0x10) = 0;\n                *(undefined *****)((int)piVar18 + -0x14) = &local_94;\n                *(undefined ****)((int)piVar18 + -0x18) = &local_78;\n                local_94 = local_b0 + 0xd;\n                *(undefined ****)((int)piVar18 + -0x1c) = local_94;\n                *(undefined1 **)((int)piVar18 + -0x20) = local_e0;\n                    /* try { // try from 000d2cc6 to 000d2cca has its CatchHandler @ 000d302c */\n                *(undefined4 *)((int)piVar18 + -0x24) = 0xd2ccb;\n                local_78 = local_c0;\n                local_74 = local_b4;\n                FUN_00074280();\n                bVar24 = (undefined1 *)0xffffffe3 < (undefined1 *)((int)piVar18 + -0x20);\n                bVar26 = piVar18 == (int *)0x4;\n                piVar18 = (int *)((int)piVar18 + -4);\n              }\n            }\n          }\n          else {\n            local_b4 = (undefined **)0x0;\n            bVar24 = false;\n            bVar13 = 0;\n            bVar26 = true;\n            local_c0 = (undefined **)0x0;\n          }\n        }" else (compound_statement "{\n          *(undefined ***)((int)piVar18 + -0xc) = local_70;\n          *(int *)((int)piVar18 + -0x10) = param_2;\n          *(undefined4 *)((int)piVar18 + -0x14) = 0xd29d2;\n          local_70 = (undefined **)FUN_0034cd90();\n          if ((*(byte *)((int)local_70 + 0x2a) & 7) != 0) goto LAB_000d29e2;\nLAB_000d25f7:\n          local_f0 = (undefined **)local_70[0xc];\n          local_c0 = (undefined **)local_70[2];\n          local_c4 = local_bc + (int)local_f0;\n          if (((uint)local_c0[0xb] & 1) == 0) {\n            local_b4 = (undefined **)local_70[3];\n            bVar13 = *(byte *)((int)local_70 + 0x2b) >> 5 & 1;\n            bVar24 = (*(byte *)(local_70 + 10) & 0xf) < 2;\n            bVar26 = (*(byte *)(local_70 + 10) & 0xf) == 2;\n            if (bVar26) {\n              bVar24 = false;\n              bVar26 = local_d2 == '\0';\n              if ((!bVar26) &&\n                 (((bVar13 == 0 || (bVar26 = uVar21 == 0x17, 0x17 < uVar21)) ||\n                  (bVar24 = (0x843f84U >> (uVar2 & 0x1f) & 1) != 0, !bVar24)))) {\n                local_b0 = *(undefined ****)(param_2 + 0x15c);\n                *(undefined4 *)((int)piVar18 + -0xc) = 1;\n                *(undefined4 *)((int)piVar18 + -0x10) = 0;\n                *(undefined *****)((int)piVar18 + -0x14) = &local_94;\n                *(undefined ****)((int)piVar18 + -0x18) = &local_78;\n                local_94 = local_b0 + 0xd;\n                *(undefined ****)((int)piVar18 + -0x1c) = local_94;\n                *(undefined1 **)((int)piVar18 + -0x20) = local_e0;\n                    /* try { // try from 000d2cc6 to 000d2cca has its CatchHandler @ 000d302c */\n                *(undefined4 *)((int)piVar18 + -0x24) = 0xd2ccb;\n                local_78 = local_c0;\n                local_74 = local_b4;\n                FUN_00074280();\n                bVar24 = (undefined1 *)0xffffffe3 < (undefined1 *)((int)piVar18 + -0x20);\n                bVar26 = piVar18 == (int *)0x4;\n                piVar18 = (int *)((int)piVar18 + -4);\n              }\n            }\n          }\n          else {\n            local_b4 = (undefined **)0x0;\n            bVar24 = false;\n            bVar13 = 0;\n            bVar26 = true;\n            local_c0 = (undefined **)0x0;\n          }\n        }" { (expression_statement "*(undefined ***)((int)piVar18 + -0xc) = local_70;" (assignment_expression "*(undefined ***)((int)piVar18 + -0xc) = local_70" (pointer_expression "*(undefined ***)((int)piVar18 + -0xc)" * (cast_expression "(undefined ***)((int)piVar18 + -0xc)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "((int)piVar18 + -0xc)" ( (binary_expression "(int)piVar18 + -0xc" (cast_expression "(int)piVar18" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(int *)((int)piVar18 + -0x10) = param_2;" (assignment_expression "*(int *)((int)piVar18 + -0x10) = param_2" (pointer_expression "*(int *)((int)piVar18 + -0x10)" * (cast_expression "(int *)((int)piVar18 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar18 + -0x10)" ( (binary_expression "(int)piVar18 + -0x10" (cast_expression "(int)piVar18" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)piVar18 + -0x14) = 0xd29d2;" (assignment_expression "*(undefined4 *)((int)piVar18 + -0x14) = 0xd29d2" (pointer_expression "*(undefined4 *)((int)piVar18 + -0x14)" * (cast_expression "(undefined4 *)((int)piVar18 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar18 + -0x14)" ( (binary_expression "(int)piVar18 + -0x14" (cast_expression "(int)piVar18" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "local_70 = (undefined **)FUN_0034cd90();" (assignment_expression "local_70 = (undefined **)FUN_0034cd90()" identifier = (cast_expression "(undefined **)FUN_0034cd90()" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (call_expression "FUN_0034cd90()" identifier (argument_list "()" ( ))))) ;) (if_statement "if ((*(byte *)((int)local_70 + 0x2a) & 7) != 0) goto LAB_000d29e2;" if (parenthesized_expression "((*(byte *)((int)local_70 + 0x2a) & 7) != 0)" ( (binary_expression "(*(byte *)((int)local_70 + 0x2a) & 7) != 0" (parenthesized_expression "(*(byte *)((int)local_70 + 0x2a) & 7)" ( (binary_expression "*(byte *)((int)local_70 + 0x2a) & 7" (pointer_expression "*(byte *)((int)local_70 + 0x2a)" * (cast_expression "(byte *)((int)local_70 + 0x2a)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_70 + 0x2a)" ( (binary_expression "(int)local_70 + 0x2a" (cast_expression "(int)local_70" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) & number_literal) )) != number_literal) )) (goto_statement "goto LAB_000d29e2;" goto statement_identifier ;)) (labeled_statement "LAB_000d25f7:\n          local_f0 = (undefined **)local_70[0xc];" statement_identifier : (expression_statement "local_f0 = (undefined **)local_70[0xc];" (assignment_expression "local_f0 = (undefined **)local_70[0xc]" identifier = (cast_expression "(undefined **)local_70[0xc]" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (subscript_expression "local_70[0xc]" identifier [ number_literal ]))) ;)) (expression_statement "local_c0 = (undefined **)local_70[2];" (assignment_expression "local_c0 = (undefined **)local_70[2]" identifier = (cast_expression "(undefined **)local_70[2]" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (subscript_expression "local_70[2]" identifier [ number_literal ]))) ;) (expression_statement "local_c4 = local_bc + (int)local_f0;" (assignment_expression "local_c4 = local_bc + (int)local_f0" identifier = (binary_expression "local_bc + (int)local_f0" identifier + (cast_expression "(int)local_f0" ( (type_descriptor "int" primitive_type) ) identifier))) ;) (if_statement "if (((uint)local_c0[0xb] & 1) == 0) {\n            local_b4 = (undefined **)local_70[3];\n            bVar13 = *(byte *)((int)local_70 + 0x2b) >> 5 & 1;\n            bVar24 = (*(byte *)(local_70 + 10) & 0xf) < 2;\n            bVar26 = (*(byte *)(local_70 + 10) & 0xf) == 2;\n            if (bVar26) {\n              bVar24 = false;\n              bVar26 = local_d2 == '\0';\n              if ((!bVar26) &&\n                 (((bVar13 == 0 || (bVar26 = uVar21 == 0x17, 0x17 < uVar21)) ||\n                  (bVar24 = (0x843f84U >> (uVar2 & 0x1f) & 1) != 0, !bVar24)))) {\n                local_b0 = *(undefined ****)(param_2 + 0x15c);\n                *(undefined4 *)((int)piVar18 + -0xc) = 1;\n                *(undefined4 *)((int)piVar18 + -0x10) = 0;\n                *(undefined *****)((int)piVar18 + -0x14) = &local_94;\n                *(undefined ****)((int)piVar18 + -0x18) = &local_78;\n                local_94 = local_b0 + 0xd;\n                *(undefined ****)((int)piVar18 + -0x1c) = local_94;\n                *(undefined1 **)((int)piVar18 + -0x20) = local_e0;\n                    /* try { // try from 000d2cc6 to 000d2cca has its CatchHandler @ 000d302c */\n                *(undefined4 *)((int)piVar18 + -0x24) = 0xd2ccb;\n                local_78 = local_c0;\n                local_74 = local_b4;\n                FUN_00074280();\n                bVar24 = (undefined1 *)0xffffffe3 < (undefined1 *)((int)piVar18 + -0x20);\n                bVar26 = piVar18 == (int *)0x4;\n                piVar18 = (int *)((int)piVar18 + -4);\n              }\n            }\n          }\n          else {\n            local_b4 = (undefined **)0x0;\n            bVar24 = false;\n            bVar13 = 0;\n            bVar26 = true;\n            local_c0 = (undefined **)0x0;\n          }" if (parenthesized_expression "(((uint)local_c0[0xb] & 1) == 0)" ( (binary_expression "((uint)local_c0[0xb] & 1) == 0" (parenthesized_expression "((uint)local_c0[0xb] & 1)" ( (binary_expression "(uint)local_c0[0xb] & 1" (cast_expression "(uint)local_c0[0xb]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "local_c0[0xb]" identifier [ number_literal ])) & number_literal) )) == number_literal) )) (compound_statement "{\n            local_b4 = (undefined **)local_70[3];\n            bVar13 = *(byte *)((int)local_70 + 0x2b) >> 5 & 1;\n            bVar24 = (*(byte *)(local_70 + 10) & 0xf) < 2;\n            bVar26 = (*(byte *)(local_70 + 10) & 0xf) == 2;\n            if (bVar26) {\n              bVar24 = false;\n              bVar26 = local_d2 == '\0';\n              if ((!bVar26) &&\n                 (((bVar13 == 0 || (bVar26 = uVar21 == 0x17, 0x17 < uVar21)) ||\n                  (bVar24 = (0x843f84U >> (uVar2 & 0x1f) & 1) != 0, !bVar24)))) {\n                local_b0 = *(undefined ****)(param_2 + 0x15c);\n                *(undefined4 *)((int)piVar18 + -0xc) = 1;\n                *(undefined4 *)((int)piVar18 + -0x10) = 0;\n                *(undefined *****)((int)piVar18 + -0x14) = &local_94;\n                *(undefined ****)((int)piVar18 + -0x18) = &local_78;\n                local_94 = local_b0 + 0xd;\n                *(undefined ****)((int)piVar18 + -0x1c) = local_94;\n                *(undefined1 **)((int)piVar18 + -0x20) = local_e0;\n                    /* try { // try from 000d2cc6 to 000d2cca has its CatchHandler @ 000d302c */\n                *(undefined4 *)((int)piVar18 + -0x24) = 0xd2ccb;\n                local_78 = local_c0;\n                local_74 = local_b4;\n                FUN_00074280();\n                bVar24 = (undefined1 *)0xffffffe3 < (undefined1 *)((int)piVar18 + -0x20);\n                bVar26 = piVar18 == (int *)0x4;\n                piVar18 = (int *)((int)piVar18 + -4);\n              }\n            }\n          }" { (expression_statement "local_b4 = (undefined **)local_70[3];" (assignment_expression "local_b4 = (undefined **)local_70[3]" identifier = (cast_expression "(undefined **)local_70[3]" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (subscript_expression "local_70[3]" identifier [ number_literal ]))) ;) (expression_statement "bVar13 = *(byte *)((int)local_70 + 0x2b) >> 5 & 1;" (assignment_expression "bVar13 = *(byte *)((int)local_70 + 0x2b) >> 5 & 1" identifier = (binary_expression "*(byte *)((int)local_70 + 0x2b) >> 5 & 1" (binary_expression "*(byte *)((int)local_70 + 0x2b) >> 5" (pointer_expression "*(byte *)((int)local_70 + 0x2b)" * (cast_expression "(byte *)((int)local_70 + 0x2b)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_70 + 0x2b)" ( (binary_expression "(int)local_70 + 0x2b" (cast_expression "(int)local_70" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) >> number_literal) & number_literal)) ;) (expression_statement "bVar24 = (*(byte *)(local_70 + 10) & 0xf) < 2;" (assignment_expression "bVar24 = (*(byte *)(local_70 + 10) & 0xf) < 2" identifier = (binary_expression "(*(byte *)(local_70 + 10) & 0xf) < 2" (parenthesized_expression "(*(byte *)(local_70 + 10) & 0xf)" ( (binary_expression "*(byte *)(local_70 + 10) & 0xf" (pointer_expression "*(byte *)(local_70 + 10)" * (cast_expression "(byte *)(local_70 + 10)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_70 + 10)" ( (binary_expression "local_70 + 10" identifier + number_literal) )))) & number_literal) )) < number_literal)) ;) (expression_statement "bVar26 = (*(byte *)(local_70 + 10) & 0xf) == 2;" (assignment_expression "bVar26 = (*(byte *)(local_70 + 10) & 0xf) == 2" identifier = (binary_expression "(*(byte *)(local_70 + 10) & 0xf) == 2" (parenthesized_expression "(*(byte *)(local_70 + 10) & 0xf)" ( (binary_expression "*(byte *)(local_70 + 10) & 0xf" (pointer_expression "*(byte *)(local_70 + 10)" * (cast_expression "(byte *)(local_70 + 10)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_70 + 10)" ( (binary_expression "local_70 + 10" identifier + number_literal) )))) & number_literal) )) == number_literal)) ;) (if_statement "if (bVar26) {\n              bVar24 = false;\n              bVar26 = local_d2 == '\0';\n              if ((!bVar26) &&\n                 (((bVar13 == 0 || (bVar26 = uVar21 == 0x17, 0x17 < uVar21)) ||\n                  (bVar24 = (0x843f84U >> (uVar2 & 0x1f) & 1) != 0, !bVar24)))) {\n                local_b0 = *(undefined ****)(param_2 + 0x15c);\n                *(undefined4 *)((int)piVar18 + -0xc) = 1;\n                *(undefined4 *)((int)piVar18 + -0x10) = 0;\n                *(undefined *****)((int)piVar18 + -0x14) = &local_94;\n                *(undefined ****)((int)piVar18 + -0x18) = &local_78;\n                local_94 = local_b0 + 0xd;\n                *(undefined ****)((int)piVar18 + -0x1c) = local_94;\n                *(undefined1 **)((int)piVar18 + -0x20) = local_e0;\n                    /* try { // try from 000d2cc6 to 000d2cca has its CatchHandler @ 000d302c */\n                *(undefined4 *)((int)piVar18 + -0x24) = 0xd2ccb;\n                local_78 = local_c0;\n                local_74 = local_b4;\n                FUN_00074280();\n                bVar24 = (undefined1 *)0xffffffe3 < (undefined1 *)((int)piVar18 + -0x20);\n                bVar26 = piVar18 == (int *)0x4;\n                piVar18 = (int *)((int)piVar18 + -4);\n              }\n            }" if (parenthesized_expression "(bVar26)" ( identifier )) (compound_statement "{\n              bVar24 = false;\n              bVar26 = local_d2 == '\0';\n              if ((!bVar26) &&\n                 (((bVar13 == 0 || (bVar26 = uVar21 == 0x17, 0x17 < uVar21)) ||\n                  (bVar24 = (0x843f84U >> (uVar2 & 0x1f) & 1) != 0, !bVar24)))) {\n                local_b0 = *(undefined ****)(param_2 + 0x15c);\n                *(undefined4 *)((int)piVar18 + -0xc) = 1;\n                *(undefined4 *)((int)piVar18 + -0x10) = 0;\n                *(undefined *****)((int)piVar18 + -0x14) = &local_94;\n                *(undefined ****)((int)piVar18 + -0x18) = &local_78;\n                local_94 = local_b0 + 0xd;\n                *(undefined ****)((int)piVar18 + -0x1c) = local_94;\n                *(undefined1 **)((int)piVar18 + -0x20) = local_e0;\n                    /* try { // try from 000d2cc6 to 000d2cca has its CatchHandler @ 000d302c */\n                *(undefined4 *)((int)piVar18 + -0x24) = 0xd2ccb;\n                local_78 = local_c0;\n                local_74 = local_b4;\n                FUN_00074280();\n                bVar24 = (undefined1 *)0xffffffe3 < (undefined1 *)((int)piVar18 + -0x20);\n                bVar26 = piVar18 == (int *)0x4;\n                piVar18 = (int *)((int)piVar18 + -4);\n              }\n            }" { (expression_statement "bVar24 = false;" (assignment_expression "bVar24 = false" identifier = false) ;) (expression_statement "bVar26 = local_d2 == '\0';" (assignment_expression "bVar26 = local_d2 == '\0'" identifier = (binary_expression "local_d2 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence '))) ;) (if_statement "if ((!bVar26) &&\n                 (((bVar13 == 0 || (bVar26 = uVar21 == 0x17, 0x17 < uVar21)) ||\n                  (bVar24 = (0x843f84U >> (uVar2 & 0x1f) & 1) != 0, !bVar24)))) {\n                local_b0 = *(undefined ****)(param_2 + 0x15c);\n                *(undefined4 *)((int)piVar18 + -0xc) = 1;\n                *(undefined4 *)((int)piVar18 + -0x10) = 0;\n                *(undefined *****)((int)piVar18 + -0x14) = &local_94;\n                *(undefined ****)((int)piVar18 + -0x18) = &local_78;\n                local_94 = local_b0 + 0xd;\n                *(undefined ****)((int)piVar18 + -0x1c) = local_94;\n                *(undefined1 **)((int)piVar18 + -0x20) = local_e0;\n                    /* try { // try from 000d2cc6 to 000d2cca has its CatchHandler @ 000d302c */\n                *(undefined4 *)((int)piVar18 + -0x24) = 0xd2ccb;\n                local_78 = local_c0;\n                local_74 = local_b4;\n                FUN_00074280();\n                bVar24 = (undefined1 *)0xffffffe3 < (undefined1 *)((int)piVar18 + -0x20);\n                bVar26 = piVar18 == (int *)0x4;\n                piVar18 = (int *)((int)piVar18 + -4);\n              }" if (parenthesized_expression "((!bVar26) &&\n                 (((bVar13 == 0 || (bVar26 = uVar21 == 0x17, 0x17 < uVar21)) ||\n                  (bVar24 = (0x843f84U >> (uVar2 & 0x1f) & 1) != 0, !bVar24))))" ( (binary_expression "(!bVar26) &&\n                 (((bVar13 == 0 || (bVar26 = uVar21 == 0x17, 0x17 < uVar21)) ||\n                  (bVar24 = (0x843f84U >> (uVar2 & 0x1f) & 1) != 0, !bVar24)))" (parenthesized_expression "(!bVar26)" ( (unary_expression "!bVar26" ! identifier) )) && (parenthesized_expression "(((bVar13 == 0 || (bVar26 = uVar21 == 0x17, 0x17 < uVar21)) ||\n                  (bVar24 = (0x843f84U >> (uVar2 & 0x1f) & 1) != 0, !bVar24)))" ( (parenthesized_expression "((bVar13 == 0 || (bVar26 = uVar21 == 0x17, 0x17 < uVar21)) ||\n                  (bVar24 = (0x843f84U >> (uVar2 & 0x1f) & 1) != 0, !bVar24))" ( (binary_expression "(bVar13 == 0 || (bVar26 = uVar21 == 0x17, 0x17 < uVar21)) ||\n                  (bVar24 = (0x843f84U >> (uVar2 & 0x1f) & 1) != 0, !bVar24)" (parenthesized_expression "(bVar13 == 0 || (bVar26 = uVar21 == 0x17, 0x17 < uVar21))" ( (binary_expression "bVar13 == 0 || (bVar26 = uVar21 == 0x17, 0x17 < uVar21)" (binary_expression "bVar13 == 0" identifier == number_literal) || (parenthesized_expression "(bVar26 = uVar21 == 0x17, 0x17 < uVar21)" ( (comma_expression "bVar26 = uVar21 == 0x17, 0x17 < uVar21" (assignment_expression "bVar26 = uVar21 == 0x17" identifier = (binary_expression "uVar21 == 0x17" identifier == number_literal)) , (binary_expression "0x17 < uVar21" number_literal < identifier)) ))) )) || (parenthesized_expression "(bVar24 = (0x843f84U >> (uVar2 & 0x1f) & 1) != 0, !bVar24)" ( (comma_expression "bVar24 = (0x843f84U >> (uVar2 & 0x1f) & 1) != 0, !bVar24" (assignment_expression "bVar24 = (0x843f84U >> (uVar2 & 0x1f) & 1) != 0" identifier = (binary_expression "(0x843f84U >> (uVar2 & 0x1f) & 1) != 0" (parenthesized_expression "(0x843f84U >> (uVar2 & 0x1f) & 1)" ( (binary_expression "0x843f84U >> (uVar2 & 0x1f) & 1" (binary_expression "0x843f84U >> (uVar2 & 0x1f)" number_literal >> (parenthesized_expression "(uVar2 & 0x1f)" ( (binary_expression "uVar2 & 0x1f" identifier & number_literal) ))) & number_literal) )) != number_literal)) , (unary_expression "!bVar24" ! identifier)) ))) )) ))) )) (compound_statement "{\n                local_b0 = *(undefined ****)(param_2 + 0x15c);\n                *(undefined4 *)((int)piVar18 + -0xc) = 1;\n                *(undefined4 *)((int)piVar18 + -0x10) = 0;\n                *(undefined *****)((int)piVar18 + -0x14) = &local_94;\n                *(undefined ****)((int)piVar18 + -0x18) = &local_78;\n                local_94 = local_b0 + 0xd;\n                *(undefined ****)((int)piVar18 + -0x1c) = local_94;\n                *(undefined1 **)((int)piVar18 + -0x20) = local_e0;\n                    /* try { // try from 000d2cc6 to 000d2cca has its CatchHandler @ 000d302c */\n                *(undefined4 *)((int)piVar18 + -0x24) = 0xd2ccb;\n                local_78 = local_c0;\n                local_74 = local_b4;\n                FUN_00074280();\n                bVar24 = (undefined1 *)0xffffffe3 < (undefined1 *)((int)piVar18 + -0x20);\n                bVar26 = piVar18 == (int *)0x4;\n                piVar18 = (int *)((int)piVar18 + -4);\n              }" { (expression_statement "local_b0 = *(undefined ****)(param_2 + 0x15c);" (assignment_expression "local_b0 = *(undefined ****)(param_2 + 0x15c)" identifier = (pointer_expression "*(undefined ****)(param_2 + 0x15c)" * (cast_expression "(undefined ****)(param_2 + 0x15c)" ( (type_descriptor "undefined ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) (parenthesized_expression "(param_2 + 0x15c)" ( (binary_expression "param_2 + 0x15c" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)((int)piVar18 + -0xc) = 1;" (assignment_expression "*(undefined4 *)((int)piVar18 + -0xc) = 1" (pointer_expression "*(undefined4 *)((int)piVar18 + -0xc)" * (cast_expression "(undefined4 *)((int)piVar18 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar18 + -0xc)" ( (binary_expression "(int)piVar18 + -0xc" (cast_expression "(int)piVar18" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)((int)piVar18 + -0x10) = 0;" (assignment_expression "*(undefined4 *)((int)piVar18 + -0x10) = 0" (pointer_expression "*(undefined4 *)((int)piVar18 + -0x10)" * (cast_expression "(undefined4 *)((int)piVar18 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar18 + -0x10)" ( (binary_expression "(int)piVar18 + -0x10" (cast_expression "(int)piVar18" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined *****)((int)piVar18 + -0x14) = &local_94;" (assignment_expression "*(undefined *****)((int)piVar18 + -0x14) = &local_94" (pointer_expression "*(undefined *****)((int)piVar18 + -0x14)" * (cast_expression "(undefined *****)((int)piVar18 + -0x14)" ( (type_descriptor "undefined *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (parenthesized_expression "((int)piVar18 + -0x14)" ( (binary_expression "(int)piVar18 + -0x14" (cast_expression "(int)piVar18" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "&local_94" & identifier)) ;) (expression_statement "*(undefined ****)((int)piVar18 + -0x18) = &local_78;" (assignment_expression "*(undefined ****)((int)piVar18 + -0x18) = &local_78" (pointer_expression "*(undefined ****)((int)piVar18 + -0x18)" * (cast_expression "(undefined ****)((int)piVar18 + -0x18)" ( (type_descriptor "undefined ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) (parenthesized_expression "((int)piVar18 + -0x18)" ( (binary_expression "(int)piVar18 + -0x18" (cast_expression "(int)piVar18" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "&local_78" & identifier)) ;) (expression_statement "local_94 = local_b0 + 0xd;" (assignment_expression "local_94 = local_b0 + 0xd" identifier = (binary_expression "local_b0 + 0xd" identifier + number_literal)) ;) (expression_statement "*(undefined ****)((int)piVar18 + -0x1c) = local_94;" (assignment_expression "*(undefined ****)((int)piVar18 + -0x1c) = local_94" (pointer_expression "*(undefined ****)((int)piVar18 + -0x1c)" * (cast_expression "(undefined ****)((int)piVar18 + -0x1c)" ( (type_descriptor "undefined ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) (parenthesized_expression "((int)piVar18 + -0x1c)" ( (binary_expression "(int)piVar18 + -0x1c" (cast_expression "(int)piVar18" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined1 **)((int)piVar18 + -0x20) = local_e0;" (assignment_expression "*(undefined1 **)((int)piVar18 + -0x20) = local_e0" (pointer_expression "*(undefined1 **)((int)piVar18 + -0x20)" * (cast_expression "(undefined1 **)((int)piVar18 + -0x20)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)piVar18 + -0x20)" ( (binary_expression "(int)piVar18 + -0x20" (cast_expression "(int)piVar18" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) comment (expression_statement "*(undefined4 *)((int)piVar18 + -0x24) = 0xd2ccb;" (assignment_expression "*(undefined4 *)((int)piVar18 + -0x24) = 0xd2ccb" (pointer_expression "*(undefined4 *)((int)piVar18 + -0x24)" * (cast_expression "(undefined4 *)((int)piVar18 + -0x24)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar18 + -0x24)" ( (binary_expression "(int)piVar18 + -0x24" (cast_expression "(int)piVar18" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "local_78 = local_c0;" (assignment_expression "local_78 = local_c0" identifier = identifier) ;) (expression_statement "local_74 = local_b4;" (assignment_expression "local_74 = local_b4" identifier = identifier) ;) (expression_statement "FUN_00074280();" (call_expression "FUN_00074280()" identifier (argument_list "()" ( ))) ;) (expression_statement "bVar24 = (undefined1 *)0xffffffe3 < (undefined1 *)((int)piVar18 + -0x20);" (assignment_expression "bVar24 = (undefined1 *)0xffffffe3 < (undefined1 *)((int)piVar18 + -0x20)" identifier = (binary_expression "(undefined1 *)0xffffffe3 < (undefined1 *)((int)piVar18 + -0x20)" (cast_expression "(undefined1 *)0xffffffe3" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) < (cast_expression "(undefined1 *)((int)piVar18 + -0x20)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar18 + -0x20)" ( (binary_expression "(int)piVar18 + -0x20" (cast_expression "(int)piVar18" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "bVar26 = piVar18 == (int *)0x4;" (assignment_expression "bVar26 = piVar18 == (int *)0x4" identifier = (binary_expression "piVar18 == (int *)0x4" identifier == (cast_expression "(int *)0x4" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal))) ;) (expression_statement "piVar18 = (int *)((int)piVar18 + -4);" (assignment_expression "piVar18 = (int *)((int)piVar18 + -4)" identifier = (cast_expression "(int *)((int)piVar18 + -4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar18 + -4)" ( (binary_expression "(int)piVar18 + -4" (cast_expression "(int)piVar18" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) })) })) }) (else_clause "else {\n            local_b4 = (undefined **)0x0;\n            bVar24 = false;\n            bVar13 = 0;\n            bVar26 = true;\n            local_c0 = (undefined **)0x0;\n          }" else (compound_statement "{\n            local_b4 = (undefined **)0x0;\n            bVar24 = false;\n            bVar13 = 0;\n            bVar26 = true;\n            local_c0 = (undefined **)0x0;\n          }" { (expression_statement "local_b4 = (undefined **)0x0;" (assignment_expression "local_b4 = (undefined **)0x0" identifier = (cast_expression "(undefined **)0x0" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) ;) (expression_statement "bVar24 = false;" (assignment_expression "bVar24 = false" identifier = false) ;) (expression_statement "bVar13 = 0;" (assignment_expression "bVar13 = 0" identifier = number_literal) ;) (expression_statement "bVar26 = true;" (assignment_expression "bVar26 = true" identifier = true) ;) (expression_statement "local_c0 = (undefined **)0x0;" (assignment_expression "local_c0 = (undefined **)0x0" identifier = (cast_expression "(undefined **)0x0" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) ;) }))) }))) (expression_statement "pbVar20 = *local_70;" (assignment_expression "pbVar20 = *local_70" identifier = (pointer_expression "*local_70" * identifier)) ;) (expression_statement "iVar19 = 8;" (assignment_expression "iVar19 = 8" identifier = number_literal) ;) (expression_statement "pbVar9 = (byte *)((int)local_b8 + -0x19ca26);" (assignment_expression "pbVar9 = (byte *)((int)local_b8 + -0x19ca26)" identifier = (cast_expression "(byte *)((int)local_b8 + -0x19ca26)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_b8 + -0x19ca26)" ( (binary_expression "(int)local_b8 + -0x19ca26" (cast_expression "(int)local_b8" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "pbVar22 = pbVar20;" (assignment_expression "pbVar22 = pbVar20" identifier = identifier) ;) (do_statement "do {\n          if (iVar19 == 0) break;\n          iVar19 = iVar19 + -1;\n          bVar24 = *pbVar9 < *pbVar22;\n          bVar26 = *pbVar9 == *pbVar22;\n          pbVar9 = pbVar9 + (uint)bVar27 * -2 + 1;\n          pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n        } while (bVar26);" do (compound_statement "{\n          if (iVar19 == 0) break;\n          iVar19 = iVar19 + -1;\n          bVar24 = *pbVar9 < *pbVar22;\n          bVar26 = *pbVar9 == *pbVar22;\n          pbVar9 = pbVar9 + (uint)bVar27 * -2 + 1;\n          pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n        }" { (if_statement "if (iVar19 == 0) break;" if (parenthesized_expression "(iVar19 == 0)" ( (binary_expression "iVar19 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar19 = iVar19 + -1;" (assignment_expression "iVar19 = iVar19 + -1" identifier = (binary_expression "iVar19 + -1" identifier + number_literal)) ;) (expression_statement "bVar24 = *pbVar9 < *pbVar22;" (assignment_expression "bVar24 = *pbVar9 < *pbVar22" identifier = (binary_expression "*pbVar9 < *pbVar22" (pointer_expression "*pbVar9" * identifier) < (pointer_expression "*pbVar22" * identifier))) ;) (expression_statement "bVar26 = *pbVar9 == *pbVar22;" (assignment_expression "bVar26 = *pbVar9 == *pbVar22" identifier = (binary_expression "*pbVar9 == *pbVar22" (pointer_expression "*pbVar9" * identifier) == (pointer_expression "*pbVar22" * identifier))) ;) (expression_statement "pbVar9 = pbVar9 + (uint)bVar27 * -2 + 1;" (assignment_expression "pbVar9 = pbVar9 + (uint)bVar27 * -2 + 1" identifier = (binary_expression "pbVar9 + (uint)bVar27 * -2 + 1" (binary_expression "pbVar9 + (uint)bVar27 * -2" identifier + (binary_expression "(uint)bVar27 * -2" (cast_expression "(uint)bVar27" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;" (assignment_expression "pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1" identifier = (binary_expression "pbVar22 + (uint)bVar27 * -2 + 1" (binary_expression "pbVar22 + (uint)bVar27 * -2" identifier + (binary_expression "(uint)bVar27 * -2" (cast_expression "(uint)bVar27" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(bVar26)" ( identifier )) ;) (expression_statement "bVar25 = false;" (assignment_expression "bVar25 = false" identifier = false) ;) (expression_statement "bVar24 = (!bVar24 && !bVar26) == bVar24;" (assignment_expression "bVar24 = (!bVar24 && !bVar26) == bVar24" identifier = (binary_expression "(!bVar24 && !bVar26) == bVar24" (parenthesized_expression "(!bVar24 && !bVar26)" ( (binary_expression "!bVar24 && !bVar26" (unary_expression "!bVar24" ! identifier) && (unary_expression "!bVar26" ! identifier)) )) == identifier)) ;) (if_statement "if (bVar24) {\n          pbVar20 = pbVar20 + 8;\n        }\n        else {\n          iVar19 = 7;\n          pbVar9 = (byte *)((int)local_b8 + -0x19ca1d);\n          pbVar22 = pbVar20;\n          do {\n            if (iVar19 == 0) break;\n            iVar19 = iVar19 + -1;\n            bVar25 = *pbVar9 < *pbVar22;\n            bVar24 = *pbVar9 == *pbVar22;\n            pbVar9 = pbVar9 + (uint)bVar27 * -2 + 1;\n            pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n          } while (bVar24);\n          pbVar20 = pbVar20 + 7;\n          if ((!bVar25 && !bVar24) != bVar25) {\n            pbVar20 = local_d8;\n          }\n        }" if (parenthesized_expression "(bVar24)" ( identifier )) (compound_statement "{\n          pbVar20 = pbVar20 + 8;\n        }" { (expression_statement "pbVar20 = pbVar20 + 8;" (assignment_expression "pbVar20 = pbVar20 + 8" identifier = (binary_expression "pbVar20 + 8" identifier + number_literal)) ;) }) (else_clause "else {\n          iVar19 = 7;\n          pbVar9 = (byte *)((int)local_b8 + -0x19ca1d);\n          pbVar22 = pbVar20;\n          do {\n            if (iVar19 == 0) break;\n            iVar19 = iVar19 + -1;\n            bVar25 = *pbVar9 < *pbVar22;\n            bVar24 = *pbVar9 == *pbVar22;\n            pbVar9 = pbVar9 + (uint)bVar27 * -2 + 1;\n            pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n          } while (bVar24);\n          pbVar20 = pbVar20 + 7;\n          if ((!bVar25 && !bVar24) != bVar25) {\n            pbVar20 = local_d8;\n          }\n        }" else (compound_statement "{\n          iVar19 = 7;\n          pbVar9 = (byte *)((int)local_b8 + -0x19ca1d);\n          pbVar22 = pbVar20;\n          do {\n            if (iVar19 == 0) break;\n            iVar19 = iVar19 + -1;\n            bVar25 = *pbVar9 < *pbVar22;\n            bVar24 = *pbVar9 == *pbVar22;\n            pbVar9 = pbVar9 + (uint)bVar27 * -2 + 1;\n            pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n          } while (bVar24);\n          pbVar20 = pbVar20 + 7;\n          if ((!bVar25 && !bVar24) != bVar25) {\n            pbVar20 = local_d8;\n          }\n        }" { (expression_statement "iVar19 = 7;" (assignment_expression "iVar19 = 7" identifier = number_literal) ;) (expression_statement "pbVar9 = (byte *)((int)local_b8 + -0x19ca1d);" (assignment_expression "pbVar9 = (byte *)((int)local_b8 + -0x19ca1d)" identifier = (cast_expression "(byte *)((int)local_b8 + -0x19ca1d)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_b8 + -0x19ca1d)" ( (binary_expression "(int)local_b8 + -0x19ca1d" (cast_expression "(int)local_b8" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "pbVar22 = pbVar20;" (assignment_expression "pbVar22 = pbVar20" identifier = identifier) ;) (do_statement "do {\n            if (iVar19 == 0) break;\n            iVar19 = iVar19 + -1;\n            bVar25 = *pbVar9 < *pbVar22;\n            bVar24 = *pbVar9 == *pbVar22;\n            pbVar9 = pbVar9 + (uint)bVar27 * -2 + 1;\n            pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n          } while (bVar24);" do (compound_statement "{\n            if (iVar19 == 0) break;\n            iVar19 = iVar19 + -1;\n            bVar25 = *pbVar9 < *pbVar22;\n            bVar24 = *pbVar9 == *pbVar22;\n            pbVar9 = pbVar9 + (uint)bVar27 * -2 + 1;\n            pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n          }" { (if_statement "if (iVar19 == 0) break;" if (parenthesized_expression "(iVar19 == 0)" ( (binary_expression "iVar19 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar19 = iVar19 + -1;" (assignment_expression "iVar19 = iVar19 + -1" identifier = (binary_expression "iVar19 + -1" identifier + number_literal)) ;) (expression_statement "bVar25 = *pbVar9 < *pbVar22;" (assignment_expression "bVar25 = *pbVar9 < *pbVar22" identifier = (binary_expression "*pbVar9 < *pbVar22" (pointer_expression "*pbVar9" * identifier) < (pointer_expression "*pbVar22" * identifier))) ;) (expression_statement "bVar24 = *pbVar9 == *pbVar22;" (assignment_expression "bVar24 = *pbVar9 == *pbVar22" identifier = (binary_expression "*pbVar9 == *pbVar22" (pointer_expression "*pbVar9" * identifier) == (pointer_expression "*pbVar22" * identifier))) ;) (expression_statement "pbVar9 = pbVar9 + (uint)bVar27 * -2 + 1;" (assignment_expression "pbVar9 = pbVar9 + (uint)bVar27 * -2 + 1" identifier = (binary_expression "pbVar9 + (uint)bVar27 * -2 + 1" (binary_expression "pbVar9 + (uint)bVar27 * -2" identifier + (binary_expression "(uint)bVar27 * -2" (cast_expression "(uint)bVar27" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;" (assignment_expression "pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1" identifier = (binary_expression "pbVar22 + (uint)bVar27 * -2 + 1" (binary_expression "pbVar22 + (uint)bVar27 * -2" identifier + (binary_expression "(uint)bVar27 * -2" (cast_expression "(uint)bVar27" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(bVar24)" ( identifier )) ;) (expression_statement "pbVar20 = pbVar20 + 7;" (assignment_expression "pbVar20 = pbVar20 + 7" identifier = (binary_expression "pbVar20 + 7" identifier + number_literal)) ;) (if_statement "if ((!bVar25 && !bVar24) != bVar25) {\n            pbVar20 = local_d8;\n          }" if (parenthesized_expression "((!bVar25 && !bVar24) != bVar25)" ( (binary_expression "(!bVar25 && !bVar24) != bVar25" (parenthesized_expression "(!bVar25 && !bVar24)" ( (binary_expression "!bVar25 && !bVar24" (unary_expression "!bVar25" ! identifier) && (unary_expression "!bVar24" ! identifier)) )) != identifier) )) (compound_statement "{\n            pbVar20 = local_d8;\n          }" { (expression_statement "pbVar20 = local_d8;" (assignment_expression "pbVar20 = local_d8" identifier = identifier) ;) })) }))) (expression_statement "local_d8 = pbVar20;" (assignment_expression "local_d8 = pbVar20" identifier = identifier) ;) (if_statement "if (local_d1 != '\0') {\n          if (bVar13 == 0) {\n            local_34 = (undefined **)0x0;\n            local_30 = (undefined **)0x0;\n          }\n          else {\n            local_34 = local_c0;\n            local_30 = local_b4;\n          }\n          local_b0 = &local_34;\n          *(undefined ****)((int)piVar18 + -0xc) = local_b0;\n          *(int *)((int)piVar18 + -0x10) = local_c8;\n          *(undefined4 *)((int)piVar18 + -0x14) = 0xd26b9;\n          FUN_00073b00();\n          puVar1 = *(undefined4 **)(local_cc + 4);\n          if (puVar1 == *(undefined4 **)(local_cc + 8)) {\n            *(undefined ****)((int)piVar18 + -8) = &local_70;\n            *(undefined4 **)((int)piVar18 + -0xc) = puVar1;\n            *(int *)((int)piVar18 + -0x10) = local_cc;\n            *(undefined4 *)((int)piVar18 + -0x14) = 0xd2b4b;\n            FUN_000726c0();\n          }\n          else {\n            *puVar1 = local_70;\n            *(undefined4 **)(local_cc + 4) = puVar1 + 1;\n          }\n          *(undefined ****)((int)piVar18 + -0xc) = local_b0;\n          *(undefined ***)((int)piVar18 + -0x10) = local_e8;\n          local_34 = local_f0;\n          local_30 = (undefined **)0x0;\n          local_2c = local_bc;\n          local_28 = (int)local_bc >> 0x1f;\n          *(undefined4 *)((int)piVar18 + -0x14) = 0xd270d;\n          FUN_00073e70();\n          local_30 = (undefined **)0x0;\n          local_34 = (undefined **)*param_7;\n          puVar1 = *(undefined4 **)(local_d0 + 4);\n          if (puVar1 == *(undefined4 **)(local_d0 + 8)) {\n            *(undefined ****)((int)piVar18 + -8) = local_b0;\n            *(undefined4 **)((int)piVar18 + -0xc) = puVar1;\n            *(int *)((int)piVar18 + -0x10) = local_d0;\n            *(undefined4 *)((int)piVar18 + -0x14) = 0xd2bbd;\n            FUN_00072a40();\n          }\n          else {\n            *puVar1 = local_34;\n            puVar1[1] = 0;\n            *(undefined4 **)(local_d0 + 4) = puVar1 + 2;\n          }\n          local_68 = (undefined **)0x0;\n          *(undefined ****)((int)piVar18 + -0xc) = &local_68;\n          *(int *)((int)piVar18 + -0x10) = local_ec;\n          *(undefined4 *)((int)piVar18 + -0x14) = 0xd2753;\n          FUN_00074020();\n        }" if (parenthesized_expression "(local_d1 != '\0')" ( (binary_expression "local_d1 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n          if (bVar13 == 0) {\n            local_34 = (undefined **)0x0;\n            local_30 = (undefined **)0x0;\n          }\n          else {\n            local_34 = local_c0;\n            local_30 = local_b4;\n          }\n          local_b0 = &local_34;\n          *(undefined ****)((int)piVar18 + -0xc) = local_b0;\n          *(int *)((int)piVar18 + -0x10) = local_c8;\n          *(undefined4 *)((int)piVar18 + -0x14) = 0xd26b9;\n          FUN_00073b00();\n          puVar1 = *(undefined4 **)(local_cc + 4);\n          if (puVar1 == *(undefined4 **)(local_cc + 8)) {\n            *(undefined ****)((int)piVar18 + -8) = &local_70;\n            *(undefined4 **)((int)piVar18 + -0xc) = puVar1;\n            *(int *)((int)piVar18 + -0x10) = local_cc;\n            *(undefined4 *)((int)piVar18 + -0x14) = 0xd2b4b;\n            FUN_000726c0();\n          }\n          else {\n            *puVar1 = local_70;\n            *(undefined4 **)(local_cc + 4) = puVar1 + 1;\n          }\n          *(undefined ****)((int)piVar18 + -0xc) = local_b0;\n          *(undefined ***)((int)piVar18 + -0x10) = local_e8;\n          local_34 = local_f0;\n          local_30 = (undefined **)0x0;\n          local_2c = local_bc;\n          local_28 = (int)local_bc >> 0x1f;\n          *(undefined4 *)((int)piVar18 + -0x14) = 0xd270d;\n          FUN_00073e70();\n          local_30 = (undefined **)0x0;\n          local_34 = (undefined **)*param_7;\n          puVar1 = *(undefined4 **)(local_d0 + 4);\n          if (puVar1 == *(undefined4 **)(local_d0 + 8)) {\n            *(undefined ****)((int)piVar18 + -8) = local_b0;\n            *(undefined4 **)((int)piVar18 + -0xc) = puVar1;\n            *(int *)((int)piVar18 + -0x10) = local_d0;\n            *(undefined4 *)((int)piVar18 + -0x14) = 0xd2bbd;\n            FUN_00072a40();\n          }\n          else {\n            *puVar1 = local_34;\n            puVar1[1] = 0;\n            *(undefined4 **)(local_d0 + 4) = puVar1 + 2;\n          }\n          local_68 = (undefined **)0x0;\n          *(undefined ****)((int)piVar18 + -0xc) = &local_68;\n          *(int *)((int)piVar18 + -0x10) = local_ec;\n          *(undefined4 *)((int)piVar18 + -0x14) = 0xd2753;\n          FUN_00074020();\n        }" { (if_statement "if (bVar13 == 0) {\n            local_34 = (undefined **)0x0;\n            local_30 = (undefined **)0x0;\n          }\n          else {\n            local_34 = local_c0;\n            local_30 = local_b4;\n          }" if (parenthesized_expression "(bVar13 == 0)" ( (binary_expression "bVar13 == 0" identifier == number_literal) )) (compound_statement "{\n            local_34 = (undefined **)0x0;\n            local_30 = (undefined **)0x0;\n          }" { (expression_statement "local_34 = (undefined **)0x0;" (assignment_expression "local_34 = (undefined **)0x0" identifier = (cast_expression "(undefined **)0x0" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) ;) (expression_statement "local_30 = (undefined **)0x0;" (assignment_expression "local_30 = (undefined **)0x0" identifier = (cast_expression "(undefined **)0x0" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) ;) }) (else_clause "else {\n            local_34 = local_c0;\n            local_30 = local_b4;\n          }" else (compound_statement "{\n            local_34 = local_c0;\n            local_30 = local_b4;\n          }" { (expression_statement "local_34 = local_c0;" (assignment_expression "local_34 = local_c0" identifier = identifier) ;) (expression_statement "local_30 = local_b4;" (assignment_expression "local_30 = local_b4" identifier = identifier) ;) }))) (expression_statement "local_b0 = &local_34;" (assignment_expression "local_b0 = &local_34" identifier = (pointer_expression "&local_34" & identifier)) ;) (expression_statement "*(undefined ****)((int)piVar18 + -0xc) = local_b0;" (assignment_expression "*(undefined ****)((int)piVar18 + -0xc) = local_b0" (pointer_expression "*(undefined ****)((int)piVar18 + -0xc)" * (cast_expression "(undefined ****)((int)piVar18 + -0xc)" ( (type_descriptor "undefined ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) (parenthesized_expression "((int)piVar18 + -0xc)" ( (binary_expression "(int)piVar18 + -0xc" (cast_expression "(int)piVar18" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(int *)((int)piVar18 + -0x10) = local_c8;" (assignment_expression "*(int *)((int)piVar18 + -0x10) = local_c8" (pointer_expression "*(int *)((int)piVar18 + -0x10)" * (cast_expression "(int *)((int)piVar18 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar18 + -0x10)" ( (binary_expression "(int)piVar18 + -0x10" (cast_expression "(int)piVar18" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)piVar18 + -0x14) = 0xd26b9;" (assignment_expression "*(undefined4 *)((int)piVar18 + -0x14) = 0xd26b9" (pointer_expression "*(undefined4 *)((int)piVar18 + -0x14)" * (cast_expression "(undefined4 *)((int)piVar18 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar18 + -0x14)" ( (binary_expression "(int)piVar18 + -0x14" (cast_expression "(int)piVar18" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "FUN_00073b00();" (call_expression "FUN_00073b00()" identifier (argument_list "()" ( ))) ;) (expression_statement "puVar1 = *(undefined4 **)(local_cc + 4);" (assignment_expression "puVar1 = *(undefined4 **)(local_cc + 4)" identifier = (pointer_expression "*(undefined4 **)(local_cc + 4)" * (cast_expression "(undefined4 **)(local_cc + 4)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(local_cc + 4)" ( (binary_expression "local_cc + 4" identifier + number_literal) ))))) ;) (if_statement "if (puVar1 == *(undefined4 **)(local_cc + 8)) {\n            *(undefined ****)((int)piVar18 + -8) = &local_70;\n            *(undefined4 **)((int)piVar18 + -0xc) = puVar1;\n            *(int *)((int)piVar18 + -0x10) = local_cc;\n            *(undefined4 *)((int)piVar18 + -0x14) = 0xd2b4b;\n            FUN_000726c0();\n          }\n          else {\n            *puVar1 = local_70;\n            *(undefined4 **)(local_cc + 4) = puVar1 + 1;\n          }" if (parenthesized_expression "(puVar1 == *(undefined4 **)(local_cc + 8))" ( (binary_expression "puVar1 == *(undefined4 **)(local_cc + 8)" identifier == (pointer_expression "*(undefined4 **)(local_cc + 8)" * (cast_expression "(undefined4 **)(local_cc + 8)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(local_cc + 8)" ( (binary_expression "local_cc + 8" identifier + number_literal) ))))) )) (compound_statement "{\n            *(undefined ****)((int)piVar18 + -8) = &local_70;\n            *(undefined4 **)((int)piVar18 + -0xc) = puVar1;\n            *(int *)((int)piVar18 + -0x10) = local_cc;\n            *(undefined4 *)((int)piVar18 + -0x14) = 0xd2b4b;\n            FUN_000726c0();\n          }" { (expression_statement "*(undefined ****)((int)piVar18 + -8) = &local_70;" (assignment_expression "*(undefined ****)((int)piVar18 + -8) = &local_70" (pointer_expression "*(undefined ****)((int)piVar18 + -8)" * (cast_expression "(undefined ****)((int)piVar18 + -8)" ( (type_descriptor "undefined ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) (parenthesized_expression "((int)piVar18 + -8)" ( (binary_expression "(int)piVar18 + -8" (cast_expression "(int)piVar18" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "&local_70" & identifier)) ;) (expression_statement "*(undefined4 **)((int)piVar18 + -0xc) = puVar1;" (assignment_expression "*(undefined4 **)((int)piVar18 + -0xc) = puVar1" (pointer_expression "*(undefined4 **)((int)piVar18 + -0xc)" * (cast_expression "(undefined4 **)((int)piVar18 + -0xc)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)piVar18 + -0xc)" ( (binary_expression "(int)piVar18 + -0xc" (cast_expression "(int)piVar18" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(int *)((int)piVar18 + -0x10) = local_cc;" (assignment_expression "*(int *)((int)piVar18 + -0x10) = local_cc" (pointer_expression "*(int *)((int)piVar18 + -0x10)" * (cast_expression "(int *)((int)piVar18 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar18 + -0x10)" ( (binary_expression "(int)piVar18 + -0x10" (cast_expression "(int)piVar18" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)piVar18 + -0x14) = 0xd2b4b;" (assignment_expression "*(undefined4 *)((int)piVar18 + -0x14) = 0xd2b4b" (pointer_expression "*(undefined4 *)((int)piVar18 + -0x14)" * (cast_expression "(undefined4 *)((int)piVar18 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar18 + -0x14)" ( (binary_expression "(int)piVar18 + -0x14" (cast_expression "(int)piVar18" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "FUN_000726c0();" (call_expression "FUN_000726c0()" identifier (argument_list "()" ( ))) ;) }) (else_clause "else {\n            *puVar1 = local_70;\n            *(undefined4 **)(local_cc + 4) = puVar1 + 1;\n          }" else (compound_statement "{\n            *puVar1 = local_70;\n            *(undefined4 **)(local_cc + 4) = puVar1 + 1;\n          }" { (expression_statement "*puVar1 = local_70;" (assignment_expression "*puVar1 = local_70" (pointer_expression "*puVar1" * identifier) = identifier) ;) (expression_statement "*(undefined4 **)(local_cc + 4) = puVar1 + 1;" (assignment_expression "*(undefined4 **)(local_cc + 4) = puVar1 + 1" (pointer_expression "*(undefined4 **)(local_cc + 4)" * (cast_expression "(undefined4 **)(local_cc + 4)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(local_cc + 4)" ( (binary_expression "local_cc + 4" identifier + number_literal) )))) = (binary_expression "puVar1 + 1" identifier + number_literal)) ;) }))) (expression_statement "*(undefined ****)((int)piVar18 + -0xc) = local_b0;" (assignment_expression "*(undefined ****)((int)piVar18 + -0xc) = local_b0" (pointer_expression "*(undefined ****)((int)piVar18 + -0xc)" * (cast_expression "(undefined ****)((int)piVar18 + -0xc)" ( (type_descriptor "undefined ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) (parenthesized_expression "((int)piVar18 + -0xc)" ( (binary_expression "(int)piVar18 + -0xc" (cast_expression "(int)piVar18" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined ***)((int)piVar18 + -0x10) = local_e8;" (assignment_expression "*(undefined ***)((int)piVar18 + -0x10) = local_e8" (pointer_expression "*(undefined ***)((int)piVar18 + -0x10)" * (cast_expression "(undefined ***)((int)piVar18 + -0x10)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "((int)piVar18 + -0x10)" ( (binary_expression "(int)piVar18 + -0x10" (cast_expression "(int)piVar18" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "local_34 = local_f0;" (assignment_expression "local_34 = local_f0" identifier = identifier) ;) (expression_statement "local_30 = (undefined **)0x0;" (assignment_expression "local_30 = (undefined **)0x0" identifier = (cast_expression "(undefined **)0x0" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) ;) (expression_statement "local_2c = local_bc;" (assignment_expression "local_2c = local_bc" identifier = identifier) ;) (expression_statement "local_28 = (int)local_bc >> 0x1f;" (assignment_expression "local_28 = (int)local_bc >> 0x1f" identifier = (binary_expression "(int)local_bc >> 0x1f" (cast_expression "(int)local_bc" ( (type_descriptor "int" primitive_type) ) identifier) >> number_literal)) ;) (expression_statement "*(undefined4 *)((int)piVar18 + -0x14) = 0xd270d;" (assignment_expression "*(undefined4 *)((int)piVar18 + -0x14) = 0xd270d" (pointer_expression "*(undefined4 *)((int)piVar18 + -0x14)" * (cast_expression "(undefined4 *)((int)piVar18 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar18 + -0x14)" ( (binary_expression "(int)piVar18 + -0x14" (cast_expression "(int)piVar18" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "FUN_00073e70();" (call_expression "FUN_00073e70()" identifier (argument_list "()" ( ))) ;) (expression_statement "local_30 = (undefined **)0x0;" (assignment_expression "local_30 = (undefined **)0x0" identifier = (cast_expression "(undefined **)0x0" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) ;) (expression_statement "local_34 = (undefined **)*param_7;" (assignment_expression "local_34 = (undefined **)*param_7" identifier = (cast_expression "(undefined **)*param_7" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (pointer_expression "*param_7" * identifier))) ;) (expression_statement "puVar1 = *(undefined4 **)(local_d0 + 4);" (assignment_expression "puVar1 = *(undefined4 **)(local_d0 + 4)" identifier = (pointer_expression "*(undefined4 **)(local_d0 + 4)" * (cast_expression "(undefined4 **)(local_d0 + 4)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(local_d0 + 4)" ( (binary_expression "local_d0 + 4" identifier + number_literal) ))))) ;) (if_statement "if (puVar1 == *(undefined4 **)(local_d0 + 8)) {\n            *(undefined ****)((int)piVar18 + -8) = local_b0;\n            *(undefined4 **)((int)piVar18 + -0xc) = puVar1;\n            *(int *)((int)piVar18 + -0x10) = local_d0;\n            *(undefined4 *)((int)piVar18 + -0x14) = 0xd2bbd;\n            FUN_00072a40();\n          }\n          else {\n            *puVar1 = local_34;\n            puVar1[1] = 0;\n            *(undefined4 **)(local_d0 + 4) = puVar1 + 2;\n          }" if (parenthesized_expression "(puVar1 == *(undefined4 **)(local_d0 + 8))" ( (binary_expression "puVar1 == *(undefined4 **)(local_d0 + 8)" identifier == (pointer_expression "*(undefined4 **)(local_d0 + 8)" * (cast_expression "(undefined4 **)(local_d0 + 8)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(local_d0 + 8)" ( (binary_expression "local_d0 + 8" identifier + number_literal) ))))) )) (compound_statement "{\n            *(undefined ****)((int)piVar18 + -8) = local_b0;\n            *(undefined4 **)((int)piVar18 + -0xc) = puVar1;\n            *(int *)((int)piVar18 + -0x10) = local_d0;\n            *(undefined4 *)((int)piVar18 + -0x14) = 0xd2bbd;\n            FUN_00072a40();\n          }" { (expression_statement "*(undefined ****)((int)piVar18 + -8) = local_b0;" (assignment_expression "*(undefined ****)((int)piVar18 + -8) = local_b0" (pointer_expression "*(undefined ****)((int)piVar18 + -8)" * (cast_expression "(undefined ****)((int)piVar18 + -8)" ( (type_descriptor "undefined ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) (parenthesized_expression "((int)piVar18 + -8)" ( (binary_expression "(int)piVar18 + -8" (cast_expression "(int)piVar18" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 **)((int)piVar18 + -0xc) = puVar1;" (assignment_expression "*(undefined4 **)((int)piVar18 + -0xc) = puVar1" (pointer_expression "*(undefined4 **)((int)piVar18 + -0xc)" * (cast_expression "(undefined4 **)((int)piVar18 + -0xc)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)piVar18 + -0xc)" ( (binary_expression "(int)piVar18 + -0xc" (cast_expression "(int)piVar18" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(int *)((int)piVar18 + -0x10) = local_d0;" (assignment_expression "*(int *)((int)piVar18 + -0x10) = local_d0" (pointer_expression "*(int *)((int)piVar18 + -0x10)" * (cast_expression "(int *)((int)piVar18 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar18 + -0x10)" ( (binary_expression "(int)piVar18 + -0x10" (cast_expression "(int)piVar18" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)piVar18 + -0x14) = 0xd2bbd;" (assignment_expression "*(undefined4 *)((int)piVar18 + -0x14) = 0xd2bbd" (pointer_expression "*(undefined4 *)((int)piVar18 + -0x14)" * (cast_expression "(undefined4 *)((int)piVar18 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar18 + -0x14)" ( (binary_expression "(int)piVar18 + -0x14" (cast_expression "(int)piVar18" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "FUN_00072a40();" (call_expression "FUN_00072a40()" identifier (argument_list "()" ( ))) ;) }) (else_clause "else {\n            *puVar1 = local_34;\n            puVar1[1] = 0;\n            *(undefined4 **)(local_d0 + 4) = puVar1 + 2;\n          }" else (compound_statement "{\n            *puVar1 = local_34;\n            puVar1[1] = 0;\n            *(undefined4 **)(local_d0 + 4) = puVar1 + 2;\n          }" { (expression_statement "*puVar1 = local_34;" (assignment_expression "*puVar1 = local_34" (pointer_expression "*puVar1" * identifier) = identifier) ;) (expression_statement "puVar1[1] = 0;" (assignment_expression "puVar1[1] = 0" (subscript_expression "puVar1[1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "*(undefined4 **)(local_d0 + 4) = puVar1 + 2;" (assignment_expression "*(undefined4 **)(local_d0 + 4) = puVar1 + 2" (pointer_expression "*(undefined4 **)(local_d0 + 4)" * (cast_expression "(undefined4 **)(local_d0 + 4)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(local_d0 + 4)" ( (binary_expression "local_d0 + 4" identifier + number_literal) )))) = (binary_expression "puVar1 + 2" identifier + number_literal)) ;) }))) (expression_statement "local_68 = (undefined **)0x0;" (assignment_expression "local_68 = (undefined **)0x0" identifier = (cast_expression "(undefined **)0x0" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) ;) (expression_statement "*(undefined ****)((int)piVar18 + -0xc) = &local_68;" (assignment_expression "*(undefined ****)((int)piVar18 + -0xc) = &local_68" (pointer_expression "*(undefined ****)((int)piVar18 + -0xc)" * (cast_expression "(undefined ****)((int)piVar18 + -0xc)" ( (type_descriptor "undefined ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) (parenthesized_expression "((int)piVar18 + -0xc)" ( (binary_expression "(int)piVar18 + -0xc" (cast_expression "(int)piVar18" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "&local_68" & identifier)) ;) (expression_statement "*(int *)((int)piVar18 + -0x10) = local_ec;" (assignment_expression "*(int *)((int)piVar18 + -0x10) = local_ec" (pointer_expression "*(int *)((int)piVar18 + -0x10)" * (cast_expression "(int *)((int)piVar18 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar18 + -0x10)" ( (binary_expression "(int)piVar18 + -0x10" (cast_expression "(int)piVar18" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)piVar18 + -0x14) = 0xd2753;" (assignment_expression "*(undefined4 *)((int)piVar18 + -0x14) = 0xd2753" (pointer_expression "*(undefined4 *)((int)piVar18 + -0x14)" * (cast_expression "(undefined4 *)((int)piVar18 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar18 + -0x14)" ( (binary_expression "(int)piVar18 + -0x14" (cast_expression "(int)piVar18" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "FUN_00074020();" (call_expression "FUN_00074020()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "puVar17 = (undefined1 *)piVar18;" (assignment_expression "puVar17 = (undefined1 *)piVar18" identifier = (cast_expression "(undefined1 *)piVar18" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (if_statement "if (bVar13 != 0) goto LAB_000d275e;" if (parenthesized_expression "(bVar13 != 0)" ( (binary_expression "bVar13 != 0" identifier != number_literal) )) (goto_statement "goto LAB_000d275e;" goto statement_identifier ;)) }))) (labeled_statement "LAB_000d2489:\n      local_e4 = local_e4 + 1;" statement_identifier : (expression_statement "local_e4 = local_e4 + 1;" (assignment_expression "local_e4 = local_e4 + 1" identifier = (binary_expression "local_e4 + 1" identifier + number_literal)) ;)) (expression_statement "param_7 = param_7 + 3;" (assignment_expression "param_7 = param_7 + 3" identifier = (binary_expression "param_7 + 3" identifier + number_literal)) ;) }) while (parenthesized_expression "(param_8 != local_e4)" ( (binary_expression "param_8 != local_e4" identifier != identifier) )) ;) })) (if_statement "if (local_4c[0] != local_f8) {\n    *(byte **)((int)piVar18 + -0x10) = local_4c[0];\n    *(undefined4 *)((int)piVar18 + -0x14) = 0xd2c22;\n    FUN_003ae080();\n  }" if (parenthesized_expression "(local_4c[0] != local_f8)" ( (binary_expression "local_4c[0] != local_f8" (subscript_expression "local_4c[0]" identifier [ number_literal ]) != identifier) )) (compound_statement "{\n    *(byte **)((int)piVar18 + -0x10) = local_4c[0];\n    *(undefined4 *)((int)piVar18 + -0x14) = 0xd2c22;\n    FUN_003ae080();\n  }" { (expression_statement "*(byte **)((int)piVar18 + -0x10) = local_4c[0];" (assignment_expression "*(byte **)((int)piVar18 + -0x10) = local_4c[0]" (pointer_expression "*(byte **)((int)piVar18 + -0x10)" * (cast_expression "(byte **)((int)piVar18 + -0x10)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)piVar18 + -0x10)" ( (binary_expression "(int)piVar18 + -0x10" (cast_expression "(int)piVar18" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (subscript_expression "local_4c[0]" identifier [ number_literal ])) ;) (expression_statement "*(undefined4 *)((int)piVar18 + -0x14) = 0xd2c22;" (assignment_expression "*(undefined4 *)((int)piVar18 + -0x14) = 0xd2c22" (pointer_expression "*(undefined4 *)((int)piVar18 + -0x14)" * (cast_expression "(undefined4 *)((int)piVar18 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar18 + -0x14)" ( (binary_expression "(int)piVar18 + -0x14" (cast_expression "(int)piVar18" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "FUN_003ae080();" (call_expression "FUN_003ae080()" identifier (argument_list "()" ( ))) ;) })) (if_statement "if ((local_60 != 0) && (local_5c != 0)) {\n    *(undefined ***)((int)piVar18 + -0x10) = local_b8 + -0x60d6c;\n    *(undefined4 *)((int)piVar18 + -0x14) = 0xd2c4a;\n    uVar8 = gettext();\n    *(undefined4 *)((int)piVar18 + -0x10) = uVar8;\n    uVar8 = local_54;\n    *(undefined4 *)((int)piVar18 + -0x14) = 0;\n    *(undefined4 *)((int)piVar18 + -0x18) = uVar8;\n    *(undefined4 *)((int)piVar18 + -0x1c) = local_58;\n    *(int *)((int)piVar18 + -0x20) = local_5c;\n    *(undefined4 *)((int)piVar18 + -0x24) = 0xd2c5f;\n    FUN_0023bd50();\n  }" if (parenthesized_expression "((local_60 != 0) && (local_5c != 0))" ( (binary_expression "(local_60 != 0) && (local_5c != 0)" (parenthesized_expression "(local_60 != 0)" ( (binary_expression "local_60 != 0" identifier != number_literal) )) && (parenthesized_expression "(local_5c != 0)" ( (binary_expression "local_5c != 0" identifier != number_literal) ))) )) (compound_statement "{\n    *(undefined ***)((int)piVar18 + -0x10) = local_b8 + -0x60d6c;\n    *(undefined4 *)((int)piVar18 + -0x14) = 0xd2c4a;\n    uVar8 = gettext();\n    *(undefined4 *)((int)piVar18 + -0x10) = uVar8;\n    uVar8 = local_54;\n    *(undefined4 *)((int)piVar18 + -0x14) = 0;\n    *(undefined4 *)((int)piVar18 + -0x18) = uVar8;\n    *(undefined4 *)((int)piVar18 + -0x1c) = local_58;\n    *(int *)((int)piVar18 + -0x20) = local_5c;\n    *(undefined4 *)((int)piVar18 + -0x24) = 0xd2c5f;\n    FUN_0023bd50();\n  }" { (expression_statement "*(undefined ***)((int)piVar18 + -0x10) = local_b8 + -0x60d6c;" (assignment_expression "*(undefined ***)((int)piVar18 + -0x10) = local_b8 + -0x60d6c" (pointer_expression "*(undefined ***)((int)piVar18 + -0x10)" * (cast_expression "(undefined ***)((int)piVar18 + -0x10)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "((int)piVar18 + -0x10)" ( (binary_expression "(int)piVar18 + -0x10" (cast_expression "(int)piVar18" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "local_b8 + -0x60d6c" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)((int)piVar18 + -0x14) = 0xd2c4a;" (assignment_expression "*(undefined4 *)((int)piVar18 + -0x14) = 0xd2c4a" (pointer_expression "*(undefined4 *)((int)piVar18 + -0x14)" * (cast_expression "(undefined4 *)((int)piVar18 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar18 + -0x14)" ( (binary_expression "(int)piVar18 + -0x14" (cast_expression "(int)piVar18" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "uVar8 = gettext();" (assignment_expression "uVar8 = gettext()" identifier = (call_expression "gettext()" identifier (argument_list "()" ( )))) ;) (expression_statement "*(undefined4 *)((int)piVar18 + -0x10) = uVar8;" (assignment_expression "*(undefined4 *)((int)piVar18 + -0x10) = uVar8" (pointer_expression "*(undefined4 *)((int)piVar18 + -0x10)" * (cast_expression "(undefined4 *)((int)piVar18 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar18 + -0x10)" ( (binary_expression "(int)piVar18 + -0x10" (cast_expression "(int)piVar18" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "uVar8 = local_54;" (assignment_expression "uVar8 = local_54" identifier = identifier) ;) (expression_statement "*(undefined4 *)((int)piVar18 + -0x14) = 0;" (assignment_expression "*(undefined4 *)((int)piVar18 + -0x14) = 0" (pointer_expression "*(undefined4 *)((int)piVar18 + -0x14)" * (cast_expression "(undefined4 *)((int)piVar18 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar18 + -0x14)" ( (binary_expression "(int)piVar18 + -0x14" (cast_expression "(int)piVar18" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)((int)piVar18 + -0x18) = uVar8;" (assignment_expression "*(undefined4 *)((int)piVar18 + -0x18) = uVar8" (pointer_expression "*(undefined4 *)((int)piVar18 + -0x18)" * (cast_expression "(undefined4 *)((int)piVar18 + -0x18)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar18 + -0x18)" ( (binary_expression "(int)piVar18 + -0x18" (cast_expression "(int)piVar18" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)piVar18 + -0x1c) = local_58;" (assignment_expression "*(undefined4 *)((int)piVar18 + -0x1c) = local_58" (pointer_expression "*(undefined4 *)((int)piVar18 + -0x1c)" * (cast_expression "(undefined4 *)((int)piVar18 + -0x1c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar18 + -0x1c)" ( (binary_expression "(int)piVar18 + -0x1c" (cast_expression "(int)piVar18" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(int *)((int)piVar18 + -0x20) = local_5c;" (assignment_expression "*(int *)((int)piVar18 + -0x20) = local_5c" (pointer_expression "*(int *)((int)piVar18 + -0x20)" * (cast_expression "(int *)((int)piVar18 + -0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar18 + -0x20)" ( (binary_expression "(int)piVar18 + -0x20" (cast_expression "(int)piVar18" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)piVar18 + -0x24) = 0xd2c5f;" (assignment_expression "*(undefined4 *)((int)piVar18 + -0x24) = 0xd2c5f" (pointer_expression "*(undefined4 *)((int)piVar18 + -0x24)" * (cast_expression "(undefined4 *)((int)piVar18 + -0x24)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar18 + -0x24)" ( (binary_expression "(int)piVar18 + -0x24" (cast_expression "(int)piVar18" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "FUN_0023bd50();" (call_expression "FUN_0023bd50()" identifier (argument_list "()" ( ))) ;) })) (return_statement "return;" return ;) })))
(ERROR "/* WARNING: Function: __x86.get_pc_thunk.ax replaced with injection: get_pc_thunk_ax */\n/* WARNING: Removing unreachable block (ram,0x000d2c2c) */\n/* WARNING: Removing unreachable block (ram,0x000d2c33) */\n/* WARNING: Enum "DT": Some values do not have unique names */\n/* WARNING: Enum "ELFOSABI": Some values do not have unique names */\n/* DWARF original prototype: void gc_process_relocs(Target_powerpc<32,_false> * this, Symbol_table *\n   symtab, Layout * layout, Sized_relobj_file<32,_false> * object, uint data_shndx, uint param_5,\n   uchar * prelocs, size_t reloc_count, Output_section * output_section, bool\n   needs_special_offset_handling, size_t local_symbol_count, uchar * plocal_symbols) */\n\nvoid __thiscall\nanon_unknown.dwarf_6462d4::Target_powerpc<32,_false>::gc_process_relocs\n          (Target_powerpc<32,_false> *this,Symbol_table *symtab,Layout *layout,\n          Sized_relobj_file<32,_false> *object,uint data_shndx,uint param_5,uchar *prelocs,\n          size_t reloc_count,Output_section *output_section,bool needs_special_offset_handling,\n          size_t param_10,uchar *plocal_symbols)\n\n{\n  _Rb_tree_header *p_Var1;\n  _Base_ptr *pp_Var2;\n  General_options *pGVar3;\n  _func_int_varargs *p_Var4;\n  pointer puVar5;\n  uint uVar6;\n  pointer ppSVar7;\n  _Base_ptr p_Var8;\n  Target *pTVar9;\n  Garbage_collection *pGVar10;\n  undefined4 *puVar11;\n  Icf *pIVar12;\n  undefined1 *puVar13;\n  Parameters *pPVar14;\n  size_t sVar15;\n  Xindex *pXVar16;\n  _func_int_varargs **pp_Var17;\n  pointer pcVar18;\n  int iVar19;\n  _Base_ptr p_Var20;\n  _Rb_tree_header *p_Var21;\n  byte bVar22;\n  byte bVar23;\n  Relobj *pRVar24;\n  uint uVar25;\n  undefined4 *puVar26;\n  General_options **ppGVar27;\n  Sized_relobj_file<32,_false> *unaff_ESI;\n  undefined **ppuVar28;\n  byte *pbVar29;\n  Sized_relobj_file<32,_false> *pSVar30;\n  uint uVar31;\n  _func_int_varargs **pp_Var32;\n  _Alloc_hider _Var33;\n  bool bVar34;\n  bool bVar35;\n  bool bVar36;\n  byte bVar37;\n  General_options *pGStack_100;\n  undefined1 auStack_fc [4];\n  anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n  *local_f8;\n  __node_gen_type *local_f4;\n  Relobj *local_f0;\n  Reloc_addend_size_info *local_ec;\n  Addend_info *local_e8;\n  size_t local_e4;\n  undefined1 *local_e0;\n  Parameters **local_dc;\n  _func_int_varargs **local_d8;\n  bool local_d2;\n  char local_d1;\n  Offset_info *local_d0;\n  Symbol_info *local_cc;\n  mapped_type *local_c8;\n  int local_c4;\n  Output_segment *local_c0;\n  pointer local_bc;\n  undefined **local_b8;\n  Relobj *local_b4;\n  Icf *local_b0;\n  undefined1 *local_ac;\n  _Rb_tree_header *local_a8;\n  undefined1 local_a4 [12];\n  __node_gen_type __node_gen_2;\n  __node_gen_type __node_gen_3;\n  __node_gen_type __node_gen_1;\n  __node_gen_type __node_gen;\n  Section_id *local_88;\n  Icf *local_84;\n  Sized_relobj_file<32,_false> *local_80;\n  uint local_7c;\n  Output_segment *local_78;\n  Relobj *local_74;\n  Section_id src_id_1;\n  Section_id dst_id;\n  Scan scan;\n  string src_section_name;\n  Section_id src_id;\n  pointer local_2c;\n  _Alloc_hider local_28;\n  \n  bVar37 = 0;\n  local_b8 = &_GLOBAL_OFFSET_TABLE_;\n  local_dc = &gold::parameters;\n  pGVar3 = gold::parameters->options_;\n  if (pGVar3 == (General_options *)0x0) {\n    pGStack_100 = pGVar3;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 000d2fc4 to 000d2fc8 has its CatchHandler @ 000d3025 */\n    gold::do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n  }\n  if (pGVar3->icf_status_ == ICF_NONE) {\n    local_f8 = &src_section_name.field_2;\n    pGStack_100 = (General_options *)0x0;\n    src_section_name._M_dataplus._M_p = (pointer)local_f8;\n                    /* try { // try from 000d2dc0 to 000d2dc4 has its CatchHandler @ 000d3025 */\n    std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n    _M_construct<char_const*>(&src_section_name,"","");\n    ppGVar27 = (General_options **)auStack_fc;\n  }\n  else {\n    p_Var4 = (object->super_Sized_relobj<32,_false>).super_Relobj.super_Object._vptr_Object[0x10];\n    if (p_Var4 == gold::Sized_relobj_file<32,_false>::do_section_name) {\n                    /* try { // try from 000d22b3 to 000d22b7 has its CatchHandler @ 000d3025 */\n      elfcpp::Elf_file<32,_false,_gold::Object>::section_name(&object->elf_file_,data_shndx);\n      unaff_ESI = object;\n    }\n    else {\n                    /* try { // try from 000d2f05 to 000d2f06 has its CatchHandler @ 000d3025 */\n      (*p_Var4)(&src_section_name,object,data_shndx);\n      unaff_ESI = (Sized_relobj_file<32,_false> *)&_GLOBAL_OFFSET_TABLE_;\n    }\n    ppGVar27 = &pGStack_100;\n    local_f8 = &src_section_name.field_2;\n  }\n  _Var33._M_p = src_section_name._M_dataplus._M_p;\n  pPVar14 = *local_dc;\n  if (pPVar14->options_ == (General_options *)0x0) {\n    *(Parameters **)((int)ppGVar27 + -4) = pPVar14;\n    *(undefined ***)((int)ppGVar27 + -8) = local_b8 + -0x61176;\n    *(undefined4 *)((int)ppGVar27 + -0xc) = 0x5c;\n    *(int *)((int)ppGVar27 + -0x10) = (int)local_b8 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n    *(undefined4 *)((int)ppGVar27 + -0x14) = 0xd3001;\n    gold::do_gold_unreachable\n              (*(char **)((int)ppGVar27 + -0x10),*(int *)((int)ppGVar27 + -0xc),\n               *(char **)((int)ppGVar27 + -8));\n  }\n  if (pPVar14->options_->icf_status_ == ICF_NONE) {\nLAB_000d22e5:\n    local_d1 = '\0';\n    local_ec = (Reloc_addend_size_info *)0x0;\n    local_d0 = (Offset_info *)0x0;\n    local_e8 = (Addend_info *)0x0;\n    local_cc = (Symbol_info *)0x0;\n    local_c8 = (mapped_type *)0x0;\n  }\n  else {\n    local_b4 = (Relobj *)&local_2c;\n    src_id.first = (Relobj *)&local_2c;\n    pcVar18 = (pointer)0xffffffff;\n    if (src_section_name._M_dataplus._M_p != (pointer)0x0) {\n      *(pointer *)((int)ppGVar27 + -0x10) = src_section_name._M_dataplus._M_p;\n      *(undefined4 *)((int)ppGVar27 + -0x14) = 0xd2df7;\n      sVar15 = strlen(*(char **)((int)ppGVar27 + -0x10));\n      pcVar18 = _Var33._M_p + sVar15;\n    }\n    *(undefined4 *)((int)ppGVar27 + -4) = 0;\n    *(pointer *)((int)ppGVar27 + -8) = pcVar18;\n    local_b0 = (Icf *)&src_id;\n    *(pointer *)((int)ppGVar27 + -0xc) = _Var33._M_p;\n    *(Icf **)((int)ppGVar27 + -0x10) = local_b0;\n                    /* try { // try from 000d2e0a to 000d2e83 has its CatchHandler @ 000d302c */\n    *(undefined4 *)((int)ppGVar27 + -0x14) = 0xd2e0f;\n    std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n    _M_construct<char_const*>();\n    iVar19 = 5;\n    bVar34 = (undefined1 *)0xffffffef < (undefined1 *)((int)ppGVar27 + -0x10);\n    bVar36 = ppGVar27 == (General_options **)0x0;\n    ppuVar28 = local_b8 + -0x67293;\n    pRVar24 = src_id.first;\n    do {\n      if (iVar19 == 0) break;\n      iVar19 = iVar19 + -1;\n      bVar23 = *(byte *)&(pRVar24->super_Object)._vptr_Object;\n      bVar34 = *(byte *)ppuVar28 < bVar23;\n      bVar36 = *(byte *)ppuVar28 == bVar23;\n      ppuVar28 = (undefined **)((int)ppuVar28 + (uint)bVar37 * -2 + 1);\n      pRVar24 = (Relobj *)((int)pRVar24 + (uint)bVar37 * -2 + 1);\n    } while (bVar36);\n    bVar35 = false;\n    bVar34 = (!bVar34 && !bVar36) == bVar34;\n    if (!bVar34) {\n      iVar19 = 0xf;\n      pSVar30 = (Sized_relobj_file<32,_false> *)((int)local_b8 + -0x19ca46);\n      pRVar24 = src_id.first;\n      do {\n        unaff_ESI = pSVar30;\n        if (iVar19 == 0) break;\n        iVar19 = iVar19 + -1;\n        unaff_ESI = (Sized_relobj_file<32,_false> *)((int)pSVar30 + (uint)bVar37 * -2 + 1);\n        bVar22 = *(byte *)&(pRVar24->super_Object)._vptr_Object;\n        bVar23 = *(byte *)&(pSVar30->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                           _vptr_Object;\n        bVar35 = bVar23 < bVar22;\n        bVar34 = bVar23 == bVar22;\n        pSVar30 = unaff_ESI;\n        pRVar24 = (Relobj *)((int)pRVar24 + (uint)bVar37 * -2 + 1);\n      } while (bVar34);\n      if ((!bVar35 && !bVar34) != bVar35) {\n        if (src_id.first == local_b4) {\n          pPVar14 = *local_dc;\n        }\n        else {\n          *(Relobj **)((int)ppGVar27 + -0x10) = src_id.first;\n          *(undefined4 *)((int)ppGVar27 + -0x14) = 0xd2ee3;\n          operator_delete(*(void **)((int)ppGVar27 + -0x10));\n          pPVar14 = *local_dc;\n        }\n        goto LAB_000d22e5;\n      }\n    }\n    if (src_id.first != local_b4) {\n      *(Relobj **)((int)ppGVar27 + -0x10) = src_id.first;\n      *(undefined4 *)((int)ppGVar27 + -0x14) = 0xd3010;\n      operator_delete(*(void **)((int)ppGVar27 + -0x10));\n    }\n    *(Icf **)((int)ppGVar27 + -0xc) = local_b0;\n    src_id.first = (Relobj *)object;\n    src_id.second = data_shndx;\n    local_b0 = symtab->icf_;\n    *(Reloc_info_list **)((int)ppGVar27 + -0x10) = &symtab->icf_->reloc_info_list_;\n    *(undefined4 *)((int)ppGVar27 + -0x14) = 0xd2e84;\n    local_c8 = std::__detail::\n               _Map_base<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_gold::Icf::Reloc_info>,_std::allocator<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_gold::Icf::Reloc_info>_>,_std::__detail::_Select1st,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>,_true>\n               ::operator[](*(_Map_base<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_gold::Icf::Reloc_info>,_std::allocator<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_gold::Icf::Reloc_info>_>,_std::__detail::_Select1st,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>,_true>\n                              **)((int)ppGVar27 + -0x10),*(key_type **)((int)ppGVar27 + -0xc));\n    unaff_ESI = (Sized_relobj_file<32,_false> *)&local_c8->addend_info;\n    local_cc = &local_c8->symbol_info;\n    local_ec = &local_c8->reloc_addend_size_info;\n    local_e8 = (Addend_info *)unaff_ESI;\n    local_d0 = &local_c8->offset_info;\n    pPVar14 = *local_dc;\n    local_d1 = '\x01';\n  }\n  if (pPVar14->options_ == (General_options *)0x0) {\n    *(Sized_relobj_file<32,_false> **)((int)ppGVar27 + -4) = unaff_ESI;\n    *(undefined ***)((int)ppGVar27 + -8) = local_b8 + -0x61176;\n    *(undefined4 *)((int)ppGVar27 + -0xc) = 0x5c;\n    *(int *)((int)ppGVar27 + -0x10) = (int)local_b8 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 000d2fe0 to 000d3000 has its CatchHandler @ 000d302c */\n    *(undefined4 *)((int)ppGVar27 + -0x14) = 0xd2fe5;\n    gold::do_gold_unreachable\n              (*(char **)((int)ppGVar27 + -0x10),*(int *)((int)ppGVar27 + -0xc),\n               *(char **)((int)ppGVar27 + -8));\n  }\n  local_d2 = false;\n  if (pPVar14->options_->icf_status_ == ICF_SAFE) {\n    *(Target_powerpc<32,_false> **)((int)ppGVar27 + -0x10) = this;\n    *(undefined4 *)((int)ppGVar27 + -0x14) = 0xd2ceb;\n    local_d2 = Target_powerpc<32,_true>::do_can_check_for_function_pointers\n                         (*(Target_powerpc<32,_true> **)((int)ppGVar27 + -0x10));\n    bVar34 = false;\n    bVar36 = !local_d2;\n    if (!bVar36) {\n      iVar19 = 0xc;\n      local_d2 = false;\n      ppuVar28 = local_b8 + -0x66894;\n      _Var33 = src_section_name._M_dataplus;\n      do {\n        if (iVar19 == 0) break;\n        iVar19 = iVar19 + -1;\n        bVar34 = *(byte *)ppuVar28 < (byte)*_Var33._M_p;\n        bVar36 = *(byte *)ppuVar28 == *_Var33._M_p;\n        ppuVar28 = (undefined **)((int)ppuVar28 + (uint)bVar37 * -2 + 1);\n        _Var33._M_p = (pointer)((byte *)_Var33._M_p + (uint)bVar37 * -2 + 1);\n      } while (bVar36);\n      bVar35 = false;\n      bVar34 = (!bVar34 && !bVar36) == bVar34;\n      if (!bVar34) {\n        iVar19 = 0x11;\n        pbVar29 = (byte *)((int)local_b8 + -0x19a243);\n        _Var33 = src_section_name._M_dataplus;\n        do {\n          if (iVar19 == 0) break;\n          iVar19 = iVar19 + -1;\n          bVar35 = *pbVar29 < (byte)*_Var33._M_p;\n          bVar34 = *pbVar29 == *_Var33._M_p;\n          pbVar29 = pbVar29 + (uint)bVar37 * -2 + 1;\n          _Var33._M_p = (pointer)((byte *)_Var33._M_p + (uint)bVar37 * -2 + 1);\n        } while (bVar34);\n        bVar36 = false;\n        bVar34 = (!bVar35 && !bVar34) == bVar35;\n        if (!bVar34) {\n          iVar19 = 0xc;\n          pbVar29 = (byte *)((int)local_b8 + -0x19a231);\n          _Var33 = src_section_name._M_dataplus;\n          do {\n            if (iVar19 == 0) break;\n            iVar19 = iVar19 + -1;\n            bVar36 = *pbVar29 < (byte)*_Var33._M_p;\n            bVar34 = *pbVar29 == *_Var33._M_p;\n            pbVar29 = pbVar29 + (uint)bVar37 * -2 + 1;\n            _Var33._M_p = (pointer)((byte *)_Var33._M_p + (uint)bVar37 * -2 + 1);\n          } while (bVar34);\n          bVar35 = false;\n          bVar34 = (!bVar36 && !bVar34) == bVar36;\n          if (!bVar34) {\n            iVar19 = 0x11;\n            ppuVar28 = local_b8 + -0x66889;\n            _Var33 = src_section_name._M_dataplus;\n            do {\n              if (iVar19 == 0) break;\n              iVar19 = iVar19 + -1;\n              bVar35 = *(byte *)ppuVar28 < (byte)*_Var33._M_p;\n              bVar34 = *(byte *)ppuVar28 == *_Var33._M_p;\n              ppuVar28 = (undefined **)((int)ppuVar28 + (uint)bVar37 * -2 + 1);\n              _Var33._M_p = (pointer)((byte *)_Var33._M_p + (uint)bVar37 * -2 + 1);\n            } while (bVar34);\n            bVar36 = false;\n            bVar34 = (!bVar35 && !bVar34) == bVar35;\n            if (!bVar34) {\n              iVar19 = 9;\n              pbVar29 = (byte *)((int)local_b8 + -0x19a212);\n              _Var33 = src_section_name._M_dataplus;\n              do {\n                if (iVar19 == 0) break;\n                iVar19 = iVar19 + -1;\n                bVar36 = *pbVar29 < (byte)*_Var33._M_p;\n                bVar34 = *pbVar29 == *_Var33._M_p;\n                pbVar29 = pbVar29 + (uint)bVar37 * -2 + 1;\n                _Var33._M_p = (pointer)((byte *)_Var33._M_p + (uint)bVar37 * -2 + 1);\n              } while (bVar34);\n              local_d2 = (!bVar36 && !bVar34) != bVar36;\n            }\n          }\n        }\n      }\n    }\n  }\n  if (reloc_count != 0) {\n    local_d8 = (_func_int_varargs **)0x0;\n    local_e0 = local_a4;\n    local_e4 = 0;\n    local_f4 = &__node_gen;\n    do {\n      uVar6 = *(uint *)(prelocs + 4);\n      uVar31 = uVar6 & 0xff;\n      uVar25 = uVar6 >> 8;\n      local_bc = *(pointer *)(prelocs + 8);\n      if (uVar25 < param_10) {\n        if (plocal_symbols == (uchar *)0x0) {\n          *(undefined ***)((int)ppGVar27 + -8) = local_b8 + -0x615ed;\n          *(undefined4 *)((int)ppGVar27 + -0xc) = 0xea;\n          *(int *)((int)ppGVar27 + -0x10) = (int)local_b8 + -0x19ca36;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 000d2f44 to 000d2fac has its CatchHandler @ 000d302c */\n          *(undefined **)((int)ppGVar27 + -0x14) = &UNK_000d2f49;\n          gold::do_gold_unreachable\n                    (*(char **)((int)ppGVar27 + -0x10),*(int *)((int)ppGVar27 + -0xc),\n                     *(char **)((int)ppGVar27 + -8));\n        }\n        local_b4 = (Relobj *)(uint)*(ushort *)(plocal_symbols + uVar25 * 0x10 + 0xe);\n        if (local_b4 < (Relobj *)0xff00) {\nLAB_000d24ee:\n          pRVar24 = *(Relobj **)(plocal_symbols + uVar25 * 0x10 + 4);\n          local_c4 = (int)&local_bc->first + (int)pRVar24;\n          if (local_d1 != '\0') {\n            src_id.first = (Relobj *)object;\n            src_id.second = (uint)local_b4;\n            *(Icf **)((int)ppGVar27 + -0xc) = (Icf *)&src_id;\n            *(mapped_type **)((int)ppGVar27 + -0x10) = local_c8;\n            local_b0 = (Icf *)&src_id;\n            *(undefined4 *)((int)ppGVar27 + -0x14) = 0xd2533;\n            std::\n            vector<std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>\n            ::emplace_back<std::pair<gold::Relobj*,_unsigned_int>_>\n                      (*(vector<std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>\n                         **)((int)ppGVar27 + -0x10),\n                       *(pair<gold::Relobj*,_unsigned_int> **)((int)ppGVar27 + -0xc));\n            local_c0 = (Output_segment *)CONCAT31(local_c0._1_3_,1);\n            if ((plocal_symbols[uVar25 * 0x10 + 0xc] & 0xf) != 3) goto LAB_000d23e8;\nLAB_000d254c:\n            *(Icf **)((int)ppGVar27 + -0xc) = local_b0;\n            *(Symbol_info **)((int)ppGVar27 + -0x10) = local_cc;\n            src_id.first = (Relobj *)0xffffffff;\n            *(undefined4 *)((int)ppGVar27 + -0x14) = 0xd2567;\n            std::vector<gold::Symbol*,_std::allocator<gold::Symbol*>_>::emplace_back<gold::Symbol*>\n                      (*(vector<gold::Symbol*,_std::allocator<gold::Symbol*>_> **)\n                        ((int)ppGVar27 + -0x10),*(Symbol ***)((int)ppGVar27 + -0xc));\n            goto LAB_000d2403;\n          }\n        }\n        else {\n          if (local_b4 == (Relobj *)0xffff) {\n            pXVar16 = (object->super_Sized_relobj<32,_false>).super_Relobj.super_Object.xindex_;\n            if (pXVar16 == (Xindex *)0x0) {\n              pp_Var17 = (object->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                         _vptr_Object;\n              *(Sized_relobj_file<32,_false> **)((int)ppGVar27 + -0x10) = object;\n              p_Var4 = pp_Var17[0x1b];\n              *(undefined4 *)((int)ppGVar27 + -0x14) = 0xd2a4e;\n              pXVar16 = (Xindex *)(*p_Var4)();\n              (object->super_Sized_relobj<32,_false>).super_Relobj.super_Object.xindex_ = pXVar16;\n            }\n            *(uint *)((int)ppGVar27 + -8) = uVar25;\n            *(Sized_relobj_file<32,_false> **)((int)ppGVar27 + -0xc) = object;\n            *(Xindex **)((int)ppGVar27 + -0x10) = pXVar16;\n            *(undefined4 *)((int)ppGVar27 + -0x14) = 0xd2591;\n            local_b4 = (Relobj *)\n                       gold::Xindex::sym_xindex_to_shndx\n                                 (*(Xindex **)((int)ppGVar27 + -0x10),\n                                  *(Object **)((int)ppGVar27 + -0xc),*(uint *)((int)ppGVar27 + -8));\n            goto LAB_000d24ee;\n          }\n          pRVar24 = *(Relobj **)(plocal_symbols + uVar25 * 0x10 + 4);\n          local_c4 = (int)&(*(pointer *)(prelocs + 8))->first + (int)pRVar24;\n          if (local_d1 == '\0') goto LAB_000d2489;\n          src_id.first = (Relobj *)0x0;\n          *(Icf **)((int)ppGVar27 + -0xc) = (Icf *)&src_id;\n          *(mapped_type **)((int)ppGVar27 + -0x10) = local_c8;\n          src_id.second = 0;\n          local_b0 = (Icf *)&src_id;\n                    /* try { // try from 000d23ca to 000d2bf5 has its CatchHandler @ 000d302c */\n          *(undefined4 *)((int)ppGVar27 + -0x14) = 0xd23cf;\n          std::\n          vector<std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>\n          ::emplace_back<std::pair<gold::Relobj*,_unsigned_int>_>\n                    (*(vector<std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>\n                       **)((int)ppGVar27 + -0x10),\n                     *(pair<gold::Relobj*,_unsigned_int> **)((int)ppGVar27 + -0xc));\n          local_c0 = (Output_segment *)((uint)local_c0 & 0xffffff00);\n          if ((plocal_symbols[uVar25 * 0x10 + 0xc] & 0xf) == 3) goto LAB_000d254c;\nLAB_000d23e8:\n          *(Icf **)((int)ppGVar27 + -0xc) = local_b0;\n          *(Symbol_info **)((int)ppGVar27 + -0x10) = local_cc;\n          src_id.first = (Relobj *)0x0;\n          *(undefined4 *)((int)ppGVar27 + -0x14) = 0xd2403;\n          std::vector<gold::Symbol*,_std::allocator<gold::Symbol*>_>::emplace_back<gold::Symbol*>\n                    (*(vector<gold::Symbol*,_std::allocator<gold::Symbol*>_> **)\n                      ((int)ppGVar27 + -0x10),*(Symbol ***)((int)ppGVar27 + -0xc));\nLAB_000d2403:\n          src_id.first = pRVar24;\n          *(Icf **)((int)ppGVar27 + -0xc) = local_b0;\n          *(Addend_info **)((int)ppGVar27 + -0x10) = local_e8;\n          local_2c = local_bc;\n          src_id.second = 0;\n          local_28._M_p = (pointer)((int)local_bc >> 0x1f);\n          *(undefined4 *)((int)ppGVar27 + -0x14) = 0xd2433;\n          std::\n          vector<std::pair<long_long_int,_long_long_int>,_std::allocator<std::pair<long_long_int,_long_long_int>_>_>\n          ::emplace_back<std::pair<long_long_int,_long_long_int>_>\n                    (*(vector<std::pair<long_long_int,_long_long_int>,_std::allocator<std::pair<long_long_int,_long_long_int>_>_>\n                       **)((int)ppGVar27 + -0x10),\n                     *(pair<long_long_int,_long_long_int> **)((int)ppGVar27 + -0xc));\n          src_id.second = 0;\n          puVar5 = (local_d0->\n                   super__Vector_base<long_long_unsigned_int,_std::allocator<long_long_unsigned_int>_>\n                   )._M_impl._M_finish;\n          src_id.first = *(Relobj **)prelocs;\n          if (puVar5 == (local_d0->\n                        super__Vector_base<long_long_unsigned_int,_std::allocator<long_long_unsigned_int>_>\n                        )._M_impl._M_end_of_storage) {\n            *(Icf **)((int)ppGVar27 + -8) = local_b0;\n            *(pointer *)((int)ppGVar27 + -0xc) = puVar5;\n            *(Offset_info **)((int)ppGVar27 + -0x10) = local_d0;\n            *(undefined4 *)((int)ppGVar27 + -0x14) = 0xd2b0d;\n            std::vector<long_long_unsigned_int,_std::allocator<long_long_unsigned_int>_>::\n            _M_realloc_insert<long_long_unsigned_int_const&>\n                      (*(vector<long_long_unsigned_int,_std::allocator<long_long_unsigned_int>_> **)\n                        ((int)ppGVar27 + -0x10),(iterator)*(ulonglong **)((int)ppGVar27 + -0xc),\n                       *(ulonglong **)((int)ppGVar27 + -8));\n          }\n          else {\n            *(Relobj **)puVar5 = *(Relobj **)prelocs;\n            *(undefined4 *)((int)puVar5 + 4) = 0;\n            (local_d0->\n            super__Vector_base<long_long_unsigned_int,_std::allocator<long_long_unsigned_int>_>).\n            _M_impl._M_finish = puVar5 + 1;\n          }\n          dst_id.first = (Relobj *)0x0;\n          *(Section_id **)((int)ppGVar27 + -0xc) = &dst_id;\n          *(Reloc_addend_size_info **)((int)ppGVar27 + -0x10) = local_ec;\n          *(undefined4 *)((int)ppGVar27 + -0x14) = 0xd2479;\n          std::vector<unsigned_int,_std::allocator<unsigned_int>_>::emplace_back<unsigned_int>\n                    (*(vector<unsigned_int,_std::allocator<unsigned_int>_> **)\n                      ((int)ppGVar27 + -0x10),*(uint **)((int)ppGVar27 + -0xc));\n          if ((char)local_c0 == '\0') goto LAB_000d2489;\n        }\n        if (((local_d2 != false) && ((plocal_symbols[uVar25 * 0x10 + 0xc] & 0xf) != 1)) &&\n           ((0x17 < uVar31 || ((0x843f84U >> (uVar6 & 0x1f) & 1) == 0)))) {\n          local_b0 = symtab->icf_;\n          local_80 = object;\n          local_7c = (uint)*(ushort *)(plocal_symbols + uVar25 * 0x10 + 0xe);\n          *(undefined4 *)((int)ppGVar27 + -0xc) = 1;\n          *(undefined4 *)((int)ppGVar27 + -0x10) = 0;\n          __node_gen_2._M_h = (__hashtable_alloc *)&local_b0->fptr_section_id_;\n          *(__node_gen_type **)((int)ppGVar27 + -0x14) = &__node_gen_2;\n          *(Sized_relobj_file<32,_false> ***)((int)ppGVar27 + -0x18) = &local_80;\n          *(__hashtable_alloc **)((int)ppGVar27 + -0x1c) = __node_gen_2._M_h;\n          *(undefined1 **)((int)ppGVar27 + -0x20) = local_e0;\n          *(undefined4 *)((int)ppGVar27 + -0x24) = 0xd2ad1;\n          std::\n          _Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>,_std::__detail::_Identity,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n          ::\n          _M_insert<std::pair<gold::Relobj*,_unsigned_int>,_std::__detail::_AllocNode<std::allocator<std::__detail::_Hash_node<std::pair<gold::Relobj*,_unsigned_int>,_true>_>_>_>\n                    ();\n          ppGVar27 = (General_options **)((int)ppGVar27 + -4);\n        }\n        if ((Relobj *)data_shndx != local_b4) {\n          local_c0 = (Output_segment *)object;\n          puVar26 = ppGVar27;\nLAB_000d275e:\n          if ((*local_dc)->options_ == (General_options *)0x0) {\n            puVar26[-2] = local_b8 + -0x61176;\n            puVar26[-3] = 0x5c;\n            puVar26[-4] = (int)local_b8 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n            puVar26[-5] = 0xd2f6e;\n            gold::do_gold_unreachable((char *)puVar26[-4],puVar26[-3],(char *)puVar26[-2]);\n          }\n          ppGVar27 = (General_options **)puVar26;\n          if (((*local_dc)->options_->gc_sections_).value != false) {\n            src_id_1.first = (Relobj *)object;\n            p_Var1 = &(symtab->gc_->section_reloc_map_)._M_t._M_impl.super__Rb_tree_header;\n            src_id_1.second = data_shndx;\n            dst_id.first = (Relobj *)local_c0;\n            dst_id.second = (uint)local_b4;\n            p_Var8 = (symtab->gc_->section_reloc_map_)._M_t._M_impl.super__Rb_tree_header._M_header.\n                     _M_parent;\n            p_Var20 = &p_Var1->_M_header;\n            if (p_Var8 == (_Base_ptr)0x0) {\nLAB_000d27f0:\n              puVar26[-4] = &local_88;\n              local_88 = &src_id_1;\n              puVar26[-5] = 0xd2811;\n              std::\n              _Rb_tree<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>,_std::_Select1st<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>_>,_std::less<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>_>_>\n              ::\n              _M_emplace_hint_unique<const_std::piecewise_construct_t&,_std::tuple<const_std::pair<gold::Relobj*,_unsigned_int>&>,_std::tuple<>_>\n                        ((_Rb_tree<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>,_std::_Select1st<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>_>,_std::less<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>_>_>\n                          *)puVar26[-4],(_Base_ptr)puVar26[-3],\n                         (tuple<const_std::pair<gold::Relobj*,_unsigned_int>&> *)puVar26[-2],\n                         (tuple<> *)puVar26[-1],(piecewise_construct_t *)*puVar26);\n              p_Var21 = local_a8;\n            }\n            else {\n              do {\n                while ((p_Var21 = (_Rb_tree_header *)p_Var8,\n                       object <= (Sized_relobj_file<32,_false> *)\n                                 ((_Base_ptr)((int)p_Var21 + 0x10))->_M_color &&\n                       ((object != (Sized_relobj_file<32,_false> *)\n                                   ((_Base_ptr)((int)p_Var21 + 0x10))->_M_color ||\n                        (data_shndx <= ((size_t *)((int)p_Var21 + 0x10))[1]))))) {\n                  p_Var8 = (p_Var21->_M_header)._M_left;\n                  p_Var20 = &p_Var21->_M_header;\n                  if ((p_Var21->_M_header)._M_left == (_Base_ptr)0x0) goto LAB_000d27da;\n                }\n                pp_Var2 = &(p_Var21->_M_header)._M_right;\n                p_Var8 = *pp_Var2;\n                p_Var21 = (_Rb_tree_header *)p_Var20;\n              } while (*pp_Var2 != (_Base_ptr)0x0);\nLAB_000d27da:\n              if (((p_Var1 == p_Var21) ||\n                  (object < (Sized_relobj_file<32,_false> *)p_Var21->_M_node_count)) ||\n                 ((object == (Sized_relobj_file<32,_false> *)p_Var21->_M_node_count &&\n                  (data_shndx < *(uint *)(p_Var21 + 1))))) goto LAB_000d27f0;\n            }\n            __node_gen._M_h = (__hashtable_alloc *)((int)(p_Var21 + 1) + 4);\n            puVar26[-3] = 1;\n            puVar26[-4] = 0;\n            puVar26[-5] = local_f4;\n            puVar26[-6] = &dst_id;\n            puVar26[-7] = __node_gen._M_h;\n            puVar26[-8] = local_e0;\n            puVar26[-9] = 0xd2840;\n            std::\n            _Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>,_std::__detail::_Identity,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n            ::\n            _M_insert<const_std::pair<gold::Relobj*,_unsigned_int>&,_std::__detail::_AllocNode<std::allocator<std::__detail::_Hash_node<std::pair<gold::Relobj*,_unsigned_int>,_true>_>_>_>\n                      ();\n            pTVar9 = (*local_dc)->target_;\n            if (pTVar9 == (Target *)0x0) {\n              puVar26[-3] = local_b8 + -0x615c4;\n              puVar26[-4] = 0x73;\n              puVar26[-5] = (int)local_b8 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n              puVar26[-6] = 0xd2fad;\n              gold::do_gold_unreachable((char *)puVar26[-5],puVar26[-4],(char *)puVar26[-3]);\n            }\n            pp_Var17 = pTVar9->_vptr_Target;\n            puVar26[-3] = local_c4;\n            puVar26[-4] = local_b4;\n            puVar26[-5] = local_c0;\n            puVar26[-6] = data_shndx;\n            puVar26[-7] = object;\n            puVar26[-8] = symtab;\n            puVar26[-9] = pTVar9;\n            p_Var4 = pp_Var17[0x41];\n            puVar26[-10] = 0xd287d;\n            (*p_Var4)();\n            pp_Var17 = local_d8;\n            ppGVar27 = (General_options **)(puVar26 + -1);\n            if (local_d8 != (_func_int_varargs **)0x0) {\n              local_b4 = (Relobj *)&local_2c;\n              pGVar10 = symtab->gc_;\n              puVar26[-5] = local_d8;\n              local_b0 = (Icf *)&src_id;\n              src_id.first = (Relobj *)&local_2c;\n              puVar26[-6] = 0xd28bd;\n              sVar15 = strlen((char *)puVar26[-5]);\n              pIVar12 = local_b0;\n              puVar26[-2] = 0;\n              puVar26[-3] = (byte *)((int)pp_Var17 + sVar15);\n              puVar26[-4] = pp_Var17;\n              puVar26[-5] = local_b0;\n              puVar26[-6] = 0xd28d2;\n              std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n              _M_construct<char_const*>();\n              puVar26[-3] = pIVar12;\n              puVar26[-4] = &pGVar10->cident_sections_;\n              puVar26[-5] = &local_ac;\n              puVar26[-6] = 0xd28e6;\n              std::\n              _Rb_tree<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>,_std::_Select1st<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>_>,_std::less<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::allocator<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>_>_>\n              ::find((_Rb_tree<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>,_std::_Select1st<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>_>,_std::less<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::allocator<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>_>_>\n                      *)puVar26[-5],\n                     (basic_string<char,_std::char_traits<char>,_std::allocator<char>_> *)\n                     puVar26[-4]);\n              puVar13 = local_ac;\n              if (src_id.first != local_b4) {\n                puVar26[-6] = src_id.first;\n                puVar26[-7] = 0xd2909;\n                operator_delete((void *)puVar26[-6]);\n              }\n              ppGVar27 = (General_options **)(puVar26 + -2);\n              pGVar10 = symtab->gc_;\n              if ((_Rb_tree_header *)puVar13 !=\n                  &(pGVar10->cident_sections_)._M_t._M_impl.super__Rb_tree_header) {\n                p_Var1 = &(pGVar10->section_reloc_map_)._M_t._M_impl.super__Rb_tree_header;\n                src_id.first = (Relobj *)object;\n                src_id.second = data_shndx;\n                p_Var8 = (pGVar10->section_reloc_map_)._M_t._M_impl.super__Rb_tree_header._M_header.\n                         _M_parent;\n                p_Var20 = &p_Var1->_M_header;\n                if (p_Var8 == (_Base_ptr)0x0) {\nLAB_000d2bd8:\n                  puVar26[-6] = &local_84;\n                  local_84 = local_b0;\n                  puVar26[-7] = 0xd2bf6;\n                  std::\n                  _Rb_tree<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>,_std::_Select1st<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>_>,_std::less<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>_>_>\n                  ::\n                  _M_emplace_hint_unique<const_std::piecewise_construct_t&,_std::tuple<const_std::pair<gold::Relobj*,_unsigned_int>&>,_std::tuple<>_>\n                            ((_Rb_tree<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>,_std::_Select1st<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>_>,_std::less<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>_>_>\n                              *)puVar26[-6],(_Base_ptr)puVar26[-5],\n                             (tuple<const_std::pair<gold::Relobj*,_unsigned_int>&> *)puVar26[-4],\n                             (tuple<> *)puVar26[-3],(piecewise_construct_t *)puVar26[-2]);\n                  p_Var21 = local_a8;\n                }\n                else {\n                  do {\n                    while ((p_Var21 = (_Rb_tree_header *)p_Var8,\n                           object <= (Sized_relobj_file<32,_false> *)\n                                     ((_Base_ptr)((int)p_Var21 + 0x10))->_M_color &&\n                           ((object != (Sized_relobj_file<32,_false> *)\n                                       ((_Base_ptr)((int)p_Var21 + 0x10))->_M_color ||\n                            (data_shndx <= ((size_t *)((int)p_Var21 + 0x10))[1]))))) {\n                      p_Var8 = (p_Var21->_M_header)._M_left;\n                      p_Var20 = &p_Var21->_M_header;\n                      if ((p_Var21->_M_header)._M_left == (_Base_ptr)0x0) goto LAB_000d2962;\n                    }\n                    pp_Var2 = &(p_Var21->_M_header)._M_right;\n                    p_Var8 = *pp_Var2;\n                    p_Var21 = (_Rb_tree_header *)p_Var20;\n                  } while (*pp_Var2 != (_Base_ptr)0x0);\nLAB_000d2962:\n                  if (((p_Var21 == p_Var1) ||\n                      (object < (Sized_relobj_file<32,_false> *)p_Var21->_M_node_count)) ||\n                     ((object == (Sized_relobj_file<32,_false> *)p_Var21->_M_node_count &&\n                      (data_shndx < *(uint *)(p_Var21 + 1))))) goto LAB_000d2bd8;\n                }\n                ppGVar27 = (General_options **)(puVar26 + -2);\n                puVar26 = puVar26 + -2;\n                for (puVar11 = *(undefined4 **)(puVar13 + 0x30); puVar11 != (undefined4 *)0x0;\n                    puVar11 = (undefined4 *)*puVar11) {\n                  *(undefined4 *)((int)puVar26 + -0xc) = 1;\n                  *(undefined4 *)((int)puVar26 + -0x10) = 0;\n                  *(__node_gen_type **)((int)puVar26 + -0x14) = &__node_gen_1;\n                  *(undefined4 **)((int)puVar26 + -0x18) = puVar11 + 1;\n                  *(int *)((int)puVar26 + -0x1c) = (int)(p_Var21 + 1) + 4;\n                  *(undefined1 **)((int)puVar26 + -0x20) = local_e0;\n                  *(undefined4 *)((int)puVar26 + -0x24) = 0xd29ae;\n                  __node_gen_1._M_h = (__hashtable_alloc *)((int)(p_Var21 + 1) + 4);\n                  std::\n                  _Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>,_std::__detail::_Identity,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                  ::\n                  _M_insert<const_std::pair<gold::Relobj*,_unsigned_int>&,_std::__detail::_AllocNode<std::allocator<std::__detail::_Hash_node<std::pair<gold::Relobj*,_unsigned_int>,_true>_>_>_>\n                            ();\n                  ppGVar27 = (General_options **)((int)puVar26 + -4);\n                  puVar26 = (undefined4 *)((int)puVar26 + -4);\n                }\n              }\n            }\n          }\n        }\n      }\n      else {\n        if (uVar25 < object->local_symbol_count_) {\n          src_id_1.first = (Relobj *)0x0;\nLAB_000d2a1f:\n          *(undefined ***)((int)ppGVar27 + -8) = local_b8 + -0x615ed;\n          *(undefined4 *)((int)ppGVar27 + -0xc) = 0x11c;\n          *(int *)((int)ppGVar27 + -0x10) = (int)local_b8 + -0x19ca36;\n                    /* WARNING: Subroutine does not return */\n          *(undefined4 *)((int)ppGVar27 + -0x14) = 0xd2a40;\n          gold::do_gold_unreachable\n                    (*(char **)((int)ppGVar27 + -0x10),*(int *)((int)ppGVar27 + -0xc),\n                     *(char **)((int)ppGVar27 + -8));\n        }\n        uVar25 = uVar25 - object->local_symbol_count_;\n        ppSVar7 = (object->symbols_).\n                  super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl._M_start\n        ;\n        local_b0 = (Icf *)(object->symbols_).\n                          super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                          _M_finish;\n        if ((uint)((int)local_b0 - (int)ppSVar7 >> 2) <= uVar25) {\n          *(undefined ***)((int)ppGVar27 + -8) = local_b8 + -0x6156c;\n          *(undefined4 *)((int)ppGVar27 + -0xc) = 0x8ad;\n          *(int *)((int)ppGVar27 + -0x10) = (int)local_b8 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n          *(undefined4 *)((int)ppGVar27 + -0x14) = 0xd2f8f;\n          gold::do_gold_unreachable\n                    (*(char **)((int)ppGVar27 + -0x10),*(int *)((int)ppGVar27 + -0xc),\n                     *(char **)((int)ppGVar27 + -8));\n        }\n        src_id_1.first = (Relobj *)ppSVar7[uVar25];\n        if (src_id_1.first == (Relobj *)0x0) goto LAB_000d2a1f;\n        if ((((src_id_1.first)->super_Object).shnum_ & 0x100000) == 0) {\n          if ((((src_id_1.first)->super_Object).shnum_ & 0x70000) != 0) goto LAB_000d29e2;\nLAB_000d25f7:\n          local_f0 = (Relobj *)((src_id_1.first)->super_Object).xindex_;\n          local_c0 = ((anon_union_4_3_b0f6f408_for_u1_ *)\n                     &((src_id_1.first)->super_Object).name_._M_string_length)->output_segment;\n          local_c4 = (int)&local_bc->first + (int)local_f0;\n          if (((uint)local_c0->output_lists_[3].\n                     super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>.\n                     _M_impl._M_end_of_storage & 1) == 0) {\n            local_b4 = (Relobj *)\n                       ((src_id_1.first)->super_Object).name_.field_2._M_allocated_capacity;\n            bVar22 = (byte)((src_id_1.first)->super_Object).shnum_ & 0xf;\n            bVar23 = *(byte *)((int)&((src_id_1.first)->super_Object).shnum_ + 3) >> 5 & 1;\n            bVar34 = bVar22 < 2;\n            bVar36 = bVar22 == 2;\n            if (bVar36) {\n              bVar34 = false;\n              bVar36 = local_d2 == false;\n              if ((!bVar36) &&\n                 (((bVar23 == 0 || (bVar36 = uVar31 == 0x17, 0x17 < uVar31)) ||\n                  (bVar34 = (0x843f84U >> (uVar6 & 0x1f) & 1) != 0, !bVar34)))) {\n                local_b0 = symtab->icf_;\n                *(undefined4 *)((int)ppGVar27 + -0xc) = 1;\n                *(undefined4 *)((int)ppGVar27 + -0x10) = 0;\n                *(__node_gen_type **)((int)ppGVar27 + -0x14) = &__node_gen_3;\n                *(Output_segment ***)((int)ppGVar27 + -0x18) = &local_78;\n                __node_gen_3._M_h = (__hashtable_alloc *)&local_b0->fptr_section_id_;\n                *(__hashtable_alloc **)((int)ppGVar27 + -0x1c) = __node_gen_3._M_h;\n                *(undefined1 **)((int)ppGVar27 + -0x20) = local_e0;\n                    /* try { // try from 000d2cc6 to 000d2cca has its CatchHandler @ 000d302c */\n                *(undefined4 *)((int)ppGVar27 + -0x24) = 0xd2ccb;\n                local_78 = local_c0;\n                local_74 = local_b4;\n                std::\n                _Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>,_std::__detail::_Identity,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                ::\n                _M_insert<std::pair<gold::Relobj*,_unsigned_int>,_std::__detail::_AllocNode<std::allocator<std::__detail::_Hash_node<std::pair<gold::Relobj*,_unsigned_int>,_true>_>_>_>\n                          ();\n                bVar34 = (undefined1 *)0xffffffe3 < (undefined1 *)((int)ppGVar27 + -0x20);\n                bVar36 = ppGVar27 == (General_options **)0x4;\n                ppGVar27 = (General_options **)((int)ppGVar27 + -4);\n              }\n            }\n          }\n          else {\n            local_b4 = (Relobj *)0x0;\n            bVar34 = false;\n            bVar23 = 0;\n            bVar36 = true;\n            local_c0 = (Output_segment *)0x0;\n          }\n        }\n        else {\n          *(Relobj **)((int)ppGVar27 + -0xc) = src_id_1.first;\n          *(Symbol_table **)((int)ppGVar27 + -0x10) = symtab;\n          *(undefined4 *)((int)ppGVar27 + -0x14) = 0xd29d2;\n          src_id_1.first =\n               (Relobj *)\n               gold::Symbol_table::resolve_forwards\n                         (*(Symbol_table **)((int)ppGVar27 + -0x10),\n                          *(Symbol **)((int)ppGVar27 + -0xc));\n          if ((((src_id_1.first)->super_Object).shnum_ & 0x70000) == 0) goto LAB_000d25f7;\nLAB_000d29e2:\n          local_f0 = (Relobj *)((src_id_1.first)->super_Object).xindex_;\n          bVar23 = 0;\n          local_b4 = (Relobj *)0x0;\n          local_c0 = (Output_segment *)0x0;\n          bVar34 = CARRY4((uint)local_bc,(uint)local_f0);\n          local_c4 = (int)&local_bc->first + (int)local_f0;\n          bVar36 = local_c4 == 0;\n        }\n        pp_Var17 = ((src_id_1.first)->super_Object)._vptr_Object;\n        iVar19 = 8;\n        pbVar29 = (byte *)((int)local_b8 + -0x19ca26);\n        pp_Var32 = pp_Var17;\n        do {\n          if (iVar19 == 0) break;\n          iVar19 = iVar19 + -1;\n          bVar34 = *pbVar29 < *(byte *)pp_Var32;\n          bVar36 = *pbVar29 == *(byte *)pp_Var32;\n          pbVar29 = pbVar29 + (uint)bVar37 * -2 + 1;\n          pp_Var32 = (_func_int_varargs **)((int)pp_Var32 + (uint)bVar37 * -2 + 1);\n        } while (bVar36);\n        bVar35 = false;\n        bVar34 = (!bVar34 && !bVar36) == bVar34;\n        if (bVar34) {\n          local_d8 = pp_Var17 + 2;\n        }\n        else {\n          iVar19 = 7;\n          pbVar29 = (byte *)((int)local_b8 + -0x19ca1d);\n          pp_Var32 = pp_Var17;\n          do {\n            if (iVar19 == 0) break;\n            iVar19 = iVar19 + -1;\n            bVar35 = *pbVar29 < *(byte *)pp_Var32;\n            bVar34 = *pbVar29 == *(byte *)pp_Var32;\n            pbVar29 = pbVar29 + (uint)bVar37 * -2 + 1;\n            pp_Var32 = (_func_int_varargs **)((int)pp_Var32 + (uint)bVar37 * -2 + 1);\n          } while (bVar34);\n          pp_Var17 = (_func_int_varargs **)((int)pp_Var17 + 7);\n          if ((!bVar35 && !bVar34) != bVar35) {\n            pp_Var17 = local_d8;\n          }\n          local_d8 = pp_Var17;\n        }\n        if (local_d1 != '\0') {\n          if (bVar23 == 0) {\n            src_id.first = (Relobj *)0x0;\n            src_id.second = 0;\n          }\n          else {\n            src_id.first = (Relobj *)local_c0;\n            src_id.second = (uint)local_b4;\n          }\n          *(Icf **)((int)ppGVar27 + -0xc) = (Icf *)&src_id;\n          *(mapped_type **)((int)ppGVar27 + -0x10) = local_c8;\n          local_b0 = (Icf *)&src_id;\n          *(undefined4 *)((int)ppGVar27 + -0x14) = 0xd26b9;\n          std::\n          vector<std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>\n          ::emplace_back<std::pair<gold::Relobj*,_unsigned_int>_>\n                    (*(vector<std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>\n                       **)((int)ppGVar27 + -0x10),\n                     *(pair<gold::Relobj*,_unsigned_int> **)((int)ppGVar27 + -0xc));\n          ppSVar7 = (local_cc->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>).\n                    _M_impl._M_finish;\n          if (ppSVar7 ==\n              (local_cc->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>)._M_impl.\n              _M_end_of_storage) {\n            *(Section_id **)((int)ppGVar27 + -8) = &src_id_1;\n            *(pointer *)((int)ppGVar27 + -0xc) = ppSVar7;\n            *(Symbol_info **)((int)ppGVar27 + -0x10) = local_cc;\n            *(undefined4 *)((int)ppGVar27 + -0x14) = 0xd2b4b;\n            std::vector<gold::Symbol*,_std::allocator<gold::Symbol*>_>::\n            _M_realloc_insert<gold::Symbol*_const&>\n                      (*(vector<gold::Symbol*,_std::allocator<gold::Symbol*>_> **)\n                        ((int)ppGVar27 + -0x10),(iterator)*(Symbol ***)((int)ppGVar27 + -0xc),\n                       *(Symbol ***)((int)ppGVar27 + -8));\n          }\n          else {\n            *ppSVar7 = (Symbol *)src_id_1.first;\n            (local_cc->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>)._M_impl.\n            _M_finish = ppSVar7 + 1;\n          }\n          *(Icf **)((int)ppGVar27 + -0xc) = local_b0;\n          *(Addend_info **)((int)ppGVar27 + -0x10) = local_e8;\n          src_id.first = local_f0;\n          src_id.second = 0;\n          local_2c = local_bc;\n          local_28._M_p = (pointer)((int)local_bc >> 0x1f);\n          *(undefined4 *)((int)ppGVar27 + -0x14) = 0xd270d;\n          std::\n          vector<std::pair<long_long_int,_long_long_int>,_std::allocator<std::pair<long_long_int,_long_long_int>_>_>\n          ::emplace_back<std::pair<long_long_int,_long_long_int>_>\n                    (*(vector<std::pair<long_long_int,_long_long_int>,_std::allocator<std::pair<long_long_int,_long_long_int>_>_>\n                       **)((int)ppGVar27 + -0x10),\n                     *(pair<long_long_int,_long_long_int> **)((int)ppGVar27 + -0xc));\n          src_id.second = 0;\n          puVar5 = (local_d0->\n                   super__Vector_base<long_long_unsigned_int,_std::allocator<long_long_unsigned_int>_>\n                   )._M_impl._M_finish;\n          src_id.first = *(Relobj **)prelocs;\n          if (puVar5 == (local_d0->\n                        super__Vector_base<long_long_unsigned_int,_std::allocator<long_long_unsigned_int>_>\n                        )._M_impl._M_end_of_storage) {\n            *(Icf **)((int)ppGVar27 + -8) = local_b0;\n            *(pointer *)((int)ppGVar27 + -0xc) = puVar5;\n            *(Offset_info **)((int)ppGVar27 + -0x10) = local_d0;\n            *(undefined4 *)((int)ppGVar27 + -0x14) = 0xd2bbd;\n            std::vector<long_long_unsigned_int,_std::allocator<long_long_unsigned_int>_>::\n            _M_realloc_insert<long_long_unsigned_int_const&>\n                      (*(vector<long_long_unsigned_int,_std::allocator<long_long_unsigned_int>_> **)\n                        ((int)ppGVar27 + -0x10),(iterator)*(ulonglong **)((int)ppGVar27 + -0xc),\n                       *(ulonglong **)((int)ppGVar27 + -8));\n          }\n          else {\n            *(Relobj **)puVar5 = *(Relobj **)prelocs;\n            *(undefined4 *)((int)puVar5 + 4) = 0;\n            (local_d0->\n            super__Vector_base<long_long_unsigned_int,_std::allocator<long_long_unsigned_int>_>).\n            _M_impl._M_finish = puVar5 + 1;\n          }\n          dst_id.first = (Relobj *)0x0;\n          *(Section_id **)((int)ppGVar27 + -0xc) = &dst_id;\n          *(Reloc_addend_size_info **)((int)ppGVar27 + -0x10) = local_ec;\n          *(undefined4 *)((int)ppGVar27 + -0x14) = 0xd2753;\n          std::vector<unsigned_int,_std::allocator<unsigned_int>_>::emplace_back<unsigned_int>\n                    (*(vector<unsigned_int,_std::allocator<unsigned_int>_> **)\n                      ((int)ppGVar27 + -0x10),*(uint **)((int)ppGVar27 + -0xc));\n        }\n        puVar26 = ppGVar27;\n        if (bVar23 != 0) goto LAB_000d275e;\n      }\nLAB_000d2489:\n      local_e4 = local_e4 + 1;\n      prelocs = prelocs + 0xc;\n    } while (reloc_count != local_e4);\n  }\n  if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n       *)src_section_name._M_dataplus._M_p != local_f8) {\n    *(pointer *)((int)ppGVar27 + -0x10) = src_section_name._M_dataplus._M_p;\n    *(undefined4 *)((int)ppGVar27 + -0x14) = 0xd2c22;\n    operator_delete(*(void **)((int)ppGVar27 + -0x10));\n  }\n  return;\n}\n\n" comment comment comment comment comment comment (declaration "void __thiscall\nanon_unknown.dwarf_6462d4::Target_powerpc<32,_false>::gc_process_relocs\n          (Target_powerpc<32,_false> *this,Symbol_table *symtab,Layout *layout,\n          Sized_relobj_file<32,_false> *object,uint data_shndx,uint param_5,uchar *prelocs,\n          size_t reloc_count,Output_section *output_section,bool needs_special_offset_handling,\n          size_t param_10,uchar *plocal_symbols)\n\n{\n  _Rb_tree_header *p_Var1;" primitive_type (ms_call_modifier "__thiscall" __thiscall) (ERROR "anon_unknown.dwarf_6462d4::" identifier . identifier : :) identifier (ERROR "<32" < number_literal) , (ERROR "_false>::gc_process_relocs\n          (Target_powerpc<32,_false> *this,Symbol_table *symtab,Layout *layout,\n          Sized_relobj_file<32,_false> *object,uint data_shndx,uint param_5,uchar *prelocs,\n          size_t reloc_count,Output_section *output_section,bool needs_special_offset_handling,\n          size_t param_10,uchar *plocal_symbols)\n\n{\n  _Rb_tree_header" identifier > : : (function_declarator "gc_process_relocs\n          (Target_powerpc<32,_false> *this,Symbol_table *symtab,Layout *layout,\n          Sized_relobj_file<32,_false> *object,uint data_shndx,uint param_5,uchar *prelocs,\n          size_t reloc_count,Output_section *output_section,bool needs_special_offset_handling,\n          size_t param_10,uchar *plocal_symbols)" identifier (parameter_list "(Target_powerpc<32,_false> *this,Symbol_table *symtab,Layout *layout,\n          Sized_relobj_file<32,_false> *object,uint data_shndx,uint param_5,uchar *prelocs,\n          size_t reloc_count,Output_section *output_section,bool needs_special_offset_handling,\n          size_t param_10,uchar *plocal_symbols)" ( (parameter_declaration "Target_powerpc" type_identifier) (ERROR "<32" < number_literal) , (parameter_declaration "_false> *this" type_identifier (ERROR ">" >) (pointer_declarator "*this" * identifier)) , (parameter_declaration "Symbol_table *symtab" type_identifier (pointer_declarator "*symtab" * identifier)) , (parameter_declaration "Layout *layout" type_identifier (pointer_declarator "*layout" * identifier)) , (parameter_declaration "Sized_relobj_file" type_identifier) (ERROR "<32" < number_literal) , (parameter_declaration "_false> *object" type_identifier (ERROR ">" >) (pointer_declarator "*object" * identifier)) , (parameter_declaration "uint data_shndx" type_identifier identifier) , (parameter_declaration "uint param_5" type_identifier identifier) , (parameter_declaration "uchar *prelocs" type_identifier (pointer_declarator "*prelocs" * identifier)) , (parameter_declaration "size_t reloc_count" primitive_type identifier) , (parameter_declaration "Output_section *output_section" type_identifier (pointer_declarator "*output_section" * identifier)) , (parameter_declaration "bool needs_special_offset_handling" primitive_type identifier) , (parameter_declaration "size_t param_10" primitive_type identifier) , (parameter_declaration "uchar *plocal_symbols" type_identifier (pointer_declarator "*plocal_symbols" * identifier)) ))) { identifier) (pointer_declarator "*p_Var1" * identifier) ;) (declaration "_Base_ptr *pp_Var2;" type_identifier (pointer_declarator "*pp_Var2" * identifier) ;) (declaration "General_options *pGVar3;" type_identifier (pointer_declarator "*pGVar3" * identifier) ;) (declaration "_func_int_varargs *p_Var4;" type_identifier (pointer_declarator "*p_Var4" * identifier) ;) (declaration "pointer puVar5;" type_identifier identifier ;) (declaration "uint uVar6;" type_identifier identifier ;) (declaration "pointer ppSVar7;" type_identifier identifier ;) (declaration "_Base_ptr p_Var8;" type_identifier identifier ;) (declaration "Target *pTVar9;" type_identifier (pointer_declarator "*pTVar9" * identifier) ;) (declaration "Garbage_collection *pGVar10;" type_identifier (pointer_declarator "*pGVar10" * identifier) ;) (declaration "undefined4 *puVar11;" type_identifier (pointer_declarator "*puVar11" * identifier) ;) (declaration "Icf *pIVar12;" type_identifier (pointer_declarator "*pIVar12" * identifier) ;) (declaration "undefined1 *puVar13;" type_identifier (pointer_declarator "*puVar13" * identifier) ;) (declaration "Parameters *pPVar14;" type_identifier (pointer_declarator "*pPVar14" * identifier) ;) (declaration "size_t sVar15;" primitive_type identifier ;) (declaration "Xindex *pXVar16;" type_identifier (pointer_declarator "*pXVar16" * identifier) ;) (declaration "_func_int_varargs **pp_Var17;" type_identifier (pointer_declarator "**pp_Var17" * (pointer_declarator "*pp_Var17" * identifier)) ;) (declaration "pointer pcVar18;" type_identifier identifier ;) (declaration "int iVar19;" primitive_type identifier ;) (declaration "_Base_ptr p_Var20;" type_identifier identifier ;) (declaration "_Rb_tree_header *p_Var21;" type_identifier (pointer_declarator "*p_Var21" * identifier) ;) (declaration "byte bVar22;" type_identifier identifier ;) (declaration "byte bVar23;" type_identifier identifier ;) (declaration "Relobj *pRVar24;" type_identifier (pointer_declarator "*pRVar24" * identifier) ;) (declaration "uint uVar25;" type_identifier identifier ;) (declaration "undefined4 *puVar26;" type_identifier (pointer_declarator "*puVar26" * identifier) ;) (declaration "General_options **ppGVar27;" type_identifier (pointer_declarator "**ppGVar27" * (pointer_declarator "*ppGVar27" * identifier)) ;) (expression_statement "Sized_relobj_file<32,_false> *unaff_ESI;" (update_expression "Sized_relobj_file<32,_false> *unaff_ESI" (binary_expression "Sized_relobj_file<32,_false> *unaff_ESI" (binary_expression "Sized_relobj_file<32" identifier < number_literal) (ERROR ",_false" , identifier) > (pointer_expression "*unaff_ESI" * identifier)) --) ;) (declaration "undefined **ppuVar28;" type_identifier (pointer_declarator "**ppuVar28" * (pointer_declarator "*ppuVar28" * identifier)) ;) (declaration "byte *pbVar29;" type_identifier (pointer_declarator "*pbVar29" * identifier) ;) (expression_statement "Sized_relobj_file<32,_false> *pSVar30;" (update_expression "Sized_relobj_file<32,_false> *pSVar30" (binary_expression "Sized_relobj_file<32,_false> *pSVar30" (binary_expression "Sized_relobj_file<32" identifier < number_literal) (ERROR ",_false" , identifier) > (pointer_expression "*pSVar30" * identifier)) --) ;) (declaration "uint uVar31;" type_identifier identifier ;) (declaration "_func_int_varargs **pp_Var32;" type_identifier (pointer_declarator "**pp_Var32" * (pointer_declarator "*pp_Var32" * identifier)) ;) (declaration "_Alloc_hider _Var33;" type_identifier identifier ;) (declaration "bool bVar34;" primitive_type identifier ;) (declaration "bool bVar35;" primitive_type identifier ;) (declaration "bool bVar36;" primitive_type identifier ;) (declaration "byte bVar37;" type_identifier identifier ;) (declaration "General_options *pGStack_100;" type_identifier (pointer_declarator "*pGStack_100" * identifier) ;) (declaration "undefined1 auStack_fc [4];" type_identifier (array_declarator "auStack_fc [4]" identifier [ number_literal ]) ;) (ERROR "anon_union_16_2_edb7204a_for_basic_string<char," (binary_expression "anon_union_16_2_edb7204a_for_basic_string<char" identifier < identifier) ,) (labeled_statement "_std::char_traits<char>,_std::allocator<char>_>_9\n  *local_f8;" statement_identifier (ERROR "::char_traits<char>,_std:" : : (binary_expression "char_traits<char>,_std" (binary_expression "char_traits<char" identifier < identifier) > (ERROR "," ,) identifier) :) : (expression_statement "allocator<char>_>_9\n  *local_f8;" (binary_expression "allocator<char>_>_9\n  *local_f8" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > (binary_expression "_9\n  *local_f8" identifier * identifier)) ;)) (declaration "__node_gen_type *local_f4;" type_identifier (pointer_declarator "*local_f4" * identifier) ;) (declaration "Relobj *local_f0;" type_identifier (pointer_declarator "*local_f0" * identifier) ;) (declaration "Reloc_addend_size_info *local_ec;" type_identifier (pointer_declarator "*local_ec" * identifier) ;) (declaration "Addend_info *local_e8;" type_identifier (pointer_declarator "*local_e8" * identifier) ;) (declaration "size_t local_e4;" primitive_type identifier ;) (declaration "undefined1 *local_e0;" type_identifier (pointer_declarator "*local_e0" * identifier) ;) (declaration "Parameters **local_dc;" type_identifier (pointer_declarator "**local_dc" * (pointer_declarator "*local_dc" * identifier)) ;) (declaration "_func_int_varargs **local_d8;" type_identifier (pointer_declarator "**local_d8" * (pointer_declarator "*local_d8" * identifier)) ;) (declaration "bool local_d2;" primitive_type identifier ;) (declaration "char local_d1;" primitive_type identifier ;) (declaration "Offset_info *local_d0;" type_identifier (pointer_declarator "*local_d0" * identifier) ;) (declaration "Symbol_info *local_cc;" type_identifier (pointer_declarator "*local_cc" * identifier) ;) (declaration "mapped_type *local_c8;" type_identifier (pointer_declarator "*local_c8" * identifier) ;) (declaration "int local_c4;" primitive_type identifier ;) (declaration "Output_segment *local_c0;" type_identifier (pointer_declarator "*local_c0" * identifier) ;) (declaration "pointer local_bc;" type_identifier identifier ;) (declaration "undefined **local_b8;" type_identifier (pointer_declarator "**local_b8" * (pointer_declarator "*local_b8" * identifier)) ;) (declaration "Relobj *local_b4;" type_identifier (pointer_declarator "*local_b4" * identifier) ;) (declaration "Icf *local_b0;" type_identifier (pointer_declarator "*local_b0" * identifier) ;) (declaration "undefined1 *local_ac;" type_identifier (pointer_declarator "*local_ac" * identifier) ;) (declaration "_Rb_tree_header *local_a8;" type_identifier (pointer_declarator "*local_a8" * identifier) ;) (declaration "undefined1 local_a4 [12];" type_identifier (array_declarator "local_a4 [12]" identifier [ number_literal ]) ;) (declaration "__node_gen_type __node_gen_2;" type_identifier identifier ;) (declaration "__node_gen_type __node_gen_3;" type_identifier identifier ;) (declaration "__node_gen_type __node_gen_1;" type_identifier identifier ;) (declaration "__node_gen_type __node_gen;" type_identifier identifier ;) (declaration "Section_id *local_88;" type_identifier (pointer_declarator "*local_88" * identifier) ;) (declaration "Icf *local_84;" type_identifier (pointer_declarator "*local_84" * identifier) ;) (expression_statement "Sized_relobj_file<32,_false> *local_80;" (update_expression "Sized_relobj_file<32,_false> *local_80" (binary_expression "Sized_relobj_file<32,_false> *local_80" (binary_expression "Sized_relobj_file<32" identifier < number_literal) (ERROR ",_false" , identifier) > (pointer_expression "*local_80" * identifier)) --) ;) (declaration "uint local_7c;" type_identifier identifier ;) (declaration "Output_segment *local_78;" type_identifier (pointer_declarator "*local_78" * identifier) ;) (declaration "Relobj *local_74;" type_identifier (pointer_declarator "*local_74" * identifier) ;) (declaration "Section_id src_id_1;" type_identifier identifier ;) (declaration "Section_id dst_id;" type_identifier identifier ;) (declaration "Scan scan;" type_identifier identifier ;) (declaration "string src_section_name;" type_identifier identifier ;) (declaration "Section_id src_id;" type_identifier identifier ;) (declaration "pointer local_2c;" type_identifier identifier ;) (declaration "_Alloc_hider local_28;" type_identifier identifier ;) (expression_statement "bVar37 = 0;" (assignment_expression "bVar37 = 0" identifier = number_literal) ;) (expression_statement "local_b8 = &_GLOBAL_OFFSET_TABLE_;" (assignment_expression "local_b8 = &_GLOBAL_OFFSET_TABLE_" identifier = (pointer_expression "&_GLOBAL_OFFSET_TABLE_" & identifier)) ;) (expression_statement "local_dc = &gold::parameters;" (assignment_expression "local_dc = &gold" identifier = (pointer_expression "&gold" & identifier)) (ERROR "::parameters" : : identifier) ;) (expression_statement "pGVar3 = gold::parameters->options_;" (field_expression "pGVar3 = gold::parameters->options_" (assignment_expression "pGVar3 = gold" identifier = identifier) (ERROR "::parameters" : : identifier) -> field_identifier) ;) (if_statement "if (pGVar3 == (General_options *)0x0) {\n    pGStack_100 = pGVar3;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 000d2fc4 to 000d2fc8 has its CatchHandler @ 000d3025 */\n    gold::do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n  }" if (parenthesized_expression "(pGVar3 == (General_options *)0x0)" ( (binary_expression "pGVar3 == (General_options *)0x0" identifier == (cast_expression "(General_options *)0x0" ( (type_descriptor "General_options *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    pGStack_100 = pGVar3;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 000d2fc4 to 000d2fc8 has its CatchHandler @ 000d3025 */\n    gold::do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n  }" { (expression_statement "pGStack_100 = pGVar3;" (assignment_expression "pGStack_100 = pGVar3" identifier = identifier) ;) comment comment (labeled_statement "gold::do_gold_unreachable("../../gold/parameters.h",0x5c,"options");" statement_identifier : (ERROR ":" :) (expression_statement "do_gold_unreachable("../../gold/parameters.h",0x5c,"options");" (call_expression "do_gold_unreachable("../../gold/parameters.h",0x5c,"options")" identifier (argument_list "("../../gold/parameters.h",0x5c,"options")" ( (string_literal ""../../gold/parameters.h"" " string_content ") , number_literal , (string_literal ""options"" " string_content ") ))) ;)) })) (if_statement "if (pGVar3->icf_status_ == ICF_NONE) {\n    local_f8 = &src_section_name.field_2;\n    pGStack_100 = (General_options *)0x0;\n    src_section_name._M_dataplus._M_p = (pointer)local_f8;\n                    /* try { // try from 000d2dc0 to 000d2dc4 has its CatchHandler @ 000d3025 */\n    std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n    _M_construct<char_const*>(&src_section_name,"","");\n    ppGVar27 = (General_options **)auStack_fc;\n  }\n  else {\n    p_Var4 = (object->super_Sized_relobj<32,_false>).super_Relobj.super_Object._vptr_Object[0x10];\n    if (p_Var4 == gold::Sized_relobj_file<32,_false>::do_section_name) {\n                    /* try { // try from 000d22b3 to 000d22b7 has its CatchHandler @ 000d3025 */\n      elfcpp::Elf_file<32,_false,_gold::Object>::section_name(&object->elf_file_,data_shndx);\n      unaff_ESI = object;\n    }\n    else {\n                    /* try { // try from 000d2f05 to 000d2f06 has its CatchHandler @ 000d3025 */\n      (*p_Var4)(&src_section_name,object,data_shndx);\n      unaff_ESI = (Sized_relobj_file<32,_false> *)&_GLOBAL_OFFSET_TABLE_;\n    }\n    ppGVar27 = &pGStack_100;\n    local_f8 = &src_section_name.field_2;\n  }" if (parenthesized_expression "(pGVar3->icf_status_ == ICF_NONE)" ( (binary_expression "pGVar3->icf_status_ == ICF_NONE" (field_expression "pGVar3->icf_status_" identifier -> field_identifier) == identifier) )) (compound_statement "{\n    local_f8 = &src_section_name.field_2;\n    pGStack_100 = (General_options *)0x0;\n    src_section_name._M_dataplus._M_p = (pointer)local_f8;\n                    /* try { // try from 000d2dc0 to 000d2dc4 has its CatchHandler @ 000d3025 */\n    std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n    _M_construct<char_const*>(&src_section_name,"","");\n    ppGVar27 = (General_options **)auStack_fc;\n  }" { (expression_statement "local_f8 = &src_section_name.field_2;" (assignment_expression "local_f8 = &src_section_name.field_2" identifier = (pointer_expression "&src_section_name.field_2" & (field_expression "src_section_name.field_2" identifier . field_identifier))) ;) (expression_statement "pGStack_100 = (General_options *)0x0;" (assignment_expression "pGStack_100 = (General_options *)0x0" identifier = (cast_expression "(General_options *)0x0" ( (type_descriptor "General_options *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "src_section_name._M_dataplus._M_p = (pointer)local_f8;" (assignment_expression "src_section_name._M_dataplus._M_p = (pointer)local_f8" (field_expression "src_section_name._M_dataplus._M_p" (field_expression "src_section_name._M_dataplus" identifier . field_identifier) . field_identifier) = (cast_expression "(pointer)local_f8" ( (type_descriptor "pointer" type_identifier) ) identifier)) ;) comment (labeled_statement "std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n    _M_construct<char_const*>(&src_section_name,"","");" statement_identifier (ERROR "::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>:" : : (comma_expression "__cxx11::basic_string<char,_std::char_traits<char>,_std" identifier (ERROR "::basic_string<char,_std::char_traits<char>" : : (comma_expression "basic_string<char,_std" (binary_expression "basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char" identifier < identifier) >) , identifier) : : (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > :) : (expression_statement "_M_construct<char_const*>(&src_section_name,"","");" (binary_expression "_M_construct<char_const*>(&src_section_name,"","")" (binary_expression "_M_construct<char_const" identifier < identifier) (ERROR "*" *) > (parenthesized_expression "(&src_section_name,"","")" ( (comma_expression "&src_section_name,"",""" (pointer_expression "&src_section_name" & identifier) , (comma_expression """,""" (string_literal """" " ") , (string_literal """" " "))) ))) ;)) (expression_statement "ppGVar27 = (General_options **)auStack_fc;" (assignment_expression "ppGVar27 = (General_options **)auStack_fc" identifier = (cast_expression "(General_options **)auStack_fc" ( (type_descriptor "General_options **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) ;) }) (else_clause "else {\n    p_Var4 = (object->super_Sized_relobj<32,_false>).super_Relobj.super_Object._vptr_Object[0x10];\n    if (p_Var4 == gold::Sized_relobj_file<32,_false>::do_section_name) {\n                    /* try { // try from 000d22b3 to 000d22b7 has its CatchHandler @ 000d3025 */\n      elfcpp::Elf_file<32,_false,_gold::Object>::section_name(&object->elf_file_,data_shndx);\n      unaff_ESI = object;\n    }\n    else {\n                    /* try { // try from 000d2f05 to 000d2f06 has its CatchHandler @ 000d3025 */\n      (*p_Var4)(&src_section_name,object,data_shndx);\n      unaff_ESI = (Sized_relobj_file<32,_false> *)&_GLOBAL_OFFSET_TABLE_;\n    }\n    ppGVar27 = &pGStack_100;\n    local_f8 = &src_section_name.field_2;\n  }" else (compound_statement "{\n    p_Var4 = (object->super_Sized_relobj<32,_false>).super_Relobj.super_Object._vptr_Object[0x10];\n    if (p_Var4 == gold::Sized_relobj_file<32,_false>::do_section_name) {\n                    /* try { // try from 000d22b3 to 000d22b7 has its CatchHandler @ 000d3025 */\n      elfcpp::Elf_file<32,_false,_gold::Object>::section_name(&object->elf_file_,data_shndx);\n      unaff_ESI = object;\n    }\n    else {\n                    /* try { // try from 000d2f05 to 000d2f06 has its CatchHandler @ 000d3025 */\n      (*p_Var4)(&src_section_name,object,data_shndx);\n      unaff_ESI = (Sized_relobj_file<32,_false> *)&_GLOBAL_OFFSET_TABLE_;\n    }\n    ppGVar27 = &pGStack_100;\n    local_f8 = &src_section_name.field_2;\n  }" { (expression_statement "p_Var4 = (object->super_Sized_relobj<32,_false>).super_Relobj.super_Object._vptr_Object[0x10];" (assignment_expression "p_Var4 = (object->super_Sized_relobj<32,_false>).super_Relobj.super_Object._vptr_Object[0x10]" identifier = (subscript_expression "(object->super_Sized_relobj<32,_false>).super_Relobj.super_Object._vptr_Object[0x10]" (field_expression "(object->super_Sized_relobj<32,_false>).super_Relobj.super_Object._vptr_Object" (field_expression "(object->super_Sized_relobj<32,_false>).super_Relobj.super_Object" (field_expression "(object->super_Sized_relobj<32,_false>).super_Relobj" (parenthesized_expression "(object->super_Sized_relobj<32,_false>)" ( (comma_expression "object->super_Sized_relobj<32,_false" (binary_expression "object->super_Sized_relobj<32" (field_expression "object->super_Sized_relobj" identifier -> field_identifier) < number_literal) , identifier) (ERROR ">" >) )) . field_identifier) . field_identifier) . field_identifier) [ number_literal ])) ;) (if_statement "if (p_Var4 == gold::Sized_relobj_file<32,_false>::do_section_name) {\n                    /* try { // try from 000d22b3 to 000d22b7 has its CatchHandler @ 000d3025 */\n      elfcpp::Elf_file<32,_false,_gold::Object>::section_name(&object->elf_file_,data_shndx);\n      unaff_ESI = object;\n    }\n    else {\n                    /* try { // try from 000d2f05 to 000d2f06 has its CatchHandler @ 000d3025 */\n      (*p_Var4)(&src_section_name,object,data_shndx);\n      unaff_ESI = (Sized_relobj_file<32,_false> *)&_GLOBAL_OFFSET_TABLE_;\n    }" if (parenthesized_expression "(p_Var4 == gold::Sized_relobj_file<32,_false>::do_section_name)" ( (ERROR "p_Var4 == gold::" (binary_expression "p_Var4 == gold" identifier == identifier) : :) (comma_expression "Sized_relobj_file<32,_false>::do_section_name" (binary_expression "Sized_relobj_file<32" identifier < number_literal) , (binary_expression "_false>::do_section_name" identifier > (ERROR "::" : :) identifier)) )) (compound_statement "{\n                    /* try { // try from 000d22b3 to 000d22b7 has its CatchHandler @ 000d3025 */\n      elfcpp::Elf_file<32,_false,_gold::Object>::section_name(&object->elf_file_,data_shndx);\n      unaff_ESI = object;\n    }" { comment (labeled_statement "elfcpp::Elf_file<32,_false,_gold::Object>::section_name(&object->elf_file_,data_shndx);" statement_identifier (ERROR "::Elf_file<32,_false,_gold::Object>:" : : (comma_expression "Elf_file<32,_false,_gold" (binary_expression "Elf_file<32" identifier < number_literal) , (comma_expression "_false,_gold" identifier , identifier)) : : identifier > :) : (expression_statement "section_name(&object->elf_file_,data_shndx);" (call_expression "section_name(&object->elf_file_,data_shndx)" identifier (argument_list "(&object->elf_file_,data_shndx)" ( (pointer_expression "&object->elf_file_" & (field_expression "object->elf_file_" identifier -> field_identifier)) , identifier ))) ;)) (expression_statement "unaff_ESI = object;" (assignment_expression "unaff_ESI = object" identifier = identifier) ;) }) (else_clause "else {\n                    /* try { // try from 000d2f05 to 000d2f06 has its CatchHandler @ 000d3025 */\n      (*p_Var4)(&src_section_name,object,data_shndx);\n      unaff_ESI = (Sized_relobj_file<32,_false> *)&_GLOBAL_OFFSET_TABLE_;\n    }" else (compound_statement "{\n                    /* try { // try from 000d2f05 to 000d2f06 has its CatchHandler @ 000d3025 */\n      (*p_Var4)(&src_section_name,object,data_shndx);\n      unaff_ESI = (Sized_relobj_file<32,_false> *)&_GLOBAL_OFFSET_TABLE_;\n    }" { comment (expression_statement "(*p_Var4)(&src_section_name,object,data_shndx);" (call_expression "(*p_Var4)(&src_section_name,object,data_shndx)" (parenthesized_expression "(*p_Var4)" ( (pointer_expression "*p_Var4" * identifier) )) (argument_list "(&src_section_name,object,data_shndx)" ( (pointer_expression "&src_section_name" & identifier) , identifier , identifier ))) ;) (expression_statement "unaff_ESI = (Sized_relobj_file<32,_false> *)&_GLOBAL_OFFSET_TABLE_;" (assignment_expression "unaff_ESI = (Sized_relobj_file<32,_false> *)&_GLOBAL_OFFSET_TABLE_" identifier = (binary_expression "(Sized_relobj_file<32,_false> *)&_GLOBAL_OFFSET_TABLE_" (parenthesized_expression "(Sized_relobj_file<32,_false> *)" ( (comma_expression "Sized_relobj_file<32,_false> *" (binary_expression "Sized_relobj_file<32" identifier < number_literal) , (binary_expression "_false> *" identifier > (pointer_expression "*" * identifier))) )) & identifier)) ;) }))) (expression_statement "ppGVar27 = &pGStack_100;" (assignment_expression "ppGVar27 = &pGStack_100" identifier = (pointer_expression "&pGStack_100" & identifier)) ;) (expression_statement "local_f8 = &src_section_name.field_2;" (assignment_expression "local_f8 = &src_section_name.field_2" identifier = (pointer_expression "&src_section_name.field_2" & (field_expression "src_section_name.field_2" identifier . field_identifier))) ;) }))) (expression_statement "_Var33._M_p = src_section_name._M_dataplus._M_p;" (assignment_expression "_Var33._M_p = src_section_name._M_dataplus._M_p" (field_expression "_Var33._M_p" identifier . field_identifier) = (field_expression "src_section_name._M_dataplus._M_p" (field_expression "src_section_name._M_dataplus" identifier . field_identifier) . field_identifier)) ;) (expression_statement "pPVar14 = *local_dc;" (assignment_expression "pPVar14 = *local_dc" identifier = (pointer_expression "*local_dc" * identifier)) ;) (if_statement "if (pPVar14->options_ == (General_options *)0x0) {\n    *(Parameters **)((int)ppGVar27 + -4) = pPVar14;\n    *(undefined ***)((int)ppGVar27 + -8) = local_b8 + -0x61176;\n    *(undefined4 *)((int)ppGVar27 + -0xc) = 0x5c;\n    *(int *)((int)ppGVar27 + -0x10) = (int)local_b8 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n    *(undefined4 *)((int)ppGVar27 + -0x14) = 0xd3001;\n    gold::do_gold_unreachable\n              (*(char **)((int)ppGVar27 + -0x10),*(int *)((int)ppGVar27 + -0xc),\n               *(char **)((int)ppGVar27 + -8));\n  }" if (parenthesized_expression "(pPVar14->options_ == (General_options *)0x0)" ( (binary_expression "pPVar14->options_ == (General_options *)0x0" (field_expression "pPVar14->options_" identifier -> field_identifier) == (cast_expression "(General_options *)0x0" ( (type_descriptor "General_options *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    *(Parameters **)((int)ppGVar27 + -4) = pPVar14;\n    *(undefined ***)((int)ppGVar27 + -8) = local_b8 + -0x61176;\n    *(undefined4 *)((int)ppGVar27 + -0xc) = 0x5c;\n    *(int *)((int)ppGVar27 + -0x10) = (int)local_b8 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n    *(undefined4 *)((int)ppGVar27 + -0x14) = 0xd3001;\n    gold::do_gold_unreachable\n              (*(char **)((int)ppGVar27 + -0x10),*(int *)((int)ppGVar27 + -0xc),\n               *(char **)((int)ppGVar27 + -8));\n  }" { (expression_statement "*(Parameters **)((int)ppGVar27 + -4) = pPVar14;" (assignment_expression "*(Parameters **)((int)ppGVar27 + -4) = pPVar14" (pointer_expression "*(Parameters **)((int)ppGVar27 + -4)" * (cast_expression "(Parameters **)((int)ppGVar27 + -4)" ( (type_descriptor "Parameters **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)ppGVar27 + -4)" ( (binary_expression "(int)ppGVar27 + -4" (cast_expression "(int)ppGVar27" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined ***)((int)ppGVar27 + -8) = local_b8 + -0x61176;" (assignment_expression "*(undefined ***)((int)ppGVar27 + -8) = local_b8 + -0x61176" (pointer_expression "*(undefined ***)((int)ppGVar27 + -8)" * (cast_expression "(undefined ***)((int)ppGVar27 + -8)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "((int)ppGVar27 + -8)" ( (binary_expression "(int)ppGVar27 + -8" (cast_expression "(int)ppGVar27" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "local_b8 + -0x61176" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)((int)ppGVar27 + -0xc) = 0x5c;" (assignment_expression "*(undefined4 *)((int)ppGVar27 + -0xc) = 0x5c" (pointer_expression "*(undefined4 *)((int)ppGVar27 + -0xc)" * (cast_expression "(undefined4 *)((int)ppGVar27 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppGVar27 + -0xc)" ( (binary_expression "(int)ppGVar27 + -0xc" (cast_expression "(int)ppGVar27" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)((int)ppGVar27 + -0x10) = (int)local_b8 + -0x1a1d93;" (assignment_expression "*(int *)((int)ppGVar27 + -0x10) = (int)local_b8 + -0x1a1d93" (pointer_expression "*(int *)((int)ppGVar27 + -0x10)" * (cast_expression "(int *)((int)ppGVar27 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppGVar27 + -0x10)" ( (binary_expression "(int)ppGVar27 + -0x10" (cast_expression "(int)ppGVar27" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "(int)local_b8 + -0x1a1d93" (cast_expression "(int)local_b8" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) comment (expression_statement "*(undefined4 *)((int)ppGVar27 + -0x14) = 0xd3001;" (assignment_expression "*(undefined4 *)((int)ppGVar27 + -0x14) = 0xd3001" (pointer_expression "*(undefined4 *)((int)ppGVar27 + -0x14)" * (cast_expression "(undefined4 *)((int)ppGVar27 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppGVar27 + -0x14)" ( (binary_expression "(int)ppGVar27 + -0x14" (cast_expression "(int)ppGVar27" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (labeled_statement "gold::do_gold_unreachable\n              (*(char **)((int)ppGVar27 + -0x10),*(int *)((int)ppGVar27 + -0xc),\n               *(char **)((int)ppGVar27 + -8));" statement_identifier : (ERROR ":" :) (expression_statement "do_gold_unreachable\n              (*(char **)((int)ppGVar27 + -0x10),*(int *)((int)ppGVar27 + -0xc),\n               *(char **)((int)ppGVar27 + -8));" (call_expression "do_gold_unreachable\n              (*(char **)((int)ppGVar27 + -0x10),*(int *)((int)ppGVar27 + -0xc),\n               *(char **)((int)ppGVar27 + -8))" identifier (argument_list "(*(char **)((int)ppGVar27 + -0x10),*(int *)((int)ppGVar27 + -0xc),\n               *(char **)((int)ppGVar27 + -8))" ( (pointer_expression "*(char **)((int)ppGVar27 + -0x10)" * (cast_expression "(char **)((int)ppGVar27 + -0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)ppGVar27 + -0x10)" ( (binary_expression "(int)ppGVar27 + -0x10" (cast_expression "(int)ppGVar27" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (pointer_expression "*(int *)((int)ppGVar27 + -0xc)" * (cast_expression "(int *)((int)ppGVar27 + -0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppGVar27 + -0xc)" ( (binary_expression "(int)ppGVar27 + -0xc" (cast_expression "(int)ppGVar27" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (pointer_expression "*(char **)((int)ppGVar27 + -8)" * (cast_expression "(char **)((int)ppGVar27 + -8)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)ppGVar27 + -8)" ( (binary_expression "(int)ppGVar27 + -8" (cast_expression "(int)ppGVar27" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ))) ;)) })) (if_statement "if (pPVar14->options_->icf_status_ == ICF_NONE) {\nLAB_000d22e5:\n    local_d1 = '\0';\n    local_ec = (Reloc_addend_size_info *)0x0;\n    local_d0 = (Offset_info *)0x0;\n    local_e8 = (Addend_info *)0x0;\n    local_cc = (Symbol_info *)0x0;\n    local_c8 = (mapped_type *)0x0;\n  }\n  else {\n    local_b4 = (Relobj *)&local_2c;\n    src_id.first = (Relobj *)&local_2c;\n    pcVar18 = (pointer)0xffffffff;\n    if (src_section_name._M_dataplus._M_p != (pointer)0x0) {\n      *(pointer *)((int)ppGVar27 + -0x10) = src_section_name._M_dataplus._M_p;\n      *(undefined4 *)((int)ppGVar27 + -0x14) = 0xd2df7;\n      sVar15 = strlen(*(char **)((int)ppGVar27 + -0x10));\n      pcVar18 = _Var33._M_p + sVar15;\n    }\n    *(undefined4 *)((int)ppGVar27 + -4) = 0;\n    *(pointer *)((int)ppGVar27 + -8) = pcVar18;\n    local_b0 = (Icf *)&src_id;\n    *(pointer *)((int)ppGVar27 + -0xc) = _Var33._M_p;\n    *(Icf **)((int)ppGVar27 + -0x10) = local_b0;\n                    /* try { // try from 000d2e0a to 000d2e83 has its CatchHandler @ 000d302c */\n    *(undefined4 *)((int)ppGVar27 + -0x14) = 0xd2e0f;\n    std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n    _M_construct<char_const*>();\n    iVar19 = 5;\n    bVar34 = (undefined1 *)0xffffffef < (undefined1 *)((int)ppGVar27 + -0x10);\n    bVar36 = ppGVar27 == (General_options **)0x0;\n    ppuVar28 = local_b8 + -0x67293;\n    pRVar24 = src_id.first;\n    do {\n      if (iVar19 == 0) break;\n      iVar19 = iVar19 + -1;\n      bVar23 = *(byte *)&(pRVar24->super_Object)._vptr_Object;\n      bVar34 = *(byte *)ppuVar28 < bVar23;\n      bVar36 = *(byte *)ppuVar28 == bVar23;\n      ppuVar28 = (undefined **)((int)ppuVar28 + (uint)bVar37 * -2 + 1);\n      pRVar24 = (Relobj *)((int)pRVar24 + (uint)bVar37 * -2 + 1);\n    } while (bVar36);\n    bVar35 = false;\n    bVar34 = (!bVar34 && !bVar36) == bVar34;\n    if (!bVar34) {\n      iVar19 = 0xf;\n      pSVar30 = (Sized_relobj_file<32,_false> *)((int)local_b8 + -0x19ca46);\n      pRVar24 = src_id.first;\n      do {\n        unaff_ESI = pSVar30;\n        if (iVar19 == 0) break;\n        iVar19 = iVar19 + -1;\n        unaff_ESI = (Sized_relobj_file<32,_false> *)((int)pSVar30 + (uint)bVar37 * -2 + 1);\n        bVar22 = *(byte *)&(pRVar24->super_Object)._vptr_Object;\n        bVar23 = *(byte *)&(pSVar30->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                           _vptr_Object;\n        bVar35 = bVar23 < bVar22;\n        bVar34 = bVar23 == bVar22;\n        pSVar30 = unaff_ESI;\n        pRVar24 = (Relobj *)((int)pRVar24 + (uint)bVar37 * -2 + 1);\n      } while (bVar34);\n      if ((!bVar35 && !bVar34) != bVar35) {\n        if (src_id.first == local_b4) {\n          pPVar14 = *local_dc;\n        }\n        else {\n          *(Relobj **)((int)ppGVar27 + -0x10) = src_id.first;\n          *(undefined4 *)((int)ppGVar27 + -0x14) = 0xd2ee3;\n          operator_delete(*(void **)((int)ppGVar27 + -0x10));\n          pPVar14 = *local_dc;\n        }\n        goto LAB_000d22e5;\n      }\n    }\n    if (src_id.first != local_b4) {\n      *(Relobj **)((int)ppGVar27 + -0x10) = src_id.first;\n      *(undefined4 *)((int)ppGVar27 + -0x14) = 0xd3010;\n      operator_delete(*(void **)((int)ppGVar27 + -0x10));\n    }\n    *(Icf **)((int)ppGVar27 + -0xc) = local_b0;\n    src_id.first = (Relobj *)object;\n    src_id.second = data_shndx;\n    local_b0 = symtab->icf_;\n    *(Reloc_info_list **)((int)ppGVar27 + -0x10) = &symtab->icf_->reloc_info_list_;\n    *(undefined4 *)((int)ppGVar27 + -0x14) = 0xd2e84;\n    local_c8 = std::__detail::\n               _Map_base<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_gold::Icf::Reloc_info>,_std::allocator<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_gold::Icf::Reloc_info>_>,_std::__detail::_Select1st,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>,_true>\n               ::operator[](*(_Map_base<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_gold::Icf::Reloc_info>,_std::allocator<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_gold::Icf::Reloc_info>_>,_std::__detail::_Select1st,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>,_true>\n                              **)((int)ppGVar27 + -0x10),*(key_type **)((int)ppGVar27 + -0xc));\n    unaff_ESI = (Sized_relobj_file<32,_false> *)&local_c8->addend_info;\n    local_cc = &local_c8->symbol_info;\n    local_ec = &local_c8->reloc_addend_size_info;\n    local_e8 = (Addend_info *)unaff_ESI;\n    local_d0 = &local_c8->offset_info;\n    pPVar14 = *local_dc;\n    local_d1 = '\x01';\n  }" if (parenthesized_expression "(pPVar14->options_->icf_status_ == ICF_NONE)" ( (binary_expression "pPVar14->options_->icf_status_ == ICF_NONE" (field_expression "pPVar14->options_->icf_status_" (field_expression "pPVar14->options_" identifier -> field_identifier) -> field_identifier) == identifier) )) (compound_statement "{\nLAB_000d22e5:\n    local_d1 = '\0';\n    local_ec = (Reloc_addend_size_info *)0x0;\n    local_d0 = (Offset_info *)0x0;\n    local_e8 = (Addend_info *)0x0;\n    local_cc = (Symbol_info *)0x0;\n    local_c8 = (mapped_type *)0x0;\n  }" { (labeled_statement "LAB_000d22e5:\n    local_d1 = '\0';" statement_identifier : (expression_statement "local_d1 = '\0';" (assignment_expression "local_d1 = '\0'" identifier = (char_literal "'\0'" ' escape_sequence ')) ;)) (expression_statement "local_ec = (Reloc_addend_size_info *)0x0;" (assignment_expression "local_ec = (Reloc_addend_size_info *)0x0" identifier = (cast_expression "(Reloc_addend_size_info *)0x0" ( (type_descriptor "Reloc_addend_size_info *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_d0 = (Offset_info *)0x0;" (assignment_expression "local_d0 = (Offset_info *)0x0" identifier = (cast_expression "(Offset_info *)0x0" ( (type_descriptor "Offset_info *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_e8 = (Addend_info *)0x0;" (assignment_expression "local_e8 = (Addend_info *)0x0" identifier = (cast_expression "(Addend_info *)0x0" ( (type_descriptor "Addend_info *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_cc = (Symbol_info *)0x0;" (assignment_expression "local_cc = (Symbol_info *)0x0" identifier = (cast_expression "(Symbol_info *)0x0" ( (type_descriptor "Symbol_info *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_c8 = (mapped_type *)0x0;" (assignment_expression "local_c8 = (mapped_type *)0x0" identifier = (cast_expression "(mapped_type *)0x0" ( (type_descriptor "mapped_type *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }) (else_clause "else {\n    local_b4 = (Relobj *)&local_2c;\n    src_id.first = (Relobj *)&local_2c;\n    pcVar18 = (pointer)0xffffffff;\n    if (src_section_name._M_dataplus._M_p != (pointer)0x0) {\n      *(pointer *)((int)ppGVar27 + -0x10) = src_section_name._M_dataplus._M_p;\n      *(undefined4 *)((int)ppGVar27 + -0x14) = 0xd2df7;\n      sVar15 = strlen(*(char **)((int)ppGVar27 + -0x10));\n      pcVar18 = _Var33._M_p + sVar15;\n    }\n    *(undefined4 *)((int)ppGVar27 + -4) = 0;\n    *(pointer *)((int)ppGVar27 + -8) = pcVar18;\n    local_b0 = (Icf *)&src_id;\n    *(pointer *)((int)ppGVar27 + -0xc) = _Var33._M_p;\n    *(Icf **)((int)ppGVar27 + -0x10) = local_b0;\n                    /* try { // try from 000d2e0a to 000d2e83 has its CatchHandler @ 000d302c */\n    *(undefined4 *)((int)ppGVar27 + -0x14) = 0xd2e0f;\n    std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n    _M_construct<char_const*>();\n    iVar19 = 5;\n    bVar34 = (undefined1 *)0xffffffef < (undefined1 *)((int)ppGVar27 + -0x10);\n    bVar36 = ppGVar27 == (General_options **)0x0;\n    ppuVar28 = local_b8 + -0x67293;\n    pRVar24 = src_id.first;\n    do {\n      if (iVar19 == 0) break;\n      iVar19 = iVar19 + -1;\n      bVar23 = *(byte *)&(pRVar24->super_Object)._vptr_Object;\n      bVar34 = *(byte *)ppuVar28 < bVar23;\n      bVar36 = *(byte *)ppuVar28 == bVar23;\n      ppuVar28 = (undefined **)((int)ppuVar28 + (uint)bVar37 * -2 + 1);\n      pRVar24 = (Relobj *)((int)pRVar24 + (uint)bVar37 * -2 + 1);\n    } while (bVar36);\n    bVar35 = false;\n    bVar34 = (!bVar34 && !bVar36) == bVar34;\n    if (!bVar34) {\n      iVar19 = 0xf;\n      pSVar30 = (Sized_relobj_file<32,_false> *)((int)local_b8 + -0x19ca46);\n      pRVar24 = src_id.first;\n      do {\n        unaff_ESI = pSVar30;\n        if (iVar19 == 0) break;\n        iVar19 = iVar19 + -1;\n        unaff_ESI = (Sized_relobj_file<32,_false> *)((int)pSVar30 + (uint)bVar37 * -2 + 1);\n        bVar22 = *(byte *)&(pRVar24->super_Object)._vptr_Object;\n        bVar23 = *(byte *)&(pSVar30->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                           _vptr_Object;\n        bVar35 = bVar23 < bVar22;\n        bVar34 = bVar23 == bVar22;\n        pSVar30 = unaff_ESI;\n        pRVar24 = (Relobj *)((int)pRVar24 + (uint)bVar37 * -2 + 1);\n      } while (bVar34);\n      if ((!bVar35 && !bVar34) != bVar35) {\n        if (src_id.first == local_b4) {\n          pPVar14 = *local_dc;\n        }\n        else {\n          *(Relobj **)((int)ppGVar27 + -0x10) = src_id.first;\n          *(undefined4 *)((int)ppGVar27 + -0x14) = 0xd2ee3;\n          operator_delete(*(void **)((int)ppGVar27 + -0x10));\n          pPVar14 = *local_dc;\n        }\n        goto LAB_000d22e5;\n      }\n    }\n    if (src_id.first != local_b4) {\n      *(Relobj **)((int)ppGVar27 + -0x10) = src_id.first;\n      *(undefined4 *)((int)ppGVar27 + -0x14) = 0xd3010;\n      operator_delete(*(void **)((int)ppGVar27 + -0x10));\n    }\n    *(Icf **)((int)ppGVar27 + -0xc) = local_b0;\n    src_id.first = (Relobj *)object;\n    src_id.second = data_shndx;\n    local_b0 = symtab->icf_;\n    *(Reloc_info_list **)((int)ppGVar27 + -0x10) = &symtab->icf_->reloc_info_list_;\n    *(undefined4 *)((int)ppGVar27 + -0x14) = 0xd2e84;\n    local_c8 = std::__detail::\n               _Map_base<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_gold::Icf::Reloc_info>,_std::allocator<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_gold::Icf::Reloc_info>_>,_std::__detail::_Select1st,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>,_true>\n               ::operator[](*(_Map_base<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_gold::Icf::Reloc_info>,_std::allocator<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_gold::Icf::Reloc_info>_>,_std::__detail::_Select1st,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>,_true>\n                              **)((int)ppGVar27 + -0x10),*(key_type **)((int)ppGVar27 + -0xc));\n    unaff_ESI = (Sized_relobj_file<32,_false> *)&local_c8->addend_info;\n    local_cc = &local_c8->symbol_info;\n    local_ec = &local_c8->reloc_addend_size_info;\n    local_e8 = (Addend_info *)unaff_ESI;\n    local_d0 = &local_c8->offset_info;\n    pPVar14 = *local_dc;\n    local_d1 = '\x01';\n  }" else (compound_statement "{\n    local_b4 = (Relobj *)&local_2c;\n    src_id.first = (Relobj *)&local_2c;\n    pcVar18 = (pointer)0xffffffff;\n    if (src_section_name._M_dataplus._M_p != (pointer)0x0) {\n      *(pointer *)((int)ppGVar27 + -0x10) = src_section_name._M_dataplus._M_p;\n      *(undefined4 *)((int)ppGVar27 + -0x14) = 0xd2df7;\n      sVar15 = strlen(*(char **)((int)ppGVar27 + -0x10));\n      pcVar18 = _Var33._M_p + sVar15;\n    }\n    *(undefined4 *)((int)ppGVar27 + -4) = 0;\n    *(pointer *)((int)ppGVar27 + -8) = pcVar18;\n    local_b0 = (Icf *)&src_id;\n    *(pointer *)((int)ppGVar27 + -0xc) = _Var33._M_p;\n    *(Icf **)((int)ppGVar27 + -0x10) = local_b0;\n                    /* try { // try from 000d2e0a to 000d2e83 has its CatchHandler @ 000d302c */\n    *(undefined4 *)((int)ppGVar27 + -0x14) = 0xd2e0f;\n    std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n    _M_construct<char_const*>();\n    iVar19 = 5;\n    bVar34 = (undefined1 *)0xffffffef < (undefined1 *)((int)ppGVar27 + -0x10);\n    bVar36 = ppGVar27 == (General_options **)0x0;\n    ppuVar28 = local_b8 + -0x67293;\n    pRVar24 = src_id.first;\n    do {\n      if (iVar19 == 0) break;\n      iVar19 = iVar19 + -1;\n      bVar23 = *(byte *)&(pRVar24->super_Object)._vptr_Object;\n      bVar34 = *(byte *)ppuVar28 < bVar23;\n      bVar36 = *(byte *)ppuVar28 == bVar23;\n      ppuVar28 = (undefined **)((int)ppuVar28 + (uint)bVar37 * -2 + 1);\n      pRVar24 = (Relobj *)((int)pRVar24 + (uint)bVar37 * -2 + 1);\n    } while (bVar36);\n    bVar35 = false;\n    bVar34 = (!bVar34 && !bVar36) == bVar34;\n    if (!bVar34) {\n      iVar19 = 0xf;\n      pSVar30 = (Sized_relobj_file<32,_false> *)((int)local_b8 + -0x19ca46);\n      pRVar24 = src_id.first;\n      do {\n        unaff_ESI = pSVar30;\n        if (iVar19 == 0) break;\n        iVar19 = iVar19 + -1;\n        unaff_ESI = (Sized_relobj_file<32,_false> *)((int)pSVar30 + (uint)bVar37 * -2 + 1);\n        bVar22 = *(byte *)&(pRVar24->super_Object)._vptr_Object;\n        bVar23 = *(byte *)&(pSVar30->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                           _vptr_Object;\n        bVar35 = bVar23 < bVar22;\n        bVar34 = bVar23 == bVar22;\n        pSVar30 = unaff_ESI;\n        pRVar24 = (Relobj *)((int)pRVar24 + (uint)bVar37 * -2 + 1);\n      } while (bVar34);\n      if ((!bVar35 && !bVar34) != bVar35) {\n        if (src_id.first == local_b4) {\n          pPVar14 = *local_dc;\n        }\n        else {\n          *(Relobj **)((int)ppGVar27 + -0x10) = src_id.first;\n          *(undefined4 *)((int)ppGVar27 + -0x14) = 0xd2ee3;\n          operator_delete(*(void **)((int)ppGVar27 + -0x10));\n          pPVar14 = *local_dc;\n        }\n        goto LAB_000d22e5;\n      }\n    }\n    if (src_id.first != local_b4) {\n      *(Relobj **)((int)ppGVar27 + -0x10) = src_id.first;\n      *(undefined4 *)((int)ppGVar27 + -0x14) = 0xd3010;\n      operator_delete(*(void **)((int)ppGVar27 + -0x10));\n    }\n    *(Icf **)((int)ppGVar27 + -0xc) = local_b0;\n    src_id.first = (Relobj *)object;\n    src_id.second = data_shndx;\n    local_b0 = symtab->icf_;\n    *(Reloc_info_list **)((int)ppGVar27 + -0x10) = &symtab->icf_->reloc_info_list_;\n    *(undefined4 *)((int)ppGVar27 + -0x14) = 0xd2e84;\n    local_c8 = std::__detail::\n               _Map_base<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_gold::Icf::Reloc_info>,_std::allocator<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_gold::Icf::Reloc_info>_>,_std::__detail::_Select1st,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>,_true>\n               ::operator[](*(_Map_base<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_gold::Icf::Reloc_info>,_std::allocator<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_gold::Icf::Reloc_info>_>,_std::__detail::_Select1st,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>,_true>\n                              **)((int)ppGVar27 + -0x10),*(key_type **)((int)ppGVar27 + -0xc));\n    unaff_ESI = (Sized_relobj_file<32,_false> *)&local_c8->addend_info;\n    local_cc = &local_c8->symbol_info;\n    local_ec = &local_c8->reloc_addend_size_info;\n    local_e8 = (Addend_info *)unaff_ESI;\n    local_d0 = &local_c8->offset_info;\n    pPVar14 = *local_dc;\n    local_d1 = '\x01';\n  }" { (expression_statement "local_b4 = (Relobj *)&local_2c;" (assignment_expression "local_b4 = (Relobj *)&local_2c" identifier = (cast_expression "(Relobj *)&local_2c" ( (type_descriptor "Relobj *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&local_2c" & identifier))) ;) (expression_statement "src_id.first = (Relobj *)&local_2c;" (assignment_expression "src_id.first = (Relobj *)&local_2c" (field_expression "src_id.first" identifier . field_identifier) = (cast_expression "(Relobj *)&local_2c" ( (type_descriptor "Relobj *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&local_2c" & identifier))) ;) (expression_statement "pcVar18 = (pointer)0xffffffff;" (assignment_expression "pcVar18 = (pointer)0xffffffff" identifier = (cast_expression "(pointer)0xffffffff" ( (type_descriptor "pointer" type_identifier) ) number_literal)) ;) (if_statement "if (src_section_name._M_dataplus._M_p != (pointer)0x0) {\n      *(pointer *)((int)ppGVar27 + -0x10) = src_section_name._M_dataplus._M_p;\n      *(undefined4 *)((int)ppGVar27 + -0x14) = 0xd2df7;\n      sVar15 = strlen(*(char **)((int)ppGVar27 + -0x10));\n      pcVar18 = _Var33._M_p + sVar15;\n    }" if (parenthesized_expression "(src_section_name._M_dataplus._M_p != (pointer)0x0)" ( (binary_expression "src_section_name._M_dataplus._M_p != (pointer)0x0" (field_expression "src_section_name._M_dataplus._M_p" (field_expression "src_section_name._M_dataplus" identifier . field_identifier) . field_identifier) != (cast_expression "(pointer)0x0" ( (type_descriptor "pointer" type_identifier) ) number_literal)) )) (compound_statement "{\n      *(pointer *)((int)ppGVar27 + -0x10) = src_section_name._M_dataplus._M_p;\n      *(undefined4 *)((int)ppGVar27 + -0x14) = 0xd2df7;\n      sVar15 = strlen(*(char **)((int)ppGVar27 + -0x10));\n      pcVar18 = _Var33._M_p + sVar15;\n    }" { (expression_statement "*(pointer *)((int)ppGVar27 + -0x10) = src_section_name._M_dataplus._M_p;" (assignment_expression "*(pointer *)((int)ppGVar27 + -0x10) = src_section_name._M_dataplus._M_p" (pointer_expression "*(pointer *)((int)ppGVar27 + -0x10)" * (cast_expression "(pointer *)((int)ppGVar27 + -0x10)" ( (type_descriptor "pointer *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppGVar27 + -0x10)" ( (binary_expression "(int)ppGVar27 + -0x10" (cast_expression "(int)ppGVar27" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (field_expression "src_section_name._M_dataplus._M_p" (field_expression "src_section_name._M_dataplus" identifier . field_identifier) . field_identifier)) ;) (expression_statement "*(undefined4 *)((int)ppGVar27 + -0x14) = 0xd2df7;" (assignment_expression "*(undefined4 *)((int)ppGVar27 + -0x14) = 0xd2df7" (pointer_expression "*(undefined4 *)((int)ppGVar27 + -0x14)" * (cast_expression "(undefined4 *)((int)ppGVar27 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppGVar27 + -0x14)" ( (binary_expression "(int)ppGVar27 + -0x14" (cast_expression "(int)ppGVar27" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "sVar15 = strlen(*(char **)((int)ppGVar27 + -0x10));" (assignment_expression "sVar15 = strlen(*(char **)((int)ppGVar27 + -0x10))" identifier = (call_expression "strlen(*(char **)((int)ppGVar27 + -0x10))" identifier (argument_list "(*(char **)((int)ppGVar27 + -0x10))" ( (pointer_expression "*(char **)((int)ppGVar27 + -0x10)" * (cast_expression "(char **)((int)ppGVar27 + -0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)ppGVar27 + -0x10)" ( (binary_expression "(int)ppGVar27 + -0x10" (cast_expression "(int)ppGVar27" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) )))) ;) (expression_statement "pcVar18 = _Var33._M_p + sVar15;" (assignment_expression "pcVar18 = _Var33._M_p + sVar15" identifier = (binary_expression "_Var33._M_p + sVar15" (field_expression "_Var33._M_p" identifier . field_identifier) + identifier)) ;) })) (expression_statement "*(undefined4 *)((int)ppGVar27 + -4) = 0;" (assignment_expression "*(undefined4 *)((int)ppGVar27 + -4) = 0" (pointer_expression "*(undefined4 *)((int)ppGVar27 + -4)" * (cast_expression "(undefined4 *)((int)ppGVar27 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppGVar27 + -4)" ( (binary_expression "(int)ppGVar27 + -4" (cast_expression "(int)ppGVar27" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(pointer *)((int)ppGVar27 + -8) = pcVar18;" (assignment_expression "*(pointer *)((int)ppGVar27 + -8) = pcVar18" (pointer_expression "*(pointer *)((int)ppGVar27 + -8)" * (cast_expression "(pointer *)((int)ppGVar27 + -8)" ( (type_descriptor "pointer *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppGVar27 + -8)" ( (binary_expression "(int)ppGVar27 + -8" (cast_expression "(int)ppGVar27" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "local_b0 = (Icf *)&src_id;" (assignment_expression "local_b0 = (Icf *)&src_id" identifier = (cast_expression "(Icf *)&src_id" ( (type_descriptor "Icf *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&src_id" & identifier))) ;) (expression_statement "*(pointer *)((int)ppGVar27 + -0xc) = _Var33._M_p;" (assignment_expression "*(pointer *)((int)ppGVar27 + -0xc) = _Var33._M_p" (pointer_expression "*(pointer *)((int)ppGVar27 + -0xc)" * (cast_expression "(pointer *)((int)ppGVar27 + -0xc)" ( (type_descriptor "pointer *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppGVar27 + -0xc)" ( (binary_expression "(int)ppGVar27 + -0xc" (cast_expression "(int)ppGVar27" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (field_expression "_Var33._M_p" identifier . field_identifier)) ;) (expression_statement "*(Icf **)((int)ppGVar27 + -0x10) = local_b0;" (assignment_expression "*(Icf **)((int)ppGVar27 + -0x10) = local_b0" (pointer_expression "*(Icf **)((int)ppGVar27 + -0x10)" * (cast_expression "(Icf **)((int)ppGVar27 + -0x10)" ( (type_descriptor "Icf **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)ppGVar27 + -0x10)" ( (binary_expression "(int)ppGVar27 + -0x10" (cast_expression "(int)ppGVar27" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) comment (expression_statement "*(undefined4 *)((int)ppGVar27 + -0x14) = 0xd2e0f;" (assignment_expression "*(undefined4 *)((int)ppGVar27 + -0x14) = 0xd2e0f" (pointer_expression "*(undefined4 *)((int)ppGVar27 + -0x14)" * (cast_expression "(undefined4 *)((int)ppGVar27 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppGVar27 + -0x14)" ( (binary_expression "(int)ppGVar27 + -0x14" (cast_expression "(int)ppGVar27" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (labeled_statement "std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n    _M_construct<char_const*>();" statement_identifier (ERROR "::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>:" : : (comma_expression "__cxx11::basic_string<char,_std::char_traits<char>,_std" identifier (ERROR "::basic_string<char,_std::char_traits<char>" : : (comma_expression "basic_string<char,_std" (binary_expression "basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char" identifier < identifier) >) , identifier) : : (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > :) : (expression_statement "_M_construct<char_const*>();" (binary_expression "_M_construct<char_const" identifier < identifier) (ERROR "*>()" * > ( )) ;)) (expression_statement "iVar19 = 5;" (assignment_expression "iVar19 = 5" identifier = number_literal) ;) (expression_statement "bVar34 = (undefined1 *)0xffffffef < (undefined1 *)((int)ppGVar27 + -0x10);" (assignment_expression "bVar34 = (undefined1 *)0xffffffef < (undefined1 *)((int)ppGVar27 + -0x10)" identifier = (binary_expression "(undefined1 *)0xffffffef < (undefined1 *)((int)ppGVar27 + -0x10)" (cast_expression "(undefined1 *)0xffffffef" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) < (cast_expression "(undefined1 *)((int)ppGVar27 + -0x10)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppGVar27 + -0x10)" ( (binary_expression "(int)ppGVar27 + -0x10" (cast_expression "(int)ppGVar27" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "bVar36 = ppGVar27 == (General_options **)0x0;" (assignment_expression "bVar36 = ppGVar27 == (General_options **)0x0" identifier = (binary_expression "ppGVar27 == (General_options **)0x0" identifier == (cast_expression "(General_options **)0x0" ( (type_descriptor "General_options **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal))) ;) (expression_statement "ppuVar28 = local_b8 + -0x67293;" (assignment_expression "ppuVar28 = local_b8 + -0x67293" identifier = (binary_expression "local_b8 + -0x67293" identifier + number_literal)) ;) (expression_statement "pRVar24 = src_id.first;" (assignment_expression "pRVar24 = src_id.first" identifier = (field_expression "src_id.first" identifier . field_identifier)) ;) (do_statement "do {\n      if (iVar19 == 0) break;\n      iVar19 = iVar19 + -1;\n      bVar23 = *(byte *)&(pRVar24->super_Object)._vptr_Object;\n      bVar34 = *(byte *)ppuVar28 < bVar23;\n      bVar36 = *(byte *)ppuVar28 == bVar23;\n      ppuVar28 = (undefined **)((int)ppuVar28 + (uint)bVar37 * -2 + 1);\n      pRVar24 = (Relobj *)((int)pRVar24 + (uint)bVar37 * -2 + 1);\n    } while (bVar36);" do (compound_statement "{\n      if (iVar19 == 0) break;\n      iVar19 = iVar19 + -1;\n      bVar23 = *(byte *)&(pRVar24->super_Object)._vptr_Object;\n      bVar34 = *(byte *)ppuVar28 < bVar23;\n      bVar36 = *(byte *)ppuVar28 == bVar23;\n      ppuVar28 = (undefined **)((int)ppuVar28 + (uint)bVar37 * -2 + 1);\n      pRVar24 = (Relobj *)((int)pRVar24 + (uint)bVar37 * -2 + 1);\n    }" { (if_statement "if (iVar19 == 0) break;" if (parenthesized_expression "(iVar19 == 0)" ( (binary_expression "iVar19 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar19 = iVar19 + -1;" (assignment_expression "iVar19 = iVar19 + -1" identifier = (binary_expression "iVar19 + -1" identifier + number_literal)) ;) (expression_statement "bVar23 = *(byte *)&(pRVar24->super_Object)._vptr_Object;" (assignment_expression "bVar23 = *(byte *)&(pRVar24->super_Object)._vptr_Object" identifier = (pointer_expression "*(byte *)&(pRVar24->super_Object)._vptr_Object" * (cast_expression "(byte *)&(pRVar24->super_Object)._vptr_Object" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&(pRVar24->super_Object)._vptr_Object" & (field_expression "(pRVar24->super_Object)._vptr_Object" (parenthesized_expression "(pRVar24->super_Object)" ( (field_expression "pRVar24->super_Object" identifier -> field_identifier) )) . field_identifier))))) ;) (expression_statement "bVar34 = *(byte *)ppuVar28 < bVar23;" (assignment_expression "bVar34 = *(byte *)ppuVar28 < bVar23" identifier = (binary_expression "*(byte *)ppuVar28 < bVar23" (pointer_expression "*(byte *)ppuVar28" * (cast_expression "(byte *)ppuVar28" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) < identifier)) ;) (expression_statement "bVar36 = *(byte *)ppuVar28 == bVar23;" (assignment_expression "bVar36 = *(byte *)ppuVar28 == bVar23" identifier = (binary_expression "*(byte *)ppuVar28 == bVar23" (pointer_expression "*(byte *)ppuVar28" * (cast_expression "(byte *)ppuVar28" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) == identifier)) ;) (expression_statement "ppuVar28 = (undefined **)((int)ppuVar28 + (uint)bVar37 * -2 + 1);" (assignment_expression "ppuVar28 = (undefined **)((int)ppuVar28 + (uint)bVar37 * -2 + 1)" identifier = (cast_expression "(undefined **)((int)ppuVar28 + (uint)bVar37 * -2 + 1)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)ppuVar28 + (uint)bVar37 * -2 + 1)" ( (binary_expression "(int)ppuVar28 + (uint)bVar37 * -2 + 1" (binary_expression "(int)ppuVar28 + (uint)bVar37 * -2" (cast_expression "(int)ppuVar28" ( (type_descriptor "int" primitive_type) ) identifier) + (binary_expression "(uint)bVar37 * -2" (cast_expression "(uint)bVar37" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal) )))) ;) (expression_statement "pRVar24 = (Relobj *)((int)pRVar24 + (uint)bVar37 * -2 + 1);" (assignment_expression "pRVar24 = (Relobj *)((int)pRVar24 + (uint)bVar37 * -2 + 1)" identifier = (cast_expression "(Relobj *)((int)pRVar24 + (uint)bVar37 * -2 + 1)" ( (type_descriptor "Relobj *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pRVar24 + (uint)bVar37 * -2 + 1)" ( (binary_expression "(int)pRVar24 + (uint)bVar37 * -2 + 1" (binary_expression "(int)pRVar24 + (uint)bVar37 * -2" (cast_expression "(int)pRVar24" ( (type_descriptor "int" primitive_type) ) identifier) + (binary_expression "(uint)bVar37 * -2" (cast_expression "(uint)bVar37" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal) )))) ;) }) while (parenthesized_expression "(bVar36)" ( identifier )) ;) (expression_statement "bVar35 = false;" (assignment_expression "bVar35 = false" identifier = false) ;) (expression_statement "bVar34 = (!bVar34 && !bVar36) == bVar34;" (assignment_expression "bVar34 = (!bVar34 && !bVar36) == bVar34" identifier = (binary_expression "(!bVar34 && !bVar36) == bVar34" (parenthesized_expression "(!bVar34 && !bVar36)" ( (binary_expression "!bVar34 && !bVar36" (unary_expression "!bVar34" ! identifier) && (unary_expression "!bVar36" ! identifier)) )) == identifier)) ;) (if_statement "if (!bVar34) {\n      iVar19 = 0xf;\n      pSVar30 = (Sized_relobj_file<32,_false> *)((int)local_b8 + -0x19ca46);\n      pRVar24 = src_id.first;\n      do {\n        unaff_ESI = pSVar30;\n        if (iVar19 == 0) break;\n        iVar19 = iVar19 + -1;\n        unaff_ESI = (Sized_relobj_file<32,_false> *)((int)pSVar30 + (uint)bVar37 * -2 + 1);\n        bVar22 = *(byte *)&(pRVar24->super_Object)._vptr_Object;\n        bVar23 = *(byte *)&(pSVar30->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                           _vptr_Object;\n        bVar35 = bVar23 < bVar22;\n        bVar34 = bVar23 == bVar22;\n        pSVar30 = unaff_ESI;\n        pRVar24 = (Relobj *)((int)pRVar24 + (uint)bVar37 * -2 + 1);\n      } while (bVar34);\n      if ((!bVar35 && !bVar34) != bVar35) {\n        if (src_id.first == local_b4) {\n          pPVar14 = *local_dc;\n        }\n        else {\n          *(Relobj **)((int)ppGVar27 + -0x10) = src_id.first;\n          *(undefined4 *)((int)ppGVar27 + -0x14) = 0xd2ee3;\n          operator_delete(*(void **)((int)ppGVar27 + -0x10));\n          pPVar14 = *local_dc;\n        }\n        goto LAB_000d22e5;\n      }\n    }" if (parenthesized_expression "(!bVar34)" ( (unary_expression "!bVar34" ! identifier) )) (compound_statement "{\n      iVar19 = 0xf;\n      pSVar30 = (Sized_relobj_file<32,_false> *)((int)local_b8 + -0x19ca46);\n      pRVar24 = src_id.first;\n      do {\n        unaff_ESI = pSVar30;\n        if (iVar19 == 0) break;\n        iVar19 = iVar19 + -1;\n        unaff_ESI = (Sized_relobj_file<32,_false> *)((int)pSVar30 + (uint)bVar37 * -2 + 1);\n        bVar22 = *(byte *)&(pRVar24->super_Object)._vptr_Object;\n        bVar23 = *(byte *)&(pSVar30->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                           _vptr_Object;\n        bVar35 = bVar23 < bVar22;\n        bVar34 = bVar23 == bVar22;\n        pSVar30 = unaff_ESI;\n        pRVar24 = (Relobj *)((int)pRVar24 + (uint)bVar37 * -2 + 1);\n      } while (bVar34);\n      if ((!bVar35 && !bVar34) != bVar35) {\n        if (src_id.first == local_b4) {\n          pPVar14 = *local_dc;\n        }\n        else {\n          *(Relobj **)((int)ppGVar27 + -0x10) = src_id.first;\n          *(undefined4 *)((int)ppGVar27 + -0x14) = 0xd2ee3;\n          operator_delete(*(void **)((int)ppGVar27 + -0x10));\n          pPVar14 = *local_dc;\n        }\n        goto LAB_000d22e5;\n      }\n    }" { (expression_statement "iVar19 = 0xf;" (assignment_expression "iVar19 = 0xf" identifier = number_literal) ;) (expression_statement "pSVar30 = (Sized_relobj_file<32,_false> *)((int)local_b8 + -0x19ca46);" (assignment_expression "pSVar30 = (Sized_relobj_file<32,_false> *)((int)local_b8 + -0x19ca46)" identifier = (call_expression "(Sized_relobj_file<32,_false> *)((int)local_b8 + -0x19ca46)" (parenthesized_expression "(Sized_relobj_file<32,_false> *)" ( (comma_expression "Sized_relobj_file<32,_false> *" (binary_expression "Sized_relobj_file<32" identifier < number_literal) , (binary_expression "_false> *" identifier > (pointer_expression "*" * identifier))) )) (argument_list "((int)local_b8 + -0x19ca46)" ( (binary_expression "(int)local_b8 + -0x19ca46" (cast_expression "(int)local_b8" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "pRVar24 = src_id.first;" (assignment_expression "pRVar24 = src_id.first" identifier = (field_expression "src_id.first" identifier . field_identifier)) ;) (do_statement "do {\n        unaff_ESI = pSVar30;\n        if (iVar19 == 0) break;\n        iVar19 = iVar19 + -1;\n        unaff_ESI = (Sized_relobj_file<32,_false> *)((int)pSVar30 + (uint)bVar37 * -2 + 1);\n        bVar22 = *(byte *)&(pRVar24->super_Object)._vptr_Object;\n        bVar23 = *(byte *)&(pSVar30->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                           _vptr_Object;\n        bVar35 = bVar23 < bVar22;\n        bVar34 = bVar23 == bVar22;\n        pSVar30 = unaff_ESI;\n        pRVar24 = (Relobj *)((int)pRVar24 + (uint)bVar37 * -2 + 1);\n      } while (bVar34);" do (compound_statement "{\n        unaff_ESI = pSVar30;\n        if (iVar19 == 0) break;\n        iVar19 = iVar19 + -1;\n        unaff_ESI = (Sized_relobj_file<32,_false> *)((int)pSVar30 + (uint)bVar37 * -2 + 1);\n        bVar22 = *(byte *)&(pRVar24->super_Object)._vptr_Object;\n        bVar23 = *(byte *)&(pSVar30->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                           _vptr_Object;\n        bVar35 = bVar23 < bVar22;\n        bVar34 = bVar23 == bVar22;\n        pSVar30 = unaff_ESI;\n        pRVar24 = (Relobj *)((int)pRVar24 + (uint)bVar37 * -2 + 1);\n      }" { (expression_statement "unaff_ESI = pSVar30;" (assignment_expression "unaff_ESI = pSVar30" identifier = identifier) ;) (if_statement "if (iVar19 == 0) break;" if (parenthesized_expression "(iVar19 == 0)" ( (binary_expression "iVar19 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar19 = iVar19 + -1;" (assignment_expression "iVar19 = iVar19 + -1" identifier = (binary_expression "iVar19 + -1" identifier + number_literal)) ;) (expression_statement "unaff_ESI = (Sized_relobj_file<32,_false> *)((int)pSVar30 + (uint)bVar37 * -2 + 1);" (assignment_expression "unaff_ESI = (Sized_relobj_file<32,_false> *)((int)pSVar30 + (uint)bVar37 * -2 + 1)" identifier = (call_expression "(Sized_relobj_file<32,_false> *)((int)pSVar30 + (uint)bVar37 * -2 + 1)" (parenthesized_expression "(Sized_relobj_file<32,_false> *)" ( (comma_expression "Sized_relobj_file<32,_false> *" (binary_expression "Sized_relobj_file<32" identifier < number_literal) , (binary_expression "_false> *" identifier > (pointer_expression "*" * identifier))) )) (argument_list "((int)pSVar30 + (uint)bVar37 * -2 + 1)" ( (binary_expression "(int)pSVar30 + (uint)bVar37 * -2 + 1" (binary_expression "(int)pSVar30 + (uint)bVar37 * -2" (cast_expression "(int)pSVar30" ( (type_descriptor "int" primitive_type) ) identifier) + (binary_expression "(uint)bVar37 * -2" (cast_expression "(uint)bVar37" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal) )))) ;) (expression_statement "bVar22 = *(byte *)&(pRVar24->super_Object)._vptr_Object;" (assignment_expression "bVar22 = *(byte *)&(pRVar24->super_Object)._vptr_Object" identifier = (pointer_expression "*(byte *)&(pRVar24->super_Object)._vptr_Object" * (cast_expression "(byte *)&(pRVar24->super_Object)._vptr_Object" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&(pRVar24->super_Object)._vptr_Object" & (field_expression "(pRVar24->super_Object)._vptr_Object" (parenthesized_expression "(pRVar24->super_Object)" ( (field_expression "pRVar24->super_Object" identifier -> field_identifier) )) . field_identifier))))) ;) (expression_statement "bVar23 = *(byte *)&(pSVar30->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                           _vptr_Object;" (assignment_expression "bVar23 = *(byte *)&(pSVar30->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                           _vptr_Object" identifier = (pointer_expression "*(byte *)&(pSVar30->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                           _vptr_Object" * (cast_expression "(byte *)&(pSVar30->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                           _vptr_Object" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&(pSVar30->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                           _vptr_Object" & (field_expression "(pSVar30->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                           _vptr_Object" (field_expression "(pSVar30->super_Sized_relobj<32,_false>).super_Relobj.super_Object" (field_expression "(pSVar30->super_Sized_relobj<32,_false>).super_Relobj" (parenthesized_expression "(pSVar30->super_Sized_relobj<32,_false>)" ( (comma_expression "pSVar30->super_Sized_relobj<32,_false" (binary_expression "pSVar30->super_Sized_relobj<32" (field_expression "pSVar30->super_Sized_relobj" identifier -> field_identifier) < number_literal) , identifier) (ERROR ">" >) )) . field_identifier) . field_identifier) . field_identifier))))) ;) (expression_statement "bVar35 = bVar23 < bVar22;" (assignment_expression "bVar35 = bVar23 < bVar22" identifier = (binary_expression "bVar23 < bVar22" identifier < identifier)) ;) (expression_statement "bVar34 = bVar23 == bVar22;" (assignment_expression "bVar34 = bVar23 == bVar22" identifier = (binary_expression "bVar23 == bVar22" identifier == identifier)) ;) (expression_statement "pSVar30 = unaff_ESI;" (assignment_expression "pSVar30 = unaff_ESI" identifier = identifier) ;) (expression_statement "pRVar24 = (Relobj *)((int)pRVar24 + (uint)bVar37 * -2 + 1);" (assignment_expression "pRVar24 = (Relobj *)((int)pRVar24 + (uint)bVar37 * -2 + 1)" identifier = (cast_expression "(Relobj *)((int)pRVar24 + (uint)bVar37 * -2 + 1)" ( (type_descriptor "Relobj *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pRVar24 + (uint)bVar37 * -2 + 1)" ( (binary_expression "(int)pRVar24 + (uint)bVar37 * -2 + 1" (binary_expression "(int)pRVar24 + (uint)bVar37 * -2" (cast_expression "(int)pRVar24" ( (type_descriptor "int" primitive_type) ) identifier) + (binary_expression "(uint)bVar37 * -2" (cast_expression "(uint)bVar37" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal) )))) ;) }) while (parenthesized_expression "(bVar34)" ( identifier )) ;) (if_statement "if ((!bVar35 && !bVar34) != bVar35) {\n        if (src_id.first == local_b4) {\n          pPVar14 = *local_dc;\n        }\n        else {\n          *(Relobj **)((int)ppGVar27 + -0x10) = src_id.first;\n          *(undefined4 *)((int)ppGVar27 + -0x14) = 0xd2ee3;\n          operator_delete(*(void **)((int)ppGVar27 + -0x10));\n          pPVar14 = *local_dc;\n        }\n        goto LAB_000d22e5;\n      }" if (parenthesized_expression "((!bVar35 && !bVar34) != bVar35)" ( (binary_expression "(!bVar35 && !bVar34) != bVar35" (parenthesized_expression "(!bVar35 && !bVar34)" ( (binary_expression "!bVar35 && !bVar34" (unary_expression "!bVar35" ! identifier) && (unary_expression "!bVar34" ! identifier)) )) != identifier) )) (compound_statement "{\n        if (src_id.first == local_b4) {\n          pPVar14 = *local_dc;\n        }\n        else {\n          *(Relobj **)((int)ppGVar27 + -0x10) = src_id.first;\n          *(undefined4 *)((int)ppGVar27 + -0x14) = 0xd2ee3;\n          operator_delete(*(void **)((int)ppGVar27 + -0x10));\n          pPVar14 = *local_dc;\n        }\n        goto LAB_000d22e5;\n      }" { (if_statement "if (src_id.first == local_b4) {\n          pPVar14 = *local_dc;\n        }\n        else {\n          *(Relobj **)((int)ppGVar27 + -0x10) = src_id.first;\n          *(undefined4 *)((int)ppGVar27 + -0x14) = 0xd2ee3;\n          operator_delete(*(void **)((int)ppGVar27 + -0x10));\n          pPVar14 = *local_dc;\n        }" if (parenthesized_expression "(src_id.first == local_b4)" ( (binary_expression "src_id.first == local_b4" (field_expression "src_id.first" identifier . field_identifier) == identifier) )) (compound_statement "{\n          pPVar14 = *local_dc;\n        }" { (expression_statement "pPVar14 = *local_dc;" (assignment_expression "pPVar14 = *local_dc" identifier = (pointer_expression "*local_dc" * identifier)) ;) }) (else_clause "else {\n          *(Relobj **)((int)ppGVar27 + -0x10) = src_id.first;\n          *(undefined4 *)((int)ppGVar27 + -0x14) = 0xd2ee3;\n          operator_delete(*(void **)((int)ppGVar27 + -0x10));\n          pPVar14 = *local_dc;\n        }" else (compound_statement "{\n          *(Relobj **)((int)ppGVar27 + -0x10) = src_id.first;\n          *(undefined4 *)((int)ppGVar27 + -0x14) = 0xd2ee3;\n          operator_delete(*(void **)((int)ppGVar27 + -0x10));\n          pPVar14 = *local_dc;\n        }" { (expression_statement "*(Relobj **)((int)ppGVar27 + -0x10) = src_id.first;" (assignment_expression "*(Relobj **)((int)ppGVar27 + -0x10) = src_id.first" (pointer_expression "*(Relobj **)((int)ppGVar27 + -0x10)" * (cast_expression "(Relobj **)((int)ppGVar27 + -0x10)" ( (type_descriptor "Relobj **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)ppGVar27 + -0x10)" ( (binary_expression "(int)ppGVar27 + -0x10" (cast_expression "(int)ppGVar27" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (field_expression "src_id.first" identifier . field_identifier)) ;) (expression_statement "*(undefined4 *)((int)ppGVar27 + -0x14) = 0xd2ee3;" (assignment_expression "*(undefined4 *)((int)ppGVar27 + -0x14) = 0xd2ee3" (pointer_expression "*(undefined4 *)((int)ppGVar27 + -0x14)" * (cast_expression "(undefined4 *)((int)ppGVar27 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppGVar27 + -0x14)" ( (binary_expression "(int)ppGVar27 + -0x14" (cast_expression "(int)ppGVar27" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "operator_delete(*(void **)((int)ppGVar27 + -0x10));" (call_expression "operator_delete(*(void **)((int)ppGVar27 + -0x10))" identifier (argument_list "(*(void **)((int)ppGVar27 + -0x10))" ( (pointer_expression "*(void **)((int)ppGVar27 + -0x10)" * (cast_expression "(void **)((int)ppGVar27 + -0x10)" ( (type_descriptor "void **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)ppGVar27 + -0x10)" ( (binary_expression "(int)ppGVar27 + -0x10" (cast_expression "(int)ppGVar27" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ))) ;) (expression_statement "pPVar14 = *local_dc;" (assignment_expression "pPVar14 = *local_dc" identifier = (pointer_expression "*local_dc" * identifier)) ;) }))) (goto_statement "goto LAB_000d22e5;" goto statement_identifier ;) })) })) (if_statement "if (src_id.first != local_b4) {\n      *(Relobj **)((int)ppGVar27 + -0x10) = src_id.first;\n      *(undefined4 *)((int)ppGVar27 + -0x14) = 0xd3010;\n      operator_delete(*(void **)((int)ppGVar27 + -0x10));\n    }" if (parenthesized_expression "(src_id.first != local_b4)" ( (binary_expression "src_id.first != local_b4" (field_expression "src_id.first" identifier . field_identifier) != identifier) )) (compound_statement "{\n      *(Relobj **)((int)ppGVar27 + -0x10) = src_id.first;\n      *(undefined4 *)((int)ppGVar27 + -0x14) = 0xd3010;\n      operator_delete(*(void **)((int)ppGVar27 + -0x10));\n    }" { (expression_statement "*(Relobj **)((int)ppGVar27 + -0x10) = src_id.first;" (assignment_expression "*(Relobj **)((int)ppGVar27 + -0x10) = src_id.first" (pointer_expression "*(Relobj **)((int)ppGVar27 + -0x10)" * (cast_expression "(Relobj **)((int)ppGVar27 + -0x10)" ( (type_descriptor "Relobj **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)ppGVar27 + -0x10)" ( (binary_expression "(int)ppGVar27 + -0x10" (cast_expression "(int)ppGVar27" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (field_expression "src_id.first" identifier . field_identifier)) ;) (expression_statement "*(undefined4 *)((int)ppGVar27 + -0x14) = 0xd3010;" (assignment_expression "*(undefined4 *)((int)ppGVar27 + -0x14) = 0xd3010" (pointer_expression "*(undefined4 *)((int)ppGVar27 + -0x14)" * (cast_expression "(undefined4 *)((int)ppGVar27 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppGVar27 + -0x14)" ( (binary_expression "(int)ppGVar27 + -0x14" (cast_expression "(int)ppGVar27" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "operator_delete(*(void **)((int)ppGVar27 + -0x10));" (call_expression "operator_delete(*(void **)((int)ppGVar27 + -0x10))" identifier (argument_list "(*(void **)((int)ppGVar27 + -0x10))" ( (pointer_expression "*(void **)((int)ppGVar27 + -0x10)" * (cast_expression "(void **)((int)ppGVar27 + -0x10)" ( (type_descriptor "void **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)ppGVar27 + -0x10)" ( (binary_expression "(int)ppGVar27 + -0x10" (cast_expression "(int)ppGVar27" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ))) ;) })) (expression_statement "*(Icf **)((int)ppGVar27 + -0xc) = local_b0;" (assignment_expression "*(Icf **)((int)ppGVar27 + -0xc) = local_b0" (pointer_expression "*(Icf **)((int)ppGVar27 + -0xc)" * (cast_expression "(Icf **)((int)ppGVar27 + -0xc)" ( (type_descriptor "Icf **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)ppGVar27 + -0xc)" ( (binary_expression "(int)ppGVar27 + -0xc" (cast_expression "(int)ppGVar27" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "src_id.first = (Relobj *)object;" (assignment_expression "src_id.first = (Relobj *)object" (field_expression "src_id.first" identifier . field_identifier) = (cast_expression "(Relobj *)object" ( (type_descriptor "Relobj *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "src_id.second = data_shndx;" (assignment_expression "src_id.second = data_shndx" (field_expression "src_id.second" identifier . field_identifier) = identifier) ;) (expression_statement "local_b0 = symtab->icf_;" (assignment_expression "local_b0 = symtab->icf_" identifier = (field_expression "symtab->icf_" identifier -> field_identifier)) ;) (expression_statement "*(Reloc_info_list **)((int)ppGVar27 + -0x10) = &symtab->icf_->reloc_info_list_;" (assignment_expression "*(Reloc_info_list **)((int)ppGVar27 + -0x10) = &symtab->icf_->reloc_info_list_" (pointer_expression "*(Reloc_info_list **)((int)ppGVar27 + -0x10)" * (cast_expression "(Reloc_info_list **)((int)ppGVar27 + -0x10)" ( (type_descriptor "Reloc_info_list **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)ppGVar27 + -0x10)" ( (binary_expression "(int)ppGVar27 + -0x10" (cast_expression "(int)ppGVar27" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "&symtab->icf_->reloc_info_list_" & (field_expression "symtab->icf_->reloc_info_list_" (field_expression "symtab->icf_" identifier -> field_identifier) -> field_identifier))) ;) (expression_statement "*(undefined4 *)((int)ppGVar27 + -0x14) = 0xd2e84;" (assignment_expression "*(undefined4 *)((int)ppGVar27 + -0x14) = 0xd2e84" (pointer_expression "*(undefined4 *)((int)ppGVar27 + -0x14)" * (cast_expression "(undefined4 *)((int)ppGVar27 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppGVar27 + -0x14)" ( (binary_expression "(int)ppGVar27 + -0x14" (cast_expression "(int)ppGVar27" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (ERROR "local_c8 = std::__detail::\n               _Map_base<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_gold::Icf::Reloc_info>,_std::allocator<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_gold::Icf::Reloc_info>_>,_std::__detail::_Select1st,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::" (assignment_expression "local_c8 = std" identifier = identifier) : : (comma_expression "__detail::\n               _Map_base<std::pair<gold::Relobj*,_unsigned_int>,_std" identifier (ERROR "::\n               _Map_base<std::pair<gold::Relobj*,_unsigned_int>" : : (binary_expression "_Map_base<std" identifier < identifier) : : (binary_expression "pair<gold" identifier < identifier) : : identifier * , identifier >) , identifier) : : (binary_expression "pair<const_std" identifier < identifier) : : (binary_expression "pair<gold" identifier < identifier) : : (binary_expression "Relobj*,_unsigned_int>,_gold" (binary_expression "Relobj*,_unsigned_int" identifier * (ERROR "," ,) identifier) > (ERROR "," ,) identifier) : : (comma_expression "Icf::Reloc_info>,_std" identifier (ERROR "::Reloc_info>" : : identifier >) , identifier) : : (binary_expression "allocator<std" identifier < identifier) : : (binary_expression "pair<const_std" identifier < identifier) : : (binary_expression "pair<gold" identifier < identifier) : : (binary_expression "Relobj*,_unsigned_int>,_gold" (binary_expression "Relobj*,_unsigned_int" identifier * (ERROR "," ,) identifier) > (ERROR "," ,) identifier) : : (comma_expression "Icf::Reloc_info>_>,_std" identifier (ERROR "::Reloc_info>_>" : : (binary_expression "Reloc_info>_" identifier > identifier) >) , identifier) : : (comma_expression "__detail::_Select1st,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold" identifier (ERROR "::_Select1st,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>" : : (comma_expression "_Select1st,_std" identifier , identifier) : : (binary_expression "equal_to<std" identifier < identifier) : : (binary_expression "pair<gold" identifier < identifier) : : identifier * , (binary_expression "_unsigned_int>_" identifier > identifier) >) , identifier) : : (comma_expression "Section_id_hash,_std" identifier , identifier) : :) (labeled_statement "__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>,_true>\n               ::operator[](*(_Map_base<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_gold::Icf::Reloc_info>,_std::allocator<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_gold::Icf::Reloc_info>_>,_std::__detail::_Select1st,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>,_true>\n                              **)((int)ppGVar27 + -0x10),*(key_type **)((int)ppGVar27 + -0xc));" statement_identifier (ERROR "::_Mod_range_hashing,_std:" : : (comma_expression "_Mod_range_hashing,_std" identifier , identifier) :) : (labeled_statement "__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>,_true>\n               ::operator[](*(_Map_base<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_gold::Icf::Reloc_info>,_std::allocator<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_gold::Icf::Reloc_info>_>,_std::__detail::_Select1st,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>,_true>\n                              **)((int)ppGVar27 + -0x10),*(key_type **)((int)ppGVar27 + -0xc));" statement_identifier (ERROR "::_Default_ranged_hash,_std:" : : (comma_expression "_Default_ranged_hash,_std" identifier , identifier) :) : (labeled_statement "__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>,_true>\n               ::operator[](*(_Map_base<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_gold::Icf::Reloc_info>,_std::allocator<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_gold::Icf::Reloc_info>_>,_std::__detail::_Select1st,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>,_true>\n                              **)((int)ppGVar27 + -0x10),*(key_type **)((int)ppGVar27 + -0xc));" statement_identifier (ERROR "::_Prime_rehash_policy,_std:" : : (comma_expression "_Prime_rehash_policy,_std" identifier , identifier) :) : (labeled_statement "__detail::_Hashtable_traits<true,_false,_true>,_true>\n               ::operator[](*(_Map_base<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_gold::Icf::Reloc_info>,_std::allocator<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_gold::Icf::Reloc_info>_>,_std::__detail::_Select1st,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>,_true>\n                              **)((int)ppGVar27 + -0x10),*(key_type **)((int)ppGVar27 + -0xc));" statement_identifier : (ERROR ":" :) (expression_statement "_Hashtable_traits<true,_false,_true>,_true>\n               ::operator[](*(_Map_base<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_gold::Icf::Reloc_info>,_std::allocator<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_gold::Icf::Reloc_info>_>,_std::__detail::_Select1st,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>,_true>\n                              **)((int)ppGVar27 + -0x10),*(key_type **)((int)ppGVar27 + -0xc));" (comma_expression "_Hashtable_traits<true,_false,_true>,_true>\n               ::operator[](*(_Map_base<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_gold::Icf::Reloc_info>,_std::allocator<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_gold::Icf::Reloc_info>_>,_std::__detail::_Select1st,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>,_true>\n                              **)((int)ppGVar27 + -0x10),*(key_type **)((int)ppGVar27 + -0xc))" (binary_expression "_Hashtable_traits<true" identifier < true) , (comma_expression "_false,_true>,_true>\n               ::operator[](*(_Map_base<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_gold::Icf::Reloc_info>,_std::allocator<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_gold::Icf::Reloc_info>_>,_std::__detail::_Select1st,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>,_true>\n                              **)((int)ppGVar27 + -0x10),*(key_type **)((int)ppGVar27 + -0xc))" identifier , (binary_expression "_true>,_true>\n               ::operator[](*(_Map_base<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_gold::Icf::Reloc_info>,_std::allocator<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_gold::Icf::Reloc_info>_>,_std::__detail::_Select1st,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>,_true>\n                              **)((int)ppGVar27 + -0x10),*(key_type **)((int)ppGVar27 + -0xc))" (binary_expression "_true>,_true" identifier > (ERROR "," ,) identifier) > (ERROR "::" : :) (call_expression "operator[](*(_Map_base<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_gold::Icf::Reloc_info>,_std::allocator<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_gold::Icf::Reloc_info>_>,_std::__detail::_Select1st,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>,_true>\n                              **)((int)ppGVar27 + -0x10),*(key_type **)((int)ppGVar27 + -0xc))" (subscript_expression "operator[]" identifier [ identifier ]) (argument_list "(*(_Map_base<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_gold::Icf::Reloc_info>,_std::allocator<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_gold::Icf::Reloc_info>_>,_std::__detail::_Select1st,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>,_true>\n                              **)((int)ppGVar27 + -0x10),*(key_type **)((int)ppGVar27 + -0xc))" ( (pointer_expression "*(_Map_base<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_gold::Icf::Reloc_info>,_std::allocator<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_gold::Icf::Reloc_info>_>,_std::__detail::_Select1st,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>,_true>\n                              **)((int)ppGVar27 + -0x10)" * (call_expression "(_Map_base<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_gold::Icf::Reloc_info>,_std::allocator<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_gold::Icf::Reloc_info>_>,_std::__detail::_Select1st,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>,_true>\n                              **)((int)ppGVar27 + -0x10)" (parenthesized_expression "(_Map_base<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_gold::Icf::Reloc_info>,_std::allocator<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_gold::Icf::Reloc_info>_>,_std::__detail::_Select1st,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>,_true>\n                              **)" ( (ERROR "_Map_base<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_gold::Icf::Reloc_info>,_std::allocator<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_gold::Icf::Reloc_info>_>,_std::__detail::_Select1st,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::" (comma_expression "_Map_base<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_gold::Icf::Reloc_info>,_std::allocator<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_gold::Icf::Reloc_info>_>,_std::__detail::_Select1st,_std" (binary_expression "_Map_base<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_gold::Icf::Reloc_info>,_std::allocator<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_gold::Icf::Reloc_info>_>,_std" (binary_expression "_Map_base<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_gold::Icf::Reloc_info>,_std::allocator<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_gold::Icf::Reloc_info>_" (binary_expression "_Map_base<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_gold::Icf::Reloc_info>,_std::allocator<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_gold" (binary_expression "_Map_base<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_gold::Icf::Reloc_info>,_std::allocator<std::pair<const_std::pair<gold::Relobj*,_unsigned_int" (binary_expression "_Map_base<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_gold::Icf::Reloc_info>,_std::allocator<std::pair<const_std::pair<gold" (binary_expression "_Map_base<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_gold::Icf::Reloc_info>,_std::allocator<std::pair<const_std" (binary_expression "_Map_base<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_gold::Icf::Reloc_info>,_std::allocator<std" (binary_expression "_Map_base<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_gold::Icf::Reloc_info>,_std" (binary_expression "_Map_base<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_gold" (binary_expression "_Map_base<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<const_std::pair<gold::Relobj*,_unsigned_int" (binary_expression "_Map_base<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<const_std::pair<gold" (binary_expression "_Map_base<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<const_std" (binary_expression "_Map_base<std::pair<gold::Relobj*,_unsigned_int>,_std" (binary_expression "_Map_base<std::pair<gold::Relobj*,_unsigned_int" (binary_expression "_Map_base<std::pair<gold" (binary_expression "_Map_base<std" identifier < identifier) (ERROR "::pair" : : identifier) < identifier) (ERROR "::Relobj" : : identifier) * (ERROR "," ,) identifier) > (ERROR "," ,) identifier) (ERROR "::pair" : : identifier) < identifier) (ERROR "::pair" : : identifier) < identifier) (ERROR "::Relobj" : : identifier) * (ERROR "," ,) identifier) > (ERROR "," ,) identifier) (ERROR "::Icf::Reloc_info" : : identifier : : identifier) > (ERROR "," ,) identifier) (ERROR "::allocator" : : identifier) < identifier) (ERROR "::pair" : : identifier) < identifier) (ERROR "::pair" : : identifier) < identifier) (ERROR "::Relobj" : : identifier) * (ERROR "," ,) identifier) > (ERROR "," ,) identifier) (ERROR "::Icf::Reloc_info" : : identifier : : identifier) > identifier) > (ERROR "," ,) identifier) (ERROR "::__detail::_Select1st" : : identifier : : identifier) , identifier) : : identifier < identifier : : identifier < identifier : : identifier * , (binary_expression "_unsigned_int>_>,_gold" (binary_expression "_unsigned_int>_" identifier > identifier) > (ERROR "," ,) identifier) : : (comma_expression "Section_id_hash,_std" identifier , identifier) : : identifier : : (comma_expression "_Mod_range_hashing,_std" identifier , identifier) : : identifier : : (comma_expression "_Default_ranged_hash,_std" identifier , identifier) : : identifier : : (comma_expression "_Prime_rehash_policy,_std" identifier , identifier) : : identifier : :) (comma_expression "_Hashtable_traits<true,_false,_true>,_true>\n                              **" (binary_expression "_Hashtable_traits<true" identifier < true) , (comma_expression "_false,_true>,_true>\n                              **" identifier , (binary_expression "_true>,_true>\n                              **" (binary_expression "_true>,_true" identifier > (ERROR "," ,) identifier) > (pointer_expression "**" * (pointer_expression "*" * identifier))))) )) (argument_list "((int)ppGVar27 + -0x10)" ( (binary_expression "(int)ppGVar27 + -0x10" (cast_expression "(int)ppGVar27" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (pointer_expression "*(key_type **)((int)ppGVar27 + -0xc)" * (cast_expression "(key_type **)((int)ppGVar27 + -0xc)" ( (type_descriptor "key_type **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)ppGVar27 + -0xc)" ( (binary_expression "(int)ppGVar27 + -0xc" (cast_expression "(int)ppGVar27" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) )))))) ;))))) (expression_statement "unaff_ESI = (Sized_relobj_file<32,_false> *)&local_c8->addend_info;" (assignment_expression "unaff_ESI = (Sized_relobj_file<32,_false> *)&local_c8->addend_info" identifier = (binary_expression "(Sized_relobj_file<32,_false> *)&local_c8->addend_info" (parenthesized_expression "(Sized_relobj_file<32,_false> *)" ( (comma_expression "Sized_relobj_file<32,_false> *" (binary_expression "Sized_relobj_file<32" identifier < number_literal) , (binary_expression "_false> *" identifier > (pointer_expression "*" * identifier))) )) & (field_expression "local_c8->addend_info" identifier -> field_identifier))) ;) (expression_statement "local_cc = &local_c8->symbol_info;" (assignment_expression "local_cc = &local_c8->symbol_info" identifier = (pointer_expression "&local_c8->symbol_info" & (field_expression "local_c8->symbol_info" identifier -> field_identifier))) ;) (expression_statement "local_ec = &local_c8->reloc_addend_size_info;" (assignment_expression "local_ec = &local_c8->reloc_addend_size_info" identifier = (pointer_expression "&local_c8->reloc_addend_size_info" & (field_expression "local_c8->reloc_addend_size_info" identifier -> field_identifier))) ;) (expression_statement "local_e8 = (Addend_info *)unaff_ESI;" (assignment_expression "local_e8 = (Addend_info *)unaff_ESI" identifier = (cast_expression "(Addend_info *)unaff_ESI" ( (type_descriptor "Addend_info *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "local_d0 = &local_c8->offset_info;" (assignment_expression "local_d0 = &local_c8->offset_info" identifier = (pointer_expression "&local_c8->offset_info" & (field_expression "local_c8->offset_info" identifier -> field_identifier))) ;) (expression_statement "pPVar14 = *local_dc;" (assignment_expression "pPVar14 = *local_dc" identifier = (pointer_expression "*local_dc" * identifier)) ;) (expression_statement "local_d1 = '\x01';" (assignment_expression "local_d1 = '\x01'" identifier = (char_literal "'\x01'" ' escape_sequence ')) ;) }))) (if_statement "if (pPVar14->options_ == (General_options *)0x0) {\n    *(Sized_relobj_file<32,_false> **)((int)ppGVar27 + -4) = unaff_ESI;\n    *(undefined ***)((int)ppGVar27 + -8) = local_b8 + -0x61176;\n    *(undefined4 *)((int)ppGVar27 + -0xc) = 0x5c;\n    *(int *)((int)ppGVar27 + -0x10) = (int)local_b8 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 000d2fe0 to 000d3000 has its CatchHandler @ 000d302c */\n    *(undefined4 *)((int)ppGVar27 + -0x14) = 0xd2fe5;\n    gold::do_gold_unreachable\n              (*(char **)((int)ppGVar27 + -0x10),*(int *)((int)ppGVar27 + -0xc),\n               *(char **)((int)ppGVar27 + -8));\n  }" if (parenthesized_expression "(pPVar14->options_ == (General_options *)0x0)" ( (binary_expression "pPVar14->options_ == (General_options *)0x0" (field_expression "pPVar14->options_" identifier -> field_identifier) == (cast_expression "(General_options *)0x0" ( (type_descriptor "General_options *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    *(Sized_relobj_file<32,_false> **)((int)ppGVar27 + -4) = unaff_ESI;\n    *(undefined ***)((int)ppGVar27 + -8) = local_b8 + -0x61176;\n    *(undefined4 *)((int)ppGVar27 + -0xc) = 0x5c;\n    *(int *)((int)ppGVar27 + -0x10) = (int)local_b8 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 000d2fe0 to 000d3000 has its CatchHandler @ 000d302c */\n    *(undefined4 *)((int)ppGVar27 + -0x14) = 0xd2fe5;\n    gold::do_gold_unreachable\n              (*(char **)((int)ppGVar27 + -0x10),*(int *)((int)ppGVar27 + -0xc),\n               *(char **)((int)ppGVar27 + -8));\n  }" { (expression_statement "*(Sized_relobj_file<32,_false> **)((int)ppGVar27 + -4) = unaff_ESI;" (assignment_expression "*(Sized_relobj_file<32,_false> **)((int)ppGVar27 + -4) = unaff_ESI" (pointer_expression "*(Sized_relobj_file<32,_false> **)((int)ppGVar27 + -4)" * (call_expression "(Sized_relobj_file<32,_false> **)((int)ppGVar27 + -4)" (parenthesized_expression "(Sized_relobj_file<32,_false> **)" ( (comma_expression "Sized_relobj_file<32,_false> **" (binary_expression "Sized_relobj_file<32" identifier < number_literal) , (binary_expression "_false> **" identifier > (pointer_expression "**" * (pointer_expression "*" * identifier)))) )) (argument_list "((int)ppGVar27 + -4)" ( (binary_expression "(int)ppGVar27 + -4" (cast_expression "(int)ppGVar27" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined ***)((int)ppGVar27 + -8) = local_b8 + -0x61176;" (assignment_expression "*(undefined ***)((int)ppGVar27 + -8) = local_b8 + -0x61176" (pointer_expression "*(undefined ***)((int)ppGVar27 + -8)" * (cast_expression "(undefined ***)((int)ppGVar27 + -8)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "((int)ppGVar27 + -8)" ( (binary_expression "(int)ppGVar27 + -8" (cast_expression "(int)ppGVar27" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "local_b8 + -0x61176" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)((int)ppGVar27 + -0xc) = 0x5c;" (assignment_expression "*(undefined4 *)((int)ppGVar27 + -0xc) = 0x5c" (pointer_expression "*(undefined4 *)((int)ppGVar27 + -0xc)" * (cast_expression "(undefined4 *)((int)ppGVar27 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppGVar27 + -0xc)" ( (binary_expression "(int)ppGVar27 + -0xc" (cast_expression "(int)ppGVar27" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)((int)ppGVar27 + -0x10) = (int)local_b8 + -0x1a1d93;" (assignment_expression "*(int *)((int)ppGVar27 + -0x10) = (int)local_b8 + -0x1a1d93" (pointer_expression "*(int *)((int)ppGVar27 + -0x10)" * (cast_expression "(int *)((int)ppGVar27 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppGVar27 + -0x10)" ( (binary_expression "(int)ppGVar27 + -0x10" (cast_expression "(int)ppGVar27" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "(int)local_b8 + -0x1a1d93" (cast_expression "(int)local_b8" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) comment comment (expression_statement "*(undefined4 *)((int)ppGVar27 + -0x14) = 0xd2fe5;" (assignment_expression "*(undefined4 *)((int)ppGVar27 + -0x14) = 0xd2fe5" (pointer_expression "*(undefined4 *)((int)ppGVar27 + -0x14)" * (cast_expression "(undefined4 *)((int)ppGVar27 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppGVar27 + -0x14)" ( (binary_expression "(int)ppGVar27 + -0x14" (cast_expression "(int)ppGVar27" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (labeled_statement "gold::do_gold_unreachable\n              (*(char **)((int)ppGVar27 + -0x10),*(int *)((int)ppGVar27 + -0xc),\n               *(char **)((int)ppGVar27 + -8));" statement_identifier : (ERROR ":" :) (expression_statement "do_gold_unreachable\n              (*(char **)((int)ppGVar27 + -0x10),*(int *)((int)ppGVar27 + -0xc),\n               *(char **)((int)ppGVar27 + -8));" (call_expression "do_gold_unreachable\n              (*(char **)((int)ppGVar27 + -0x10),*(int *)((int)ppGVar27 + -0xc),\n               *(char **)((int)ppGVar27 + -8))" identifier (argument_list "(*(char **)((int)ppGVar27 + -0x10),*(int *)((int)ppGVar27 + -0xc),\n               *(char **)((int)ppGVar27 + -8))" ( (pointer_expression "*(char **)((int)ppGVar27 + -0x10)" * (cast_expression "(char **)((int)ppGVar27 + -0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)ppGVar27 + -0x10)" ( (binary_expression "(int)ppGVar27 + -0x10" (cast_expression "(int)ppGVar27" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (pointer_expression "*(int *)((int)ppGVar27 + -0xc)" * (cast_expression "(int *)((int)ppGVar27 + -0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppGVar27 + -0xc)" ( (binary_expression "(int)ppGVar27 + -0xc" (cast_expression "(int)ppGVar27" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (pointer_expression "*(char **)((int)ppGVar27 + -8)" * (cast_expression "(char **)((int)ppGVar27 + -8)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)ppGVar27 + -8)" ( (binary_expression "(int)ppGVar27 + -8" (cast_expression "(int)ppGVar27" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ))) ;)) })) (expression_statement "local_d2 = false;" (assignment_expression "local_d2 = false" identifier = false) ;) (if_statement "if (pPVar14->options_->icf_status_ == ICF_SAFE) {\n    *(Target_powerpc<32,_false> **)((int)ppGVar27 + -0x10) = this;\n    *(undefined4 *)((int)ppGVar27 + -0x14) = 0xd2ceb;\n    local_d2 = Target_powerpc<32,_true>::do_can_check_for_function_pointers\n                         (*(Target_powerpc<32,_true> **)((int)ppGVar27 + -0x10));\n    bVar34 = false;\n    bVar36 = !local_d2;\n    if (!bVar36) {\n      iVar19 = 0xc;\n      local_d2 = false;\n      ppuVar28 = local_b8 + -0x66894;\n      _Var33 = src_section_name._M_dataplus;\n      do {\n        if (iVar19 == 0) break;\n        iVar19 = iVar19 + -1;\n        bVar34 = *(byte *)ppuVar28 < (byte)*_Var33._M_p;\n        bVar36 = *(byte *)ppuVar28 == *_Var33._M_p;\n        ppuVar28 = (undefined **)((int)ppuVar28 + (uint)bVar37 * -2 + 1);\n        _Var33._M_p = (pointer)((byte *)_Var33._M_p + (uint)bVar37 * -2 + 1);\n      } while (bVar36);\n      bVar35 = false;\n      bVar34 = (!bVar34 && !bVar36) == bVar34;\n      if (!bVar34) {\n        iVar19 = 0x11;\n        pbVar29 = (byte *)((int)local_b8 + -0x19a243);\n        _Var33 = src_section_name._M_dataplus;\n        do {\n          if (iVar19 == 0) break;\n          iVar19 = iVar19 + -1;\n          bVar35 = *pbVar29 < (byte)*_Var33._M_p;\n          bVar34 = *pbVar29 == *_Var33._M_p;\n          pbVar29 = pbVar29 + (uint)bVar37 * -2 + 1;\n          _Var33._M_p = (pointer)((byte *)_Var33._M_p + (uint)bVar37 * -2 + 1);\n        } while (bVar34);\n        bVar36 = false;\n        bVar34 = (!bVar35 && !bVar34) == bVar35;\n        if (!bVar34) {\n          iVar19 = 0xc;\n          pbVar29 = (byte *)((int)local_b8 + -0x19a231);\n          _Var33 = src_section_name._M_dataplus;\n          do {\n            if (iVar19 == 0) break;\n            iVar19 = iVar19 + -1;\n            bVar36 = *pbVar29 < (byte)*_Var33._M_p;\n            bVar34 = *pbVar29 == *_Var33._M_p;\n            pbVar29 = pbVar29 + (uint)bVar37 * -2 + 1;\n            _Var33._M_p = (pointer)((byte *)_Var33._M_p + (uint)bVar37 * -2 + 1);\n          } while (bVar34);\n          bVar35 = false;\n          bVar34 = (!bVar36 && !bVar34) == bVar36;\n          if (!bVar34) {\n            iVar19 = 0x11;\n            ppuVar28 = local_b8 + -0x66889;\n            _Var33 = src_section_name._M_dataplus;\n            do {\n              if (iVar19 == 0) break;\n              iVar19 = iVar19 + -1;\n              bVar35 = *(byte *)ppuVar28 < (byte)*_Var33._M_p;\n              bVar34 = *(byte *)ppuVar28 == *_Var33._M_p;\n              ppuVar28 = (undefined **)((int)ppuVar28 + (uint)bVar37 * -2 + 1);\n              _Var33._M_p = (pointer)((byte *)_Var33._M_p + (uint)bVar37 * -2 + 1);\n            } while (bVar34);\n            bVar36 = false;\n            bVar34 = (!bVar35 && !bVar34) == bVar35;\n            if (!bVar34) {\n              iVar19 = 9;\n              pbVar29 = (byte *)((int)local_b8 + -0x19a212);\n              _Var33 = src_section_name._M_dataplus;\n              do {\n                if (iVar19 == 0) break;\n                iVar19 = iVar19 + -1;\n                bVar36 = *pbVar29 < (byte)*_Var33._M_p;\n                bVar34 = *pbVar29 == *_Var33._M_p;\n                pbVar29 = pbVar29 + (uint)bVar37 * -2 + 1;\n                _Var33._M_p = (pointer)((byte *)_Var33._M_p + (uint)bVar37 * -2 + 1);\n              } while (bVar34);\n              local_d2 = (!bVar36 && !bVar34) != bVar36;\n            }\n          }\n        }\n      }\n    }\n  }" if (parenthesized_expression "(pPVar14->options_->icf_status_ == ICF_SAFE)" ( (binary_expression "pPVar14->options_->icf_status_ == ICF_SAFE" (field_expression "pPVar14->options_->icf_status_" (field_expression "pPVar14->options_" identifier -> field_identifier) -> field_identifier) == identifier) )) (compound_statement "{\n    *(Target_powerpc<32,_false> **)((int)ppGVar27 + -0x10) = this;\n    *(undefined4 *)((int)ppGVar27 + -0x14) = 0xd2ceb;\n    local_d2 = Target_powerpc<32,_true>::do_can_check_for_function_pointers\n                         (*(Target_powerpc<32,_true> **)((int)ppGVar27 + -0x10));\n    bVar34 = false;\n    bVar36 = !local_d2;\n    if (!bVar36) {\n      iVar19 = 0xc;\n      local_d2 = false;\n      ppuVar28 = local_b8 + -0x66894;\n      _Var33 = src_section_name._M_dataplus;\n      do {\n        if (iVar19 == 0) break;\n        iVar19 = iVar19 + -1;\n        bVar34 = *(byte *)ppuVar28 < (byte)*_Var33._M_p;\n        bVar36 = *(byte *)ppuVar28 == *_Var33._M_p;\n        ppuVar28 = (undefined **)((int)ppuVar28 + (uint)bVar37 * -2 + 1);\n        _Var33._M_p = (pointer)((byte *)_Var33._M_p + (uint)bVar37 * -2 + 1);\n      } while (bVar36);\n      bVar35 = false;\n      bVar34 = (!bVar34 && !bVar36) == bVar34;\n      if (!bVar34) {\n        iVar19 = 0x11;\n        pbVar29 = (byte *)((int)local_b8 + -0x19a243);\n        _Var33 = src_section_name._M_dataplus;\n        do {\n          if (iVar19 == 0) break;\n          iVar19 = iVar19 + -1;\n          bVar35 = *pbVar29 < (byte)*_Var33._M_p;\n          bVar34 = *pbVar29 == *_Var33._M_p;\n          pbVar29 = pbVar29 + (uint)bVar37 * -2 + 1;\n          _Var33._M_p = (pointer)((byte *)_Var33._M_p + (uint)bVar37 * -2 + 1);\n        } while (bVar34);\n        bVar36 = false;\n        bVar34 = (!bVar35 && !bVar34) == bVar35;\n        if (!bVar34) {\n          iVar19 = 0xc;\n          pbVar29 = (byte *)((int)local_b8 + -0x19a231);\n          _Var33 = src_section_name._M_dataplus;\n          do {\n            if (iVar19 == 0) break;\n            iVar19 = iVar19 + -1;\n            bVar36 = *pbVar29 < (byte)*_Var33._M_p;\n            bVar34 = *pbVar29 == *_Var33._M_p;\n            pbVar29 = pbVar29 + (uint)bVar37 * -2 + 1;\n            _Var33._M_p = (pointer)((byte *)_Var33._M_p + (uint)bVar37 * -2 + 1);\n          } while (bVar34);\n          bVar35 = false;\n          bVar34 = (!bVar36 && !bVar34) == bVar36;\n          if (!bVar34) {\n            iVar19 = 0x11;\n            ppuVar28 = local_b8 + -0x66889;\n            _Var33 = src_section_name._M_dataplus;\n            do {\n              if (iVar19 == 0) break;\n              iVar19 = iVar19 + -1;\n              bVar35 = *(byte *)ppuVar28 < (byte)*_Var33._M_p;\n              bVar34 = *(byte *)ppuVar28 == *_Var33._M_p;\n              ppuVar28 = (undefined **)((int)ppuVar28 + (uint)bVar37 * -2 + 1);\n              _Var33._M_p = (pointer)((byte *)_Var33._M_p + (uint)bVar37 * -2 + 1);\n            } while (bVar34);\n            bVar36 = false;\n            bVar34 = (!bVar35 && !bVar34) == bVar35;\n            if (!bVar34) {\n              iVar19 = 9;\n              pbVar29 = (byte *)((int)local_b8 + -0x19a212);\n              _Var33 = src_section_name._M_dataplus;\n              do {\n                if (iVar19 == 0) break;\n                iVar19 = iVar19 + -1;\n                bVar36 = *pbVar29 < (byte)*_Var33._M_p;\n                bVar34 = *pbVar29 == *_Var33._M_p;\n                pbVar29 = pbVar29 + (uint)bVar37 * -2 + 1;\n                _Var33._M_p = (pointer)((byte *)_Var33._M_p + (uint)bVar37 * -2 + 1);\n              } while (bVar34);\n              local_d2 = (!bVar36 && !bVar34) != bVar36;\n            }\n          }\n        }\n      }\n    }\n  }" { (expression_statement "*(Target_powerpc<32,_false> **)((int)ppGVar27 + -0x10) = this;" (assignment_expression "*(Target_powerpc<32,_false> **)((int)ppGVar27 + -0x10) = this" (pointer_expression "*(Target_powerpc<32,_false> **)((int)ppGVar27 + -0x10)" * (call_expression "(Target_powerpc<32,_false> **)((int)ppGVar27 + -0x10)" (parenthesized_expression "(Target_powerpc<32,_false> **)" ( (comma_expression "Target_powerpc<32,_false> **" (binary_expression "Target_powerpc<32" identifier < number_literal) , (binary_expression "_false> **" identifier > (pointer_expression "**" * (pointer_expression "*" * identifier)))) )) (argument_list "((int)ppGVar27 + -0x10)" ( (binary_expression "(int)ppGVar27 + -0x10" (cast_expression "(int)ppGVar27" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)ppGVar27 + -0x14) = 0xd2ceb;" (assignment_expression "*(undefined4 *)((int)ppGVar27 + -0x14) = 0xd2ceb" (pointer_expression "*(undefined4 *)((int)ppGVar27 + -0x14)" * (cast_expression "(undefined4 *)((int)ppGVar27 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppGVar27 + -0x14)" ( (binary_expression "(int)ppGVar27 + -0x14" (cast_expression "(int)ppGVar27" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "local_d2 = Target_powerpc<32,_true>::do_can_check_for_function_pointers\n                         (*(Target_powerpc<32,_true> **)((int)ppGVar27 + -0x10));" (comma_expression "local_d2 = Target_powerpc<32,_true>::do_can_check_for_function_pointers\n                         (*(Target_powerpc<32,_true> **)((int)ppGVar27 + -0x10))" (assignment_expression "local_d2 = Target_powerpc<32" identifier = (binary_expression "Target_powerpc<32" identifier < number_literal)) , (binary_expression "_true>::do_can_check_for_function_pointers\n                         (*(Target_powerpc<32,_true> **)((int)ppGVar27 + -0x10))" identifier > (ERROR "::" : :) (call_expression "do_can_check_for_function_pointers\n                         (*(Target_powerpc<32,_true> **)((int)ppGVar27 + -0x10))" identifier (argument_list "(*(Target_powerpc<32,_true> **)((int)ppGVar27 + -0x10))" ( (pointer_expression "*(Target_powerpc<32,_true> **)((int)ppGVar27 + -0x10)" * (call_expression "(Target_powerpc<32,_true> **)((int)ppGVar27 + -0x10)" (parenthesized_expression "(Target_powerpc<32,_true> **)" ( (comma_expression "Target_powerpc<32,_true> **" (binary_expression "Target_powerpc<32" identifier < number_literal) , (binary_expression "_true> **" identifier > (pointer_expression "**" * (pointer_expression "*" * identifier)))) )) (argument_list "((int)ppGVar27 + -0x10)" ( (binary_expression "(int)ppGVar27 + -0x10" (cast_expression "(int)ppGVar27" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ))))) ;) (expression_statement "bVar34 = false;" (assignment_expression "bVar34 = false" identifier = false) ;) (expression_statement "bVar36 = !local_d2;" (assignment_expression "bVar36 = !local_d2" identifier = (unary_expression "!local_d2" ! identifier)) ;) (if_statement "if (!bVar36) {\n      iVar19 = 0xc;\n      local_d2 = false;\n      ppuVar28 = local_b8 + -0x66894;\n      _Var33 = src_section_name._M_dataplus;\n      do {\n        if (iVar19 == 0) break;\n        iVar19 = iVar19 + -1;\n        bVar34 = *(byte *)ppuVar28 < (byte)*_Var33._M_p;\n        bVar36 = *(byte *)ppuVar28 == *_Var33._M_p;\n        ppuVar28 = (undefined **)((int)ppuVar28 + (uint)bVar37 * -2 + 1);\n        _Var33._M_p = (pointer)((byte *)_Var33._M_p + (uint)bVar37 * -2 + 1);\n      } while (bVar36);\n      bVar35 = false;\n      bVar34 = (!bVar34 && !bVar36) == bVar34;\n      if (!bVar34) {\n        iVar19 = 0x11;\n        pbVar29 = (byte *)((int)local_b8 + -0x19a243);\n        _Var33 = src_section_name._M_dataplus;\n        do {\n          if (iVar19 == 0) break;\n          iVar19 = iVar19 + -1;\n          bVar35 = *pbVar29 < (byte)*_Var33._M_p;\n          bVar34 = *pbVar29 == *_Var33._M_p;\n          pbVar29 = pbVar29 + (uint)bVar37 * -2 + 1;\n          _Var33._M_p = (pointer)((byte *)_Var33._M_p + (uint)bVar37 * -2 + 1);\n        } while (bVar34);\n        bVar36 = false;\n        bVar34 = (!bVar35 && !bVar34) == bVar35;\n        if (!bVar34) {\n          iVar19 = 0xc;\n          pbVar29 = (byte *)((int)local_b8 + -0x19a231);\n          _Var33 = src_section_name._M_dataplus;\n          do {\n            if (iVar19 == 0) break;\n            iVar19 = iVar19 + -1;\n            bVar36 = *pbVar29 < (byte)*_Var33._M_p;\n            bVar34 = *pbVar29 == *_Var33._M_p;\n            pbVar29 = pbVar29 + (uint)bVar37 * -2 + 1;\n            _Var33._M_p = (pointer)((byte *)_Var33._M_p + (uint)bVar37 * -2 + 1);\n          } while (bVar34);\n          bVar35 = false;\n          bVar34 = (!bVar36 && !bVar34) == bVar36;\n          if (!bVar34) {\n            iVar19 = 0x11;\n            ppuVar28 = local_b8 + -0x66889;\n            _Var33 = src_section_name._M_dataplus;\n            do {\n              if (iVar19 == 0) break;\n              iVar19 = iVar19 + -1;\n              bVar35 = *(byte *)ppuVar28 < (byte)*_Var33._M_p;\n              bVar34 = *(byte *)ppuVar28 == *_Var33._M_p;\n              ppuVar28 = (undefined **)((int)ppuVar28 + (uint)bVar37 * -2 + 1);\n              _Var33._M_p = (pointer)((byte *)_Var33._M_p + (uint)bVar37 * -2 + 1);\n            } while (bVar34);\n            bVar36 = false;\n            bVar34 = (!bVar35 && !bVar34) == bVar35;\n            if (!bVar34) {\n              iVar19 = 9;\n              pbVar29 = (byte *)((int)local_b8 + -0x19a212);\n              _Var33 = src_section_name._M_dataplus;\n              do {\n                if (iVar19 == 0) break;\n                iVar19 = iVar19 + -1;\n                bVar36 = *pbVar29 < (byte)*_Var33._M_p;\n                bVar34 = *pbVar29 == *_Var33._M_p;\n                pbVar29 = pbVar29 + (uint)bVar37 * -2 + 1;\n                _Var33._M_p = (pointer)((byte *)_Var33._M_p + (uint)bVar37 * -2 + 1);\n              } while (bVar34);\n              local_d2 = (!bVar36 && !bVar34) != bVar36;\n            }\n          }\n        }\n      }\n    }" if (parenthesized_expression "(!bVar36)" ( (unary_expression "!bVar36" ! identifier) )) (compound_statement "{\n      iVar19 = 0xc;\n      local_d2 = false;\n      ppuVar28 = local_b8 + -0x66894;\n      _Var33 = src_section_name._M_dataplus;\n      do {\n        if (iVar19 == 0) break;\n        iVar19 = iVar19 + -1;\n        bVar34 = *(byte *)ppuVar28 < (byte)*_Var33._M_p;\n        bVar36 = *(byte *)ppuVar28 == *_Var33._M_p;\n        ppuVar28 = (undefined **)((int)ppuVar28 + (uint)bVar37 * -2 + 1);\n        _Var33._M_p = (pointer)((byte *)_Var33._M_p + (uint)bVar37 * -2 + 1);\n      } while (bVar36);\n      bVar35 = false;\n      bVar34 = (!bVar34 && !bVar36) == bVar34;\n      if (!bVar34) {\n        iVar19 = 0x11;\n        pbVar29 = (byte *)((int)local_b8 + -0x19a243);\n        _Var33 = src_section_name._M_dataplus;\n        do {\n          if (iVar19 == 0) break;\n          iVar19 = iVar19 + -1;\n          bVar35 = *pbVar29 < (byte)*_Var33._M_p;\n          bVar34 = *pbVar29 == *_Var33._M_p;\n          pbVar29 = pbVar29 + (uint)bVar37 * -2 + 1;\n          _Var33._M_p = (pointer)((byte *)_Var33._M_p + (uint)bVar37 * -2 + 1);\n        } while (bVar34);\n        bVar36 = false;\n        bVar34 = (!bVar35 && !bVar34) == bVar35;\n        if (!bVar34) {\n          iVar19 = 0xc;\n          pbVar29 = (byte *)((int)local_b8 + -0x19a231);\n          _Var33 = src_section_name._M_dataplus;\n          do {\n            if (iVar19 == 0) break;\n            iVar19 = iVar19 + -1;\n            bVar36 = *pbVar29 < (byte)*_Var33._M_p;\n            bVar34 = *pbVar29 == *_Var33._M_p;\n            pbVar29 = pbVar29 + (uint)bVar37 * -2 + 1;\n            _Var33._M_p = (pointer)((byte *)_Var33._M_p + (uint)bVar37 * -2 + 1);\n          } while (bVar34);\n          bVar35 = false;\n          bVar34 = (!bVar36 && !bVar34) == bVar36;\n          if (!bVar34) {\n            iVar19 = 0x11;\n            ppuVar28 = local_b8 + -0x66889;\n            _Var33 = src_section_name._M_dataplus;\n            do {\n              if (iVar19 == 0) break;\n              iVar19 = iVar19 + -1;\n              bVar35 = *(byte *)ppuVar28 < (byte)*_Var33._M_p;\n              bVar34 = *(byte *)ppuVar28 == *_Var33._M_p;\n              ppuVar28 = (undefined **)((int)ppuVar28 + (uint)bVar37 * -2 + 1);\n              _Var33._M_p = (pointer)((byte *)_Var33._M_p + (uint)bVar37 * -2 + 1);\n            } while (bVar34);\n            bVar36 = false;\n            bVar34 = (!bVar35 && !bVar34) == bVar35;\n            if (!bVar34) {\n              iVar19 = 9;\n              pbVar29 = (byte *)((int)local_b8 + -0x19a212);\n              _Var33 = src_section_name._M_dataplus;\n              do {\n                if (iVar19 == 0) break;\n                iVar19 = iVar19 + -1;\n                bVar36 = *pbVar29 < (byte)*_Var33._M_p;\n                bVar34 = *pbVar29 == *_Var33._M_p;\n                pbVar29 = pbVar29 + (uint)bVar37 * -2 + 1;\n                _Var33._M_p = (pointer)((byte *)_Var33._M_p + (uint)bVar37 * -2 + 1);\n              } while (bVar34);\n              local_d2 = (!bVar36 && !bVar34) != bVar36;\n            }\n          }\n        }\n      }\n    }" { (expression_statement "iVar19 = 0xc;" (assignment_expression "iVar19 = 0xc" identifier = number_literal) ;) (expression_statement "local_d2 = false;" (assignment_expression "local_d2 = false" identifier = false) ;) (expression_statement "ppuVar28 = local_b8 + -0x66894;" (assignment_expression "ppuVar28 = local_b8 + -0x66894" identifier = (binary_expression "local_b8 + -0x66894" identifier + number_literal)) ;) (expression_statement "_Var33 = src_section_name._M_dataplus;" (assignment_expression "_Var33 = src_section_name._M_dataplus" identifier = (field_expression "src_section_name._M_dataplus" identifier . field_identifier)) ;) (do_statement "do {\n        if (iVar19 == 0) break;\n        iVar19 = iVar19 + -1;\n        bVar34 = *(byte *)ppuVar28 < (byte)*_Var33._M_p;\n        bVar36 = *(byte *)ppuVar28 == *_Var33._M_p;\n        ppuVar28 = (undefined **)((int)ppuVar28 + (uint)bVar37 * -2 + 1);\n        _Var33._M_p = (pointer)((byte *)_Var33._M_p + (uint)bVar37 * -2 + 1);\n      } while (bVar36);" do (compound_statement "{\n        if (iVar19 == 0) break;\n        iVar19 = iVar19 + -1;\n        bVar34 = *(byte *)ppuVar28 < (byte)*_Var33._M_p;\n        bVar36 = *(byte *)ppuVar28 == *_Var33._M_p;\n        ppuVar28 = (undefined **)((int)ppuVar28 + (uint)bVar37 * -2 + 1);\n        _Var33._M_p = (pointer)((byte *)_Var33._M_p + (uint)bVar37 * -2 + 1);\n      }" { (if_statement "if (iVar19 == 0) break;" if (parenthesized_expression "(iVar19 == 0)" ( (binary_expression "iVar19 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar19 = iVar19 + -1;" (assignment_expression "iVar19 = iVar19 + -1" identifier = (binary_expression "iVar19 + -1" identifier + number_literal)) ;) (expression_statement "bVar34 = *(byte *)ppuVar28 < (byte)*_Var33._M_p;" (assignment_expression "bVar34 = *(byte *)ppuVar28 < (byte)*_Var33._M_p" identifier = (binary_expression "*(byte *)ppuVar28 < (byte)*_Var33._M_p" (pointer_expression "*(byte *)ppuVar28" * (cast_expression "(byte *)ppuVar28" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) < (binary_expression "(byte)*_Var33._M_p" (parenthesized_expression "(byte)" ( identifier )) * (field_expression "_Var33._M_p" identifier . field_identifier)))) ;) (expression_statement "bVar36 = *(byte *)ppuVar28 == *_Var33._M_p;" (assignment_expression "bVar36 = *(byte *)ppuVar28 == *_Var33._M_p" identifier = (binary_expression "*(byte *)ppuVar28 == *_Var33._M_p" (pointer_expression "*(byte *)ppuVar28" * (cast_expression "(byte *)ppuVar28" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) == (pointer_expression "*_Var33._M_p" * (field_expression "_Var33._M_p" identifier . field_identifier)))) ;) (expression_statement "ppuVar28 = (undefined **)((int)ppuVar28 + (uint)bVar37 * -2 + 1);" (assignment_expression "ppuVar28 = (undefined **)((int)ppuVar28 + (uint)bVar37 * -2 + 1)" identifier = (cast_expression "(undefined **)((int)ppuVar28 + (uint)bVar37 * -2 + 1)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)ppuVar28 + (uint)bVar37 * -2 + 1)" ( (binary_expression "(int)ppuVar28 + (uint)bVar37 * -2 + 1" (binary_expression "(int)ppuVar28 + (uint)bVar37 * -2" (cast_expression "(int)ppuVar28" ( (type_descriptor "int" primitive_type) ) identifier) + (binary_expression "(uint)bVar37 * -2" (cast_expression "(uint)bVar37" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal) )))) ;) (expression_statement "_Var33._M_p = (pointer)((byte *)_Var33._M_p + (uint)bVar37 * -2 + 1);" (assignment_expression "_Var33._M_p = (pointer)((byte *)_Var33._M_p + (uint)bVar37 * -2 + 1)" (field_expression "_Var33._M_p" identifier . field_identifier) = (call_expression "(pointer)((byte *)_Var33._M_p + (uint)bVar37 * -2 + 1)" (parenthesized_expression "(pointer)" ( identifier )) (argument_list "((byte *)_Var33._M_p + (uint)bVar37 * -2 + 1)" ( (binary_expression "(byte *)_Var33._M_p + (uint)bVar37 * -2 + 1" (binary_expression "(byte *)_Var33._M_p + (uint)bVar37 * -2" (cast_expression "(byte *)_Var33._M_p" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "_Var33._M_p" identifier . field_identifier)) + (binary_expression "(uint)bVar37 * -2" (cast_expression "(uint)bVar37" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal) )))) ;) }) while (parenthesized_expression "(bVar36)" ( identifier )) ;) (expression_statement "bVar35 = false;" (assignment_expression "bVar35 = false" identifier = false) ;) (expression_statement "bVar34 = (!bVar34 && !bVar36) == bVar34;" (assignment_expression "bVar34 = (!bVar34 && !bVar36) == bVar34" identifier = (binary_expression "(!bVar34 && !bVar36) == bVar34" (parenthesized_expression "(!bVar34 && !bVar36)" ( (binary_expression "!bVar34 && !bVar36" (unary_expression "!bVar34" ! identifier) && (unary_expression "!bVar36" ! identifier)) )) == identifier)) ;) (if_statement "if (!bVar34) {\n        iVar19 = 0x11;\n        pbVar29 = (byte *)((int)local_b8 + -0x19a243);\n        _Var33 = src_section_name._M_dataplus;\n        do {\n          if (iVar19 == 0) break;\n          iVar19 = iVar19 + -1;\n          bVar35 = *pbVar29 < (byte)*_Var33._M_p;\n          bVar34 = *pbVar29 == *_Var33._M_p;\n          pbVar29 = pbVar29 + (uint)bVar37 * -2 + 1;\n          _Var33._M_p = (pointer)((byte *)_Var33._M_p + (uint)bVar37 * -2 + 1);\n        } while (bVar34);\n        bVar36 = false;\n        bVar34 = (!bVar35 && !bVar34) == bVar35;\n        if (!bVar34) {\n          iVar19 = 0xc;\n          pbVar29 = (byte *)((int)local_b8 + -0x19a231);\n          _Var33 = src_section_name._M_dataplus;\n          do {\n            if (iVar19 == 0) break;\n            iVar19 = iVar19 + -1;\n            bVar36 = *pbVar29 < (byte)*_Var33._M_p;\n            bVar34 = *pbVar29 == *_Var33._M_p;\n            pbVar29 = pbVar29 + (uint)bVar37 * -2 + 1;\n            _Var33._M_p = (pointer)((byte *)_Var33._M_p + (uint)bVar37 * -2 + 1);\n          } while (bVar34);\n          bVar35 = false;\n          bVar34 = (!bVar36 && !bVar34) == bVar36;\n          if (!bVar34) {\n            iVar19 = 0x11;\n            ppuVar28 = local_b8 + -0x66889;\n            _Var33 = src_section_name._M_dataplus;\n            do {\n              if (iVar19 == 0) break;\n              iVar19 = iVar19 + -1;\n              bVar35 = *(byte *)ppuVar28 < (byte)*_Var33._M_p;\n              bVar34 = *(byte *)ppuVar28 == *_Var33._M_p;\n              ppuVar28 = (undefined **)((int)ppuVar28 + (uint)bVar37 * -2 + 1);\n              _Var33._M_p = (pointer)((byte *)_Var33._M_p + (uint)bVar37 * -2 + 1);\n            } while (bVar34);\n            bVar36 = false;\n            bVar34 = (!bVar35 && !bVar34) == bVar35;\n            if (!bVar34) {\n              iVar19 = 9;\n              pbVar29 = (byte *)((int)local_b8 + -0x19a212);\n              _Var33 = src_section_name._M_dataplus;\n              do {\n                if (iVar19 == 0) break;\n                iVar19 = iVar19 + -1;\n                bVar36 = *pbVar29 < (byte)*_Var33._M_p;\n                bVar34 = *pbVar29 == *_Var33._M_p;\n                pbVar29 = pbVar29 + (uint)bVar37 * -2 + 1;\n                _Var33._M_p = (pointer)((byte *)_Var33._M_p + (uint)bVar37 * -2 + 1);\n              } while (bVar34);\n              local_d2 = (!bVar36 && !bVar34) != bVar36;\n            }\n          }\n        }\n      }" if (parenthesized_expression "(!bVar34)" ( (unary_expression "!bVar34" ! identifier) )) (compound_statement "{\n        iVar19 = 0x11;\n        pbVar29 = (byte *)((int)local_b8 + -0x19a243);\n        _Var33 = src_section_name._M_dataplus;\n        do {\n          if (iVar19 == 0) break;\n          iVar19 = iVar19 + -1;\n          bVar35 = *pbVar29 < (byte)*_Var33._M_p;\n          bVar34 = *pbVar29 == *_Var33._M_p;\n          pbVar29 = pbVar29 + (uint)bVar37 * -2 + 1;\n          _Var33._M_p = (pointer)((byte *)_Var33._M_p + (uint)bVar37 * -2 + 1);\n        } while (bVar34);\n        bVar36 = false;\n        bVar34 = (!bVar35 && !bVar34) == bVar35;\n        if (!bVar34) {\n          iVar19 = 0xc;\n          pbVar29 = (byte *)((int)local_b8 + -0x19a231);\n          _Var33 = src_section_name._M_dataplus;\n          do {\n            if (iVar19 == 0) break;\n            iVar19 = iVar19 + -1;\n            bVar36 = *pbVar29 < (byte)*_Var33._M_p;\n            bVar34 = *pbVar29 == *_Var33._M_p;\n            pbVar29 = pbVar29 + (uint)bVar37 * -2 + 1;\n            _Var33._M_p = (pointer)((byte *)_Var33._M_p + (uint)bVar37 * -2 + 1);\n          } while (bVar34);\n          bVar35 = false;\n          bVar34 = (!bVar36 && !bVar34) == bVar36;\n          if (!bVar34) {\n            iVar19 = 0x11;\n            ppuVar28 = local_b8 + -0x66889;\n            _Var33 = src_section_name._M_dataplus;\n            do {\n              if (iVar19 == 0) break;\n              iVar19 = iVar19 + -1;\n              bVar35 = *(byte *)ppuVar28 < (byte)*_Var33._M_p;\n              bVar34 = *(byte *)ppuVar28 == *_Var33._M_p;\n              ppuVar28 = (undefined **)((int)ppuVar28 + (uint)bVar37 * -2 + 1);\n              _Var33._M_p = (pointer)((byte *)_Var33._M_p + (uint)bVar37 * -2 + 1);\n            } while (bVar34);\n            bVar36 = false;\n            bVar34 = (!bVar35 && !bVar34) == bVar35;\n            if (!bVar34) {\n              iVar19 = 9;\n              pbVar29 = (byte *)((int)local_b8 + -0x19a212);\n              _Var33 = src_section_name._M_dataplus;\n              do {\n                if (iVar19 == 0) break;\n                iVar19 = iVar19 + -1;\n                bVar36 = *pbVar29 < (byte)*_Var33._M_p;\n                bVar34 = *pbVar29 == *_Var33._M_p;\n                pbVar29 = pbVar29 + (uint)bVar37 * -2 + 1;\n                _Var33._M_p = (pointer)((byte *)_Var33._M_p + (uint)bVar37 * -2 + 1);\n              } while (bVar34);\n              local_d2 = (!bVar36 && !bVar34) != bVar36;\n            }\n          }\n        }\n      }" { (expression_statement "iVar19 = 0x11;" (assignment_expression "iVar19 = 0x11" identifier = number_literal) ;) (expression_statement "pbVar29 = (byte *)((int)local_b8 + -0x19a243);" (assignment_expression "pbVar29 = (byte *)((int)local_b8 + -0x19a243)" identifier = (cast_expression "(byte *)((int)local_b8 + -0x19a243)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_b8 + -0x19a243)" ( (binary_expression "(int)local_b8 + -0x19a243" (cast_expression "(int)local_b8" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "_Var33 = src_section_name._M_dataplus;" (assignment_expression "_Var33 = src_section_name._M_dataplus" identifier = (field_expression "src_section_name._M_dataplus" identifier . field_identifier)) ;) (do_statement "do {\n          if (iVar19 == 0) break;\n          iVar19 = iVar19 + -1;\n          bVar35 = *pbVar29 < (byte)*_Var33._M_p;\n          bVar34 = *pbVar29 == *_Var33._M_p;\n          pbVar29 = pbVar29 + (uint)bVar37 * -2 + 1;\n          _Var33._M_p = (pointer)((byte *)_Var33._M_p + (uint)bVar37 * -2 + 1);\n        } while (bVar34);" do (compound_statement "{\n          if (iVar19 == 0) break;\n          iVar19 = iVar19 + -1;\n          bVar35 = *pbVar29 < (byte)*_Var33._M_p;\n          bVar34 = *pbVar29 == *_Var33._M_p;\n          pbVar29 = pbVar29 + (uint)bVar37 * -2 + 1;\n          _Var33._M_p = (pointer)((byte *)_Var33._M_p + (uint)bVar37 * -2 + 1);\n        }" { (if_statement "if (iVar19 == 0) break;" if (parenthesized_expression "(iVar19 == 0)" ( (binary_expression "iVar19 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar19 = iVar19 + -1;" (assignment_expression "iVar19 = iVar19 + -1" identifier = (binary_expression "iVar19 + -1" identifier + number_literal)) ;) (expression_statement "bVar35 = *pbVar29 < (byte)*_Var33._M_p;" (assignment_expression "bVar35 = *pbVar29 < (byte)*_Var33._M_p" identifier = (binary_expression "*pbVar29 < (byte)*_Var33._M_p" (pointer_expression "*pbVar29" * identifier) < (binary_expression "(byte)*_Var33._M_p" (parenthesized_expression "(byte)" ( identifier )) * (field_expression "_Var33._M_p" identifier . field_identifier)))) ;) (expression_statement "bVar34 = *pbVar29 == *_Var33._M_p;" (assignment_expression "bVar34 = *pbVar29 == *_Var33._M_p" identifier = (binary_expression "*pbVar29 == *_Var33._M_p" (pointer_expression "*pbVar29" * identifier) == (pointer_expression "*_Var33._M_p" * (field_expression "_Var33._M_p" identifier . field_identifier)))) ;) (expression_statement "pbVar29 = pbVar29 + (uint)bVar37 * -2 + 1;" (assignment_expression "pbVar29 = pbVar29 + (uint)bVar37 * -2 + 1" identifier = (binary_expression "pbVar29 + (uint)bVar37 * -2 + 1" (binary_expression "pbVar29 + (uint)bVar37 * -2" identifier + (binary_expression "(uint)bVar37 * -2" (cast_expression "(uint)bVar37" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "_Var33._M_p = (pointer)((byte *)_Var33._M_p + (uint)bVar37 * -2 + 1);" (assignment_expression "_Var33._M_p = (pointer)((byte *)_Var33._M_p + (uint)bVar37 * -2 + 1)" (field_expression "_Var33._M_p" identifier . field_identifier) = (call_expression "(pointer)((byte *)_Var33._M_p + (uint)bVar37 * -2 + 1)" (parenthesized_expression "(pointer)" ( identifier )) (argument_list "((byte *)_Var33._M_p + (uint)bVar37 * -2 + 1)" ( (binary_expression "(byte *)_Var33._M_p + (uint)bVar37 * -2 + 1" (binary_expression "(byte *)_Var33._M_p + (uint)bVar37 * -2" (cast_expression "(byte *)_Var33._M_p" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "_Var33._M_p" identifier . field_identifier)) + (binary_expression "(uint)bVar37 * -2" (cast_expression "(uint)bVar37" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal) )))) ;) }) while (parenthesized_expression "(bVar34)" ( identifier )) ;) (expression_statement "bVar36 = false;" (assignment_expression "bVar36 = false" identifier = false) ;) (expression_statement "bVar34 = (!bVar35 && !bVar34) == bVar35;" (assignment_expression "bVar34 = (!bVar35 && !bVar34) == bVar35" identifier = (binary_expression "(!bVar35 && !bVar34) == bVar35" (parenthesized_expression "(!bVar35 && !bVar34)" ( (binary_expression "!bVar35 && !bVar34" (unary_expression "!bVar35" ! identifier) && (unary_expression "!bVar34" ! identifier)) )) == identifier)) ;) (if_statement "if (!bVar34) {\n          iVar19 = 0xc;\n          pbVar29 = (byte *)((int)local_b8 + -0x19a231);\n          _Var33 = src_section_name._M_dataplus;\n          do {\n            if (iVar19 == 0) break;\n            iVar19 = iVar19 + -1;\n            bVar36 = *pbVar29 < (byte)*_Var33._M_p;\n            bVar34 = *pbVar29 == *_Var33._M_p;\n            pbVar29 = pbVar29 + (uint)bVar37 * -2 + 1;\n            _Var33._M_p = (pointer)((byte *)_Var33._M_p + (uint)bVar37 * -2 + 1);\n          } while (bVar34);\n          bVar35 = false;\n          bVar34 = (!bVar36 && !bVar34) == bVar36;\n          if (!bVar34) {\n            iVar19 = 0x11;\n            ppuVar28 = local_b8 + -0x66889;\n            _Var33 = src_section_name._M_dataplus;\n            do {\n              if (iVar19 == 0) break;\n              iVar19 = iVar19 + -1;\n              bVar35 = *(byte *)ppuVar28 < (byte)*_Var33._M_p;\n              bVar34 = *(byte *)ppuVar28 == *_Var33._M_p;\n              ppuVar28 = (undefined **)((int)ppuVar28 + (uint)bVar37 * -2 + 1);\n              _Var33._M_p = (pointer)((byte *)_Var33._M_p + (uint)bVar37 * -2 + 1);\n            } while (bVar34);\n            bVar36 = false;\n            bVar34 = (!bVar35 && !bVar34) == bVar35;\n            if (!bVar34) {\n              iVar19 = 9;\n              pbVar29 = (byte *)((int)local_b8 + -0x19a212);\n              _Var33 = src_section_name._M_dataplus;\n              do {\n                if (iVar19 == 0) break;\n                iVar19 = iVar19 + -1;\n                bVar36 = *pbVar29 < (byte)*_Var33._M_p;\n                bVar34 = *pbVar29 == *_Var33._M_p;\n                pbVar29 = pbVar29 + (uint)bVar37 * -2 + 1;\n                _Var33._M_p = (pointer)((byte *)_Var33._M_p + (uint)bVar37 * -2 + 1);\n              } while (bVar34);\n              local_d2 = (!bVar36 && !bVar34) != bVar36;\n            }\n          }\n        }" if (parenthesized_expression "(!bVar34)" ( (unary_expression "!bVar34" ! identifier) )) (compound_statement "{\n          iVar19 = 0xc;\n          pbVar29 = (byte *)((int)local_b8 + -0x19a231);\n          _Var33 = src_section_name._M_dataplus;\n          do {\n            if (iVar19 == 0) break;\n            iVar19 = iVar19 + -1;\n            bVar36 = *pbVar29 < (byte)*_Var33._M_p;\n            bVar34 = *pbVar29 == *_Var33._M_p;\n            pbVar29 = pbVar29 + (uint)bVar37 * -2 + 1;\n            _Var33._M_p = (pointer)((byte *)_Var33._M_p + (uint)bVar37 * -2 + 1);\n          } while (bVar34);\n          bVar35 = false;\n          bVar34 = (!bVar36 && !bVar34) == bVar36;\n          if (!bVar34) {\n            iVar19 = 0x11;\n            ppuVar28 = local_b8 + -0x66889;\n            _Var33 = src_section_name._M_dataplus;\n            do {\n              if (iVar19 == 0) break;\n              iVar19 = iVar19 + -1;\n              bVar35 = *(byte *)ppuVar28 < (byte)*_Var33._M_p;\n              bVar34 = *(byte *)ppuVar28 == *_Var33._M_p;\n              ppuVar28 = (undefined **)((int)ppuVar28 + (uint)bVar37 * -2 + 1);\n              _Var33._M_p = (pointer)((byte *)_Var33._M_p + (uint)bVar37 * -2 + 1);\n            } while (bVar34);\n            bVar36 = false;\n            bVar34 = (!bVar35 && !bVar34) == bVar35;\n            if (!bVar34) {\n              iVar19 = 9;\n              pbVar29 = (byte *)((int)local_b8 + -0x19a212);\n              _Var33 = src_section_name._M_dataplus;\n              do {\n                if (iVar19 == 0) break;\n                iVar19 = iVar19 + -1;\n                bVar36 = *pbVar29 < (byte)*_Var33._M_p;\n                bVar34 = *pbVar29 == *_Var33._M_p;\n                pbVar29 = pbVar29 + (uint)bVar37 * -2 + 1;\n                _Var33._M_p = (pointer)((byte *)_Var33._M_p + (uint)bVar37 * -2 + 1);\n              } while (bVar34);\n              local_d2 = (!bVar36 && !bVar34) != bVar36;\n            }\n          }\n        }" { (expression_statement "iVar19 = 0xc;" (assignment_expression "iVar19 = 0xc" identifier = number_literal) ;) (expression_statement "pbVar29 = (byte *)((int)local_b8 + -0x19a231);" (assignment_expression "pbVar29 = (byte *)((int)local_b8 + -0x19a231)" identifier = (cast_expression "(byte *)((int)local_b8 + -0x19a231)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_b8 + -0x19a231)" ( (binary_expression "(int)local_b8 + -0x19a231" (cast_expression "(int)local_b8" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "_Var33 = src_section_name._M_dataplus;" (assignment_expression "_Var33 = src_section_name._M_dataplus" identifier = (field_expression "src_section_name._M_dataplus" identifier . field_identifier)) ;) (do_statement "do {\n            if (iVar19 == 0) break;\n            iVar19 = iVar19 + -1;\n            bVar36 = *pbVar29 < (byte)*_Var33._M_p;\n            bVar34 = *pbVar29 == *_Var33._M_p;\n            pbVar29 = pbVar29 + (uint)bVar37 * -2 + 1;\n            _Var33._M_p = (pointer)((byte *)_Var33._M_p + (uint)bVar37 * -2 + 1);\n          } while (bVar34);" do (compound_statement "{\n            if (iVar19 == 0) break;\n            iVar19 = iVar19 + -1;\n            bVar36 = *pbVar29 < (byte)*_Var33._M_p;\n            bVar34 = *pbVar29 == *_Var33._M_p;\n            pbVar29 = pbVar29 + (uint)bVar37 * -2 + 1;\n            _Var33._M_p = (pointer)((byte *)_Var33._M_p + (uint)bVar37 * -2 + 1);\n          }" { (if_statement "if (iVar19 == 0) break;" if (parenthesized_expression "(iVar19 == 0)" ( (binary_expression "iVar19 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar19 = iVar19 + -1;" (assignment_expression "iVar19 = iVar19 + -1" identifier = (binary_expression "iVar19 + -1" identifier + number_literal)) ;) (expression_statement "bVar36 = *pbVar29 < (byte)*_Var33._M_p;" (assignment_expression "bVar36 = *pbVar29 < (byte)*_Var33._M_p" identifier = (binary_expression "*pbVar29 < (byte)*_Var33._M_p" (pointer_expression "*pbVar29" * identifier) < (binary_expression "(byte)*_Var33._M_p" (parenthesized_expression "(byte)" ( identifier )) * (field_expression "_Var33._M_p" identifier . field_identifier)))) ;) (expression_statement "bVar34 = *pbVar29 == *_Var33._M_p;" (assignment_expression "bVar34 = *pbVar29 == *_Var33._M_p" identifier = (binary_expression "*pbVar29 == *_Var33._M_p" (pointer_expression "*pbVar29" * identifier) == (pointer_expression "*_Var33._M_p" * (field_expression "_Var33._M_p" identifier . field_identifier)))) ;) (expression_statement "pbVar29 = pbVar29 + (uint)bVar37 * -2 + 1;" (assignment_expression "pbVar29 = pbVar29 + (uint)bVar37 * -2 + 1" identifier = (binary_expression "pbVar29 + (uint)bVar37 * -2 + 1" (binary_expression "pbVar29 + (uint)bVar37 * -2" identifier + (binary_expression "(uint)bVar37 * -2" (cast_expression "(uint)bVar37" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "_Var33._M_p = (pointer)((byte *)_Var33._M_p + (uint)bVar37 * -2 + 1);" (assignment_expression "_Var33._M_p = (pointer)((byte *)_Var33._M_p + (uint)bVar37 * -2 + 1)" (field_expression "_Var33._M_p" identifier . field_identifier) = (call_expression "(pointer)((byte *)_Var33._M_p + (uint)bVar37 * -2 + 1)" (parenthesized_expression "(pointer)" ( identifier )) (argument_list "((byte *)_Var33._M_p + (uint)bVar37 * -2 + 1)" ( (binary_expression "(byte *)_Var33._M_p + (uint)bVar37 * -2 + 1" (binary_expression "(byte *)_Var33._M_p + (uint)bVar37 * -2" (cast_expression "(byte *)_Var33._M_p" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "_Var33._M_p" identifier . field_identifier)) + (binary_expression "(uint)bVar37 * -2" (cast_expression "(uint)bVar37" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal) )))) ;) }) while (parenthesized_expression "(bVar34)" ( identifier )) ;) (expression_statement "bVar35 = false;" (assignment_expression "bVar35 = false" identifier = false) ;) (expression_statement "bVar34 = (!bVar36 && !bVar34) == bVar36;" (assignment_expression "bVar34 = (!bVar36 && !bVar34) == bVar36" identifier = (binary_expression "(!bVar36 && !bVar34) == bVar36" (parenthesized_expression "(!bVar36 && !bVar34)" ( (binary_expression "!bVar36 && !bVar34" (unary_expression "!bVar36" ! identifier) && (unary_expression "!bVar34" ! identifier)) )) == identifier)) ;) (if_statement "if (!bVar34) {\n            iVar19 = 0x11;\n            ppuVar28 = local_b8 + -0x66889;\n            _Var33 = src_section_name._M_dataplus;\n            do {\n              if (iVar19 == 0) break;\n              iVar19 = iVar19 + -1;\n              bVar35 = *(byte *)ppuVar28 < (byte)*_Var33._M_p;\n              bVar34 = *(byte *)ppuVar28 == *_Var33._M_p;\n              ppuVar28 = (undefined **)((int)ppuVar28 + (uint)bVar37 * -2 + 1);\n              _Var33._M_p = (pointer)((byte *)_Var33._M_p + (uint)bVar37 * -2 + 1);\n            } while (bVar34);\n            bVar36 = false;\n            bVar34 = (!bVar35 && !bVar34) == bVar35;\n            if (!bVar34) {\n              iVar19 = 9;\n              pbVar29 = (byte *)((int)local_b8 + -0x19a212);\n              _Var33 = src_section_name._M_dataplus;\n              do {\n                if (iVar19 == 0) break;\n                iVar19 = iVar19 + -1;\n                bVar36 = *pbVar29 < (byte)*_Var33._M_p;\n                bVar34 = *pbVar29 == *_Var33._M_p;\n                pbVar29 = pbVar29 + (uint)bVar37 * -2 + 1;\n                _Var33._M_p = (pointer)((byte *)_Var33._M_p + (uint)bVar37 * -2 + 1);\n              } while (bVar34);\n              local_d2 = (!bVar36 && !bVar34) != bVar36;\n            }\n          }" if (parenthesized_expression "(!bVar34)" ( (unary_expression "!bVar34" ! identifier) )) (compound_statement "{\n            iVar19 = 0x11;\n            ppuVar28 = local_b8 + -0x66889;\n            _Var33 = src_section_name._M_dataplus;\n            do {\n              if (iVar19 == 0) break;\n              iVar19 = iVar19 + -1;\n              bVar35 = *(byte *)ppuVar28 < (byte)*_Var33._M_p;\n              bVar34 = *(byte *)ppuVar28 == *_Var33._M_p;\n              ppuVar28 = (undefined **)((int)ppuVar28 + (uint)bVar37 * -2 + 1);\n              _Var33._M_p = (pointer)((byte *)_Var33._M_p + (uint)bVar37 * -2 + 1);\n            } while (bVar34);\n            bVar36 = false;\n            bVar34 = (!bVar35 && !bVar34) == bVar35;\n            if (!bVar34) {\n              iVar19 = 9;\n              pbVar29 = (byte *)((int)local_b8 + -0x19a212);\n              _Var33 = src_section_name._M_dataplus;\n              do {\n                if (iVar19 == 0) break;\n                iVar19 = iVar19 + -1;\n                bVar36 = *pbVar29 < (byte)*_Var33._M_p;\n                bVar34 = *pbVar29 == *_Var33._M_p;\n                pbVar29 = pbVar29 + (uint)bVar37 * -2 + 1;\n                _Var33._M_p = (pointer)((byte *)_Var33._M_p + (uint)bVar37 * -2 + 1);\n              } while (bVar34);\n              local_d2 = (!bVar36 && !bVar34) != bVar36;\n            }\n          }" { (expression_statement "iVar19 = 0x11;" (assignment_expression "iVar19 = 0x11" identifier = number_literal) ;) (expression_statement "ppuVar28 = local_b8 + -0x66889;" (assignment_expression "ppuVar28 = local_b8 + -0x66889" identifier = (binary_expression "local_b8 + -0x66889" identifier + number_literal)) ;) (expression_statement "_Var33 = src_section_name._M_dataplus;" (assignment_expression "_Var33 = src_section_name._M_dataplus" identifier = (field_expression "src_section_name._M_dataplus" identifier . field_identifier)) ;) (do_statement "do {\n              if (iVar19 == 0) break;\n              iVar19 = iVar19 + -1;\n              bVar35 = *(byte *)ppuVar28 < (byte)*_Var33._M_p;\n              bVar34 = *(byte *)ppuVar28 == *_Var33._M_p;\n              ppuVar28 = (undefined **)((int)ppuVar28 + (uint)bVar37 * -2 + 1);\n              _Var33._M_p = (pointer)((byte *)_Var33._M_p + (uint)bVar37 * -2 + 1);\n            } while (bVar34);" do (compound_statement "{\n              if (iVar19 == 0) break;\n              iVar19 = iVar19 + -1;\n              bVar35 = *(byte *)ppuVar28 < (byte)*_Var33._M_p;\n              bVar34 = *(byte *)ppuVar28 == *_Var33._M_p;\n              ppuVar28 = (undefined **)((int)ppuVar28 + (uint)bVar37 * -2 + 1);\n              _Var33._M_p = (pointer)((byte *)_Var33._M_p + (uint)bVar37 * -2 + 1);\n            }" { (if_statement "if (iVar19 == 0) break;" if (parenthesized_expression "(iVar19 == 0)" ( (binary_expression "iVar19 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar19 = iVar19 + -1;" (assignment_expression "iVar19 = iVar19 + -1" identifier = (binary_expression "iVar19 + -1" identifier + number_literal)) ;) (expression_statement "bVar35 = *(byte *)ppuVar28 < (byte)*_Var33._M_p;" (assignment_expression "bVar35 = *(byte *)ppuVar28 < (byte)*_Var33._M_p" identifier = (binary_expression "*(byte *)ppuVar28 < (byte)*_Var33._M_p" (pointer_expression "*(byte *)ppuVar28" * (cast_expression "(byte *)ppuVar28" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) < (binary_expression "(byte)*_Var33._M_p" (parenthesized_expression "(byte)" ( identifier )) * (field_expression "_Var33._M_p" identifier . field_identifier)))) ;) (expression_statement "bVar34 = *(byte *)ppuVar28 == *_Var33._M_p;" (assignment_expression "bVar34 = *(byte *)ppuVar28 == *_Var33._M_p" identifier = (binary_expression "*(byte *)ppuVar28 == *_Var33._M_p" (pointer_expression "*(byte *)ppuVar28" * (cast_expression "(byte *)ppuVar28" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) == (pointer_expression "*_Var33._M_p" * (field_expression "_Var33._M_p" identifier . field_identifier)))) ;) (expression_statement "ppuVar28 = (undefined **)((int)ppuVar28 + (uint)bVar37 * -2 + 1);" (assignment_expression "ppuVar28 = (undefined **)((int)ppuVar28 + (uint)bVar37 * -2 + 1)" identifier = (cast_expression "(undefined **)((int)ppuVar28 + (uint)bVar37 * -2 + 1)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)ppuVar28 + (uint)bVar37 * -2 + 1)" ( (binary_expression "(int)ppuVar28 + (uint)bVar37 * -2 + 1" (binary_expression "(int)ppuVar28 + (uint)bVar37 * -2" (cast_expression "(int)ppuVar28" ( (type_descriptor "int" primitive_type) ) identifier) + (binary_expression "(uint)bVar37 * -2" (cast_expression "(uint)bVar37" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal) )))) ;) (expression_statement "_Var33._M_p = (pointer)((byte *)_Var33._M_p + (uint)bVar37 * -2 + 1);" (assignment_expression "_Var33._M_p = (pointer)((byte *)_Var33._M_p + (uint)bVar37 * -2 + 1)" (field_expression "_Var33._M_p" identifier . field_identifier) = (call_expression "(pointer)((byte *)_Var33._M_p + (uint)bVar37 * -2 + 1)" (parenthesized_expression "(pointer)" ( identifier )) (argument_list "((byte *)_Var33._M_p + (uint)bVar37 * -2 + 1)" ( (binary_expression "(byte *)_Var33._M_p + (uint)bVar37 * -2 + 1" (binary_expression "(byte *)_Var33._M_p + (uint)bVar37 * -2" (cast_expression "(byte *)_Var33._M_p" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "_Var33._M_p" identifier . field_identifier)) + (binary_expression "(uint)bVar37 * -2" (cast_expression "(uint)bVar37" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal) )))) ;) }) while (parenthesized_expression "(bVar34)" ( identifier )) ;) (expression_statement "bVar36 = false;" (assignment_expression "bVar36 = false" identifier = false) ;) (expression_statement "bVar34 = (!bVar35 && !bVar34) == bVar35;" (assignment_expression "bVar34 = (!bVar35 && !bVar34) == bVar35" identifier = (binary_expression "(!bVar35 && !bVar34) == bVar35" (parenthesized_expression "(!bVar35 && !bVar34)" ( (binary_expression "!bVar35 && !bVar34" (unary_expression "!bVar35" ! identifier) && (unary_expression "!bVar34" ! identifier)) )) == identifier)) ;) (if_statement "if (!bVar34) {\n              iVar19 = 9;\n              pbVar29 = (byte *)((int)local_b8 + -0x19a212);\n              _Var33 = src_section_name._M_dataplus;\n              do {\n                if (iVar19 == 0) break;\n                iVar19 = iVar19 + -1;\n                bVar36 = *pbVar29 < (byte)*_Var33._M_p;\n                bVar34 = *pbVar29 == *_Var33._M_p;\n                pbVar29 = pbVar29 + (uint)bVar37 * -2 + 1;\n                _Var33._M_p = (pointer)((byte *)_Var33._M_p + (uint)bVar37 * -2 + 1);\n              } while (bVar34);\n              local_d2 = (!bVar36 && !bVar34) != bVar36;\n            }" if (parenthesized_expression "(!bVar34)" ( (unary_expression "!bVar34" ! identifier) )) (compound_statement "{\n              iVar19 = 9;\n              pbVar29 = (byte *)((int)local_b8 + -0x19a212);\n              _Var33 = src_section_name._M_dataplus;\n              do {\n                if (iVar19 == 0) break;\n                iVar19 = iVar19 + -1;\n                bVar36 = *pbVar29 < (byte)*_Var33._M_p;\n                bVar34 = *pbVar29 == *_Var33._M_p;\n                pbVar29 = pbVar29 + (uint)bVar37 * -2 + 1;\n                _Var33._M_p = (pointer)((byte *)_Var33._M_p + (uint)bVar37 * -2 + 1);\n              } while (bVar34);\n              local_d2 = (!bVar36 && !bVar34) != bVar36;\n            }" { (expression_statement "iVar19 = 9;" (assignment_expression "iVar19 = 9" identifier = number_literal) ;) (expression_statement "pbVar29 = (byte *)((int)local_b8 + -0x19a212);" (assignment_expression "pbVar29 = (byte *)((int)local_b8 + -0x19a212)" identifier = (cast_expression "(byte *)((int)local_b8 + -0x19a212)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_b8 + -0x19a212)" ( (binary_expression "(int)local_b8 + -0x19a212" (cast_expression "(int)local_b8" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "_Var33 = src_section_name._M_dataplus;" (assignment_expression "_Var33 = src_section_name._M_dataplus" identifier = (field_expression "src_section_name._M_dataplus" identifier . field_identifier)) ;) (do_statement "do {\n                if (iVar19 == 0) break;\n                iVar19 = iVar19 + -1;\n                bVar36 = *pbVar29 < (byte)*_Var33._M_p;\n                bVar34 = *pbVar29 == *_Var33._M_p;\n                pbVar29 = pbVar29 + (uint)bVar37 * -2 + 1;\n                _Var33._M_p = (pointer)((byte *)_Var33._M_p + (uint)bVar37 * -2 + 1);\n              } while (bVar34);" do (compound_statement "{\n                if (iVar19 == 0) break;\n                iVar19 = iVar19 + -1;\n                bVar36 = *pbVar29 < (byte)*_Var33._M_p;\n                bVar34 = *pbVar29 == *_Var33._M_p;\n                pbVar29 = pbVar29 + (uint)bVar37 * -2 + 1;\n                _Var33._M_p = (pointer)((byte *)_Var33._M_p + (uint)bVar37 * -2 + 1);\n              }" { (if_statement "if (iVar19 == 0) break;" if (parenthesized_expression "(iVar19 == 0)" ( (binary_expression "iVar19 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar19 = iVar19 + -1;" (assignment_expression "iVar19 = iVar19 + -1" identifier = (binary_expression "iVar19 + -1" identifier + number_literal)) ;) (expression_statement "bVar36 = *pbVar29 < (byte)*_Var33._M_p;" (assignment_expression "bVar36 = *pbVar29 < (byte)*_Var33._M_p" identifier = (binary_expression "*pbVar29 < (byte)*_Var33._M_p" (pointer_expression "*pbVar29" * identifier) < (binary_expression "(byte)*_Var33._M_p" (parenthesized_expression "(byte)" ( identifier )) * (field_expression "_Var33._M_p" identifier . field_identifier)))) ;) (expression_statement "bVar34 = *pbVar29 == *_Var33._M_p;" (assignment_expression "bVar34 = *pbVar29 == *_Var33._M_p" identifier = (binary_expression "*pbVar29 == *_Var33._M_p" (pointer_expression "*pbVar29" * identifier) == (pointer_expression "*_Var33._M_p" * (field_expression "_Var33._M_p" identifier . field_identifier)))) ;) (expression_statement "pbVar29 = pbVar29 + (uint)bVar37 * -2 + 1;" (assignment_expression "pbVar29 = pbVar29 + (uint)bVar37 * -2 + 1" identifier = (binary_expression "pbVar29 + (uint)bVar37 * -2 + 1" (binary_expression "pbVar29 + (uint)bVar37 * -2" identifier + (binary_expression "(uint)bVar37 * -2" (cast_expression "(uint)bVar37" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "_Var33._M_p = (pointer)((byte *)_Var33._M_p + (uint)bVar37 * -2 + 1);" (assignment_expression "_Var33._M_p = (pointer)((byte *)_Var33._M_p + (uint)bVar37 * -2 + 1)" (field_expression "_Var33._M_p" identifier . field_identifier) = (call_expression "(pointer)((byte *)_Var33._M_p + (uint)bVar37 * -2 + 1)" (parenthesized_expression "(pointer)" ( identifier )) (argument_list "((byte *)_Var33._M_p + (uint)bVar37 * -2 + 1)" ( (binary_expression "(byte *)_Var33._M_p + (uint)bVar37 * -2 + 1" (binary_expression "(byte *)_Var33._M_p + (uint)bVar37 * -2" (cast_expression "(byte *)_Var33._M_p" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "_Var33._M_p" identifier . field_identifier)) + (binary_expression "(uint)bVar37 * -2" (cast_expression "(uint)bVar37" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal) )))) ;) }) while (parenthesized_expression "(bVar34)" ( identifier )) ;) (expression_statement "local_d2 = (!bVar36 && !bVar34) != bVar36;" (assignment_expression "local_d2 = (!bVar36 && !bVar34) != bVar36" identifier = (binary_expression "(!bVar36 && !bVar34) != bVar36" (parenthesized_expression "(!bVar36 && !bVar34)" ( (binary_expression "!bVar36 && !bVar34" (unary_expression "!bVar36" ! identifier) && (unary_expression "!bVar34" ! identifier)) )) != identifier)) ;) })) })) })) })) })) })) if (parenthesized_expression "(reloc_count != 0)" ( (binary_expression "reloc_count != 0" identifier != number_literal) )) { (expression_statement "local_d8 = (_func_int_varargs **)0x0;" (assignment_expression "local_d8 = (_func_int_varargs **)0x0" identifier = (cast_expression "(_func_int_varargs **)0x0" ( (type_descriptor "_func_int_varargs **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) ;) (expression_statement "local_e0 = local_a4;" (assignment_expression "local_e0 = local_a4" identifier = identifier) ;) (expression_statement "local_e4 = 0;" (assignment_expression "local_e4 = 0" identifier = number_literal) ;) (expression_statement "local_f4 = &__node_gen;" (assignment_expression "local_f4 = &__node_gen" identifier = (pointer_expression "&__node_gen" & identifier)) ;) do { (expression_statement "uVar6 = *(uint *)(prelocs + 4);" (assignment_expression "uVar6 = *(uint *)(prelocs + 4)" identifier = (pointer_expression "*(uint *)(prelocs + 4)" * (cast_expression "(uint *)(prelocs + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(prelocs + 4)" ( (binary_expression "prelocs + 4" identifier + number_literal) ))))) ;) (expression_statement "uVar31 = uVar6 & 0xff;" (assignment_expression "uVar31 = uVar6 & 0xff" identifier = (binary_expression "uVar6 & 0xff" identifier & number_literal)) ;) (expression_statement "uVar25 = uVar6 >> 8;" (assignment_expression "uVar25 = uVar6 >> 8" identifier = (binary_expression "uVar6 >> 8" identifier >> number_literal)) ;) (expression_statement "local_bc = *(pointer *)(prelocs + 8);" (assignment_expression "local_bc = *(pointer *)(prelocs + 8)" identifier = (pointer_expression "*(pointer *)(prelocs + 8)" * (cast_expression "(pointer *)(prelocs + 8)" ( (type_descriptor "pointer *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(prelocs + 8)" ( (binary_expression "prelocs + 8" identifier + number_literal) ))))) ;) if (parenthesized_expression "(uVar25 < param_10)" ( (binary_expression "uVar25 < param_10" identifier < identifier) )) { (if_statement "if (plocal_symbols == (uchar *)0x0) {\n          *(undefined ***)((int)ppGVar27 + -8) = local_b8 + -0x615ed;\n          *(undefined4 *)((int)ppGVar27 + -0xc) = 0xea;\n          *(int *)((int)ppGVar27 + -0x10) = (int)local_b8 + -0x19ca36;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 000d2f44 to 000d2fac has its CatchHandler @ 000d302c */\n          *(undefined **)((int)ppGVar27 + -0x14) = &UNK_000d2f49;\n          gold::do_gold_unreachable\n                    (*(char **)((int)ppGVar27 + -0x10),*(int *)((int)ppGVar27 + -0xc),\n                     *(char **)((int)ppGVar27 + -8));\n        }" if (parenthesized_expression "(plocal_symbols == (uchar *)0x0)" ( (binary_expression "plocal_symbols == (uchar *)0x0" identifier == (cast_expression "(uchar *)0x0" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          *(undefined ***)((int)ppGVar27 + -8) = local_b8 + -0x615ed;\n          *(undefined4 *)((int)ppGVar27 + -0xc) = 0xea;\n          *(int *)((int)ppGVar27 + -0x10) = (int)local_b8 + -0x19ca36;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 000d2f44 to 000d2fac has its CatchHandler @ 000d302c */\n          *(undefined **)((int)ppGVar27 + -0x14) = &UNK_000d2f49;\n          gold::do_gold_unreachable\n                    (*(char **)((int)ppGVar27 + -0x10),*(int *)((int)ppGVar27 + -0xc),\n                     *(char **)((int)ppGVar27 + -8));\n        }" { (expression_statement "*(undefined ***)((int)ppGVar27 + -8) = local_b8 + -0x615ed;" (assignment_expression "*(undefined ***)((int)ppGVar27 + -8) = local_b8 + -0x615ed" (pointer_expression "*(undefined ***)((int)ppGVar27 + -8)" * (cast_expression "(undefined ***)((int)ppGVar27 + -8)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "((int)ppGVar27 + -8)" ( (binary_expression "(int)ppGVar27 + -8" (cast_expression "(int)ppGVar27" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "local_b8 + -0x615ed" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)((int)ppGVar27 + -0xc) = 0xea;" (assignment_expression "*(undefined4 *)((int)ppGVar27 + -0xc) = 0xea" (pointer_expression "*(undefined4 *)((int)ppGVar27 + -0xc)" * (cast_expression "(undefined4 *)((int)ppGVar27 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppGVar27 + -0xc)" ( (binary_expression "(int)ppGVar27 + -0xc" (cast_expression "(int)ppGVar27" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)((int)ppGVar27 + -0x10) = (int)local_b8 + -0x19ca36;" (assignment_expression "*(int *)((int)ppGVar27 + -0x10) = (int)local_b8 + -0x19ca36" (pointer_expression "*(int *)((int)ppGVar27 + -0x10)" * (cast_expression "(int *)((int)ppGVar27 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppGVar27 + -0x10)" ( (binary_expression "(int)ppGVar27 + -0x10" (cast_expression "(int)ppGVar27" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "(int)local_b8 + -0x19ca36" (cast_expression "(int)local_b8" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) comment comment (expression_statement "*(undefined **)((int)ppGVar27 + -0x14) = &UNK_000d2f49;" (assignment_expression "*(undefined **)((int)ppGVar27 + -0x14) = &UNK_000d2f49" (pointer_expression "*(undefined **)((int)ppGVar27 + -0x14)" * (cast_expression "(undefined **)((int)ppGVar27 + -0x14)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)ppGVar27 + -0x14)" ( (binary_expression "(int)ppGVar27 + -0x14" (cast_expression "(int)ppGVar27" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "&UNK_000d2f49" & identifier)) ;) (labeled_statement "gold::do_gold_unreachable\n                    (*(char **)((int)ppGVar27 + -0x10),*(int *)((int)ppGVar27 + -0xc),\n                     *(char **)((int)ppGVar27 + -8));" statement_identifier : (ERROR ":" :) (expression_statement "do_gold_unreachable\n                    (*(char **)((int)ppGVar27 + -0x10),*(int *)((int)ppGVar27 + -0xc),\n                     *(char **)((int)ppGVar27 + -8));" (call_expression "do_gold_unreachable\n                    (*(char **)((int)ppGVar27 + -0x10),*(int *)((int)ppGVar27 + -0xc),\n                     *(char **)((int)ppGVar27 + -8))" identifier (argument_list "(*(char **)((int)ppGVar27 + -0x10),*(int *)((int)ppGVar27 + -0xc),\n                     *(char **)((int)ppGVar27 + -8))" ( (pointer_expression "*(char **)((int)ppGVar27 + -0x10)" * (cast_expression "(char **)((int)ppGVar27 + -0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)ppGVar27 + -0x10)" ( (binary_expression "(int)ppGVar27 + -0x10" (cast_expression "(int)ppGVar27" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (pointer_expression "*(int *)((int)ppGVar27 + -0xc)" * (cast_expression "(int *)((int)ppGVar27 + -0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppGVar27 + -0xc)" ( (binary_expression "(int)ppGVar27 + -0xc" (cast_expression "(int)ppGVar27" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (pointer_expression "*(char **)((int)ppGVar27 + -8)" * (cast_expression "(char **)((int)ppGVar27 + -8)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)ppGVar27 + -8)" ( (binary_expression "(int)ppGVar27 + -8" (cast_expression "(int)ppGVar27" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ))) ;)) })) (expression_statement "local_b4 = (Relobj *)(uint)*(ushort *)(plocal_symbols + uVar25 * 0x10 + 0xe);" (assignment_expression "local_b4 = (Relobj *)(uint)*(ushort *)(plocal_symbols + uVar25 * 0x10 + 0xe)" identifier = (binary_expression "(Relobj *)(uint)*(ushort *)(plocal_symbols + uVar25 * 0x10 + 0xe)" (cast_expression "(Relobj *)(uint)" ( (type_descriptor "Relobj *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uint)" ( identifier ))) * (cast_expression "(ushort *)(plocal_symbols + uVar25 * 0x10 + 0xe)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(plocal_symbols + uVar25 * 0x10 + 0xe)" ( (binary_expression "plocal_symbols + uVar25 * 0x10 + 0xe" (binary_expression "plocal_symbols + uVar25 * 0x10" identifier + (binary_expression "uVar25 * 0x10" identifier * number_literal)) + number_literal) ))))) ;) (if_statement "if (local_b4 < (Relobj *)0xff00) {\nLAB_000d24ee:\n          pRVar24 = *(Relobj **)(plocal_symbols + uVar25 * 0x10 + 4);\n          local_c4 = (int)&local_bc->first + (int)pRVar24;\n          if (local_d1 != '\0') {\n            src_id.first = (Relobj *)object;\n            src_id.second = (uint)local_b4;\n            *(Icf **)((int)ppGVar27 + -0xc) = (Icf *)&src_id;\n            *(mapped_type **)((int)ppGVar27 + -0x10) = local_c8;\n            local_b0 = (Icf *)&src_id;\n            *(undefined4 *)((int)ppGVar27 + -0x14) = 0xd2533;\n            std::\n            vector<std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>\n            ::emplace_back<std::pair<gold::Relobj*,_unsigned_int>_>\n                      (*(vector<std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>\n                         **)((int)ppGVar27 + -0x10),\n                       *(pair<gold::Relobj*,_unsigned_int> **)((int)ppGVar27 + -0xc));\n            local_c0 = (Output_segment *)CONCAT31(local_c0._1_3_,1);\n            if ((plocal_symbols[uVar25 * 0x10 + 0xc] & 0xf) != 3) goto LAB_000d23e8;\nLAB_000d254c:\n            *(Icf **)((int)ppGVar27 + -0xc) = local_b0;\n            *(Symbol_info **)((int)ppGVar27 + -0x10) = local_cc;\n            src_id.first = (Relobj *)0xffffffff;\n            *(undefined4 *)((int)ppGVar27 + -0x14) = 0xd2567;\n            std::vector<gold::Symbol*,_std::allocator<gold::Symbol*>_>::emplace_back<gold::Symbol*>\n                      (*(vector<gold::Symbol*,_std::allocator<gold::Symbol*>_> **)\n                        ((int)ppGVar27 + -0x10),*(Symbol ***)((int)ppGVar27 + -0xc));\n            goto LAB_000d2403;\n          }\n        }\n        else {\n          if (local_b4 == (Relobj *)0xffff) {\n            pXVar16 = (object->super_Sized_relobj<32,_false>).super_Relobj.super_Object.xindex_;\n            if (pXVar16 == (Xindex *)0x0) {\n              pp_Var17 = (object->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                         _vptr_Object;\n              *(Sized_relobj_file<32,_false> **)((int)ppGVar27 + -0x10) = object;\n              p_Var4 = pp_Var17[0x1b];\n              *(undefined4 *)((int)ppGVar27 + -0x14) = 0xd2a4e;\n              pXVar16 = (Xindex *)(*p_Var4)();\n              (object->super_Sized_relobj<32,_false>).super_Relobj.super_Object.xindex_ = pXVar16;\n            }\n            *(uint *)((int)ppGVar27 + -8) = uVar25;\n            *(Sized_relobj_file<32,_false> **)((int)ppGVar27 + -0xc) = object;\n            *(Xindex **)((int)ppGVar27 + -0x10) = pXVar16;\n            *(undefined4 *)((int)ppGVar27 + -0x14) = 0xd2591;\n            local_b4 = (Relobj *)\n                       gold::Xindex::sym_xindex_to_shndx\n                                 (*(Xindex **)((int)ppGVar27 + -0x10),\n                                  *(Object **)((int)ppGVar27 + -0xc),*(uint *)((int)ppGVar27 + -8));\n            goto LAB_000d24ee;\n          }\n          pRVar24 = *(Relobj **)(plocal_symbols + uVar25 * 0x10 + 4);\n          local_c4 = (int)&(*(pointer *)(prelocs + 8))->first + (int)pRVar24;\n          if (local_d1 == '\0') goto LAB_000d2489;\n          src_id.first = (Relobj *)0x0;\n          *(Icf **)((int)ppGVar27 + -0xc) = (Icf *)&src_id;\n          *(mapped_type **)((int)ppGVar27 + -0x10) = local_c8;\n          src_id.second = 0;\n          local_b0 = (Icf *)&src_id;\n                    /* try { // try from 000d23ca to 000d2bf5 has its CatchHandler @ 000d302c */\n          *(undefined4 *)((int)ppGVar27 + -0x14) = 0xd23cf;\n          std::\n          vector<std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>\n          ::emplace_back<std::pair<gold::Relobj*,_unsigned_int>_>\n                    (*(vector<std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>\n                       **)((int)ppGVar27 + -0x10),\n                     *(pair<gold::Relobj*,_unsigned_int> **)((int)ppGVar27 + -0xc));\n          local_c0 = (Output_segment *)((uint)local_c0 & 0xffffff00);\n          if ((plocal_symbols[uVar25 * 0x10 + 0xc] & 0xf) == 3) goto LAB_000d254c;\nLAB_000d23e8:\n          *(Icf **)((int)ppGVar27 + -0xc) = local_b0;\n          *(Symbol_info **)((int)ppGVar27 + -0x10) = local_cc;\n          src_id.first = (Relobj *)0x0;\n          *(undefined4 *)((int)ppGVar27 + -0x14) = 0xd2403;\n          std::vector<gold::Symbol*,_std::allocator<gold::Symbol*>_>::emplace_back<gold::Symbol*>\n                    (*(vector<gold::Symbol*,_std::allocator<gold::Symbol*>_> **)\n                      ((int)ppGVar27 + -0x10),*(Symbol ***)((int)ppGVar27 + -0xc));\nLAB_000d2403:\n          src_id.first = pRVar24;\n          *(Icf **)((int)ppGVar27 + -0xc) = local_b0;\n          *(Addend_info **)((int)ppGVar27 + -0x10) = local_e8;\n          local_2c = local_bc;\n          src_id.second = 0;\n          local_28._M_p = (pointer)((int)local_bc >> 0x1f);\n          *(undefined4 *)((int)ppGVar27 + -0x14) = 0xd2433;\n          std::\n          vector<std::pair<long_long_int,_long_long_int>,_std::allocator<std::pair<long_long_int,_long_long_int>_>_>\n          ::emplace_back<std::pair<long_long_int,_long_long_int>_>\n                    (*(vector<std::pair<long_long_int,_long_long_int>,_std::allocator<std::pair<long_long_int,_long_long_int>_>_>\n                       **)((int)ppGVar27 + -0x10),\n                     *(pair<long_long_int,_long_long_int> **)((int)ppGVar27 + -0xc));\n          src_id.second = 0;\n          puVar5 = (local_d0->\n                   super__Vector_base<long_long_unsigned_int,_std::allocator<long_long_unsigned_int>_>\n                   )._M_impl._M_finish;\n          src_id.first = *(Relobj **)prelocs;\n          if (puVar5 == (local_d0->\n                        super__Vector_base<long_long_unsigned_int,_std::allocator<long_long_unsigned_int>_>\n                        )._M_impl._M_end_of_storage) {\n            *(Icf **)((int)ppGVar27 + -8) = local_b0;\n            *(pointer *)((int)ppGVar27 + -0xc) = puVar5;\n            *(Offset_info **)((int)ppGVar27 + -0x10) = local_d0;\n            *(undefined4 *)((int)ppGVar27 + -0x14) = 0xd2b0d;\n            std::vector<long_long_unsigned_int,_std::allocator<long_long_unsigned_int>_>::\n            _M_realloc_insert<long_long_unsigned_int_const&>\n                      (*(vector<long_long_unsigned_int,_std::allocator<long_long_unsigned_int>_> **)\n                        ((int)ppGVar27 + -0x10),(iterator)*(ulonglong **)((int)ppGVar27 + -0xc),\n                       *(ulonglong **)((int)ppGVar27 + -8));\n          }\n          else {\n            *(Relobj **)puVar5 = *(Relobj **)prelocs;\n            *(undefined4 *)((int)puVar5 + 4) = 0;\n            (local_d0->\n            super__Vector_base<long_long_unsigned_int,_std::allocator<long_long_unsigned_int>_>).\n            _M_impl._M_finish = puVar5 + 1;\n          }\n          dst_id.first = (Relobj *)0x0;\n          *(Section_id **)((int)ppGVar27 + -0xc) = &dst_id;\n          *(Reloc_addend_size_info **)((int)ppGVar27 + -0x10) = local_ec;\n          *(undefined4 *)((int)ppGVar27 + -0x14) = 0xd2479;\n          std::vector<unsigned_int,_std::allocator<unsigned_int>_>::emplace_back<unsigned_int>\n                    (*(vector<unsigned_int,_std::allocator<unsigned_int>_> **)\n                      ((int)ppGVar27 + -0x10),*(uint **)((int)ppGVar27 + -0xc));\n          if ((char)local_c0 == '\0') goto LAB_000d2489;\n        }" if (parenthesized_expression "(local_b4 < (Relobj *)0xff00)" ( (binary_expression "local_b4 < (Relobj *)0xff00" identifier < (cast_expression "(Relobj *)0xff00" ( (type_descriptor "Relobj *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\nLAB_000d24ee:\n          pRVar24 = *(Relobj **)(plocal_symbols + uVar25 * 0x10 + 4);\n          local_c4 = (int)&local_bc->first + (int)pRVar24;\n          if (local_d1 != '\0') {\n            src_id.first = (Relobj *)object;\n            src_id.second = (uint)local_b4;\n            *(Icf **)((int)ppGVar27 + -0xc) = (Icf *)&src_id;\n            *(mapped_type **)((int)ppGVar27 + -0x10) = local_c8;\n            local_b0 = (Icf *)&src_id;\n            *(undefined4 *)((int)ppGVar27 + -0x14) = 0xd2533;\n            std::\n            vector<std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>\n            ::emplace_back<std::pair<gold::Relobj*,_unsigned_int>_>\n                      (*(vector<std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>\n                         **)((int)ppGVar27 + -0x10),\n                       *(pair<gold::Relobj*,_unsigned_int> **)((int)ppGVar27 + -0xc));\n            local_c0 = (Output_segment *)CONCAT31(local_c0._1_3_,1);\n            if ((plocal_symbols[uVar25 * 0x10 + 0xc] & 0xf) != 3) goto LAB_000d23e8;\nLAB_000d254c:\n            *(Icf **)((int)ppGVar27 + -0xc) = local_b0;\n            *(Symbol_info **)((int)ppGVar27 + -0x10) = local_cc;\n            src_id.first = (Relobj *)0xffffffff;\n            *(undefined4 *)((int)ppGVar27 + -0x14) = 0xd2567;\n            std::vector<gold::Symbol*,_std::allocator<gold::Symbol*>_>::emplace_back<gold::Symbol*>\n                      (*(vector<gold::Symbol*,_std::allocator<gold::Symbol*>_> **)\n                        ((int)ppGVar27 + -0x10),*(Symbol ***)((int)ppGVar27 + -0xc));\n            goto LAB_000d2403;\n          }\n        }" { (labeled_statement "LAB_000d24ee:\n          pRVar24 = *(Relobj **)(plocal_symbols + uVar25 * 0x10 + 4);" statement_identifier : (expression_statement "pRVar24 = *(Relobj **)(plocal_symbols + uVar25 * 0x10 + 4);" (assignment_expression "pRVar24 = *(Relobj **)(plocal_symbols + uVar25 * 0x10 + 4)" identifier = (pointer_expression "*(Relobj **)(plocal_symbols + uVar25 * 0x10 + 4)" * (cast_expression "(Relobj **)(plocal_symbols + uVar25 * 0x10 + 4)" ( (type_descriptor "Relobj **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(plocal_symbols + uVar25 * 0x10 + 4)" ( (binary_expression "plocal_symbols + uVar25 * 0x10 + 4" (binary_expression "plocal_symbols + uVar25 * 0x10" identifier + (binary_expression "uVar25 * 0x10" identifier * number_literal)) + number_literal) ))))) ;)) (expression_statement "local_c4 = (int)&local_bc->first + (int)pRVar24;" (assignment_expression "local_c4 = (int)&local_bc->first + (int)pRVar24" identifier = (binary_expression "(int)&local_bc->first + (int)pRVar24" (cast_expression "(int)&local_bc->first" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&local_bc->first" & (field_expression "local_bc->first" identifier -> field_identifier))) + (cast_expression "(int)pRVar24" ( (type_descriptor "int" primitive_type) ) identifier))) ;) (if_statement "if (local_d1 != '\0') {\n            src_id.first = (Relobj *)object;\n            src_id.second = (uint)local_b4;\n            *(Icf **)((int)ppGVar27 + -0xc) = (Icf *)&src_id;\n            *(mapped_type **)((int)ppGVar27 + -0x10) = local_c8;\n            local_b0 = (Icf *)&src_id;\n            *(undefined4 *)((int)ppGVar27 + -0x14) = 0xd2533;\n            std::\n            vector<std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>\n            ::emplace_back<std::pair<gold::Relobj*,_unsigned_int>_>\n                      (*(vector<std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>\n                         **)((int)ppGVar27 + -0x10),\n                       *(pair<gold::Relobj*,_unsigned_int> **)((int)ppGVar27 + -0xc));\n            local_c0 = (Output_segment *)CONCAT31(local_c0._1_3_,1);\n            if ((plocal_symbols[uVar25 * 0x10 + 0xc] & 0xf) != 3) goto LAB_000d23e8;\nLAB_000d254c:\n            *(Icf **)((int)ppGVar27 + -0xc) = local_b0;\n            *(Symbol_info **)((int)ppGVar27 + -0x10) = local_cc;\n            src_id.first = (Relobj *)0xffffffff;\n            *(undefined4 *)((int)ppGVar27 + -0x14) = 0xd2567;\n            std::vector<gold::Symbol*,_std::allocator<gold::Symbol*>_>::emplace_back<gold::Symbol*>\n                      (*(vector<gold::Symbol*,_std::allocator<gold::Symbol*>_> **)\n                        ((int)ppGVar27 + -0x10),*(Symbol ***)((int)ppGVar27 + -0xc));\n            goto LAB_000d2403;\n          }" if (parenthesized_expression "(local_d1 != '\0')" ( (binary_expression "local_d1 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n            src_id.first = (Relobj *)object;\n            src_id.second = (uint)local_b4;\n            *(Icf **)((int)ppGVar27 + -0xc) = (Icf *)&src_id;\n            *(mapped_type **)((int)ppGVar27 + -0x10) = local_c8;\n            local_b0 = (Icf *)&src_id;\n            *(undefined4 *)((int)ppGVar27 + -0x14) = 0xd2533;\n            std::\n            vector<std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>\n            ::emplace_back<std::pair<gold::Relobj*,_unsigned_int>_>\n                      (*(vector<std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>\n                         **)((int)ppGVar27 + -0x10),\n                       *(pair<gold::Relobj*,_unsigned_int> **)((int)ppGVar27 + -0xc));\n            local_c0 = (Output_segment *)CONCAT31(local_c0._1_3_,1);\n            if ((plocal_symbols[uVar25 * 0x10 + 0xc] & 0xf) != 3) goto LAB_000d23e8;\nLAB_000d254c:\n            *(Icf **)((int)ppGVar27 + -0xc) = local_b0;\n            *(Symbol_info **)((int)ppGVar27 + -0x10) = local_cc;\n            src_id.first = (Relobj *)0xffffffff;\n            *(undefined4 *)((int)ppGVar27 + -0x14) = 0xd2567;\n            std::vector<gold::Symbol*,_std::allocator<gold::Symbol*>_>::emplace_back<gold::Symbol*>\n                      (*(vector<gold::Symbol*,_std::allocator<gold::Symbol*>_> **)\n                        ((int)ppGVar27 + -0x10),*(Symbol ***)((int)ppGVar27 + -0xc));\n            goto LAB_000d2403;\n          }" { (expression_statement "src_id.first = (Relobj *)object;" (assignment_expression "src_id.first = (Relobj *)object" (field_expression "src_id.first" identifier . field_identifier) = (cast_expression "(Relobj *)object" ( (type_descriptor "Relobj *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "src_id.second = (uint)local_b4;" (assignment_expression "src_id.second = (uint)local_b4" (field_expression "src_id.second" identifier . field_identifier) = (cast_expression "(uint)local_b4" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (expression_statement "*(Icf **)((int)ppGVar27 + -0xc) = (Icf *)&src_id;" (assignment_expression "*(Icf **)((int)ppGVar27 + -0xc) = (Icf *)&src_id" (pointer_expression "*(Icf **)((int)ppGVar27 + -0xc)" * (cast_expression "(Icf **)((int)ppGVar27 + -0xc)" ( (type_descriptor "Icf **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)ppGVar27 + -0xc)" ( (binary_expression "(int)ppGVar27 + -0xc" (cast_expression "(int)ppGVar27" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (cast_expression "(Icf *)&src_id" ( (type_descriptor "Icf *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&src_id" & identifier))) ;) (expression_statement "*(mapped_type **)((int)ppGVar27 + -0x10) = local_c8;" (assignment_expression "*(mapped_type **)((int)ppGVar27 + -0x10) = local_c8" (pointer_expression "*(mapped_type **)((int)ppGVar27 + -0x10)" * (cast_expression "(mapped_type **)((int)ppGVar27 + -0x10)" ( (type_descriptor "mapped_type **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)ppGVar27 + -0x10)" ( (binary_expression "(int)ppGVar27 + -0x10" (cast_expression "(int)ppGVar27" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "local_b0 = (Icf *)&src_id;" (assignment_expression "local_b0 = (Icf *)&src_id" identifier = (cast_expression "(Icf *)&src_id" ( (type_descriptor "Icf *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&src_id" & identifier))) ;) (expression_statement "*(undefined4 *)((int)ppGVar27 + -0x14) = 0xd2533;" (assignment_expression "*(undefined4 *)((int)ppGVar27 + -0x14) = 0xd2533" (pointer_expression "*(undefined4 *)((int)ppGVar27 + -0x14)" * (cast_expression "(undefined4 *)((int)ppGVar27 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppGVar27 + -0x14)" ( (binary_expression "(int)ppGVar27 + -0x14" (cast_expression "(int)ppGVar27" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (ERROR "std::\n            vector<std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>\n            ::emplace_back<std::pair<gold::" (comma_expression "std::\n            vector<std::pair<gold::Relobj*,_unsigned_int>,_std" identifier (ERROR "::\n            vector<std::pair<gold::Relobj*,_unsigned_int>" : : (binary_expression "vector<std" identifier < identifier) : : (binary_expression "pair<gold" identifier < identifier) : : identifier * , identifier >) , identifier) : : (binary_expression "allocator<std" identifier < identifier) : : (binary_expression "pair<gold" identifier < identifier) : : (binary_expression "Relobj*,_unsigned_int>_>_>\n            ::emplace_back<std" (binary_expression "Relobj*,_unsigned_int>_>_>\n            ::emplace_back" (binary_expression "Relobj*,_unsigned_int>_>_" (binary_expression "Relobj*,_unsigned_int>_" (binary_expression "Relobj*,_unsigned_int" identifier * (ERROR "," ,) identifier) > identifier) > identifier) > (ERROR "::" : :) identifier) < identifier) : : (binary_expression "pair<gold" identifier < identifier) : :) (expression_statement "Relobj*,_unsigned_int>_>\n                      (*(vector<std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>\n                         **)((int)ppGVar27 + -0x10),\n                       *(pair<gold::Relobj*,_unsigned_int> **)((int)ppGVar27 + -0xc));" (binary_expression "Relobj*,_unsigned_int>_>\n                      (*(vector<std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>\n                         **)((int)ppGVar27 + -0x10),\n                       *(pair<gold::Relobj*,_unsigned_int> **)((int)ppGVar27 + -0xc))" (binary_expression "Relobj*,_unsigned_int>_" (binary_expression "Relobj*,_unsigned_int" identifier * (ERROR "," ,) identifier) > identifier) > (parenthesized_expression "(*(vector<std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>\n                         **)((int)ppGVar27 + -0x10),\n                       *(pair<gold::Relobj*,_unsigned_int> **)((int)ppGVar27 + -0xc))" ( (comma_expression "*(vector<std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>\n                         **)((int)ppGVar27 + -0x10),\n                       *(pair<gold::Relobj*,_unsigned_int> **)((int)ppGVar27 + -0xc)" (pointer_expression "*(vector<std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>\n                         **)((int)ppGVar27 + -0x10)" * (call_expression "(vector<std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>\n                         **)((int)ppGVar27 + -0x10)" (parenthesized_expression "(vector<std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>\n                         **)" ( (binary_expression "vector<std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>\n                         **" (binary_expression "vector<std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_" (binary_expression "vector<std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_" (binary_expression "vector<std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int" (binary_expression "vector<std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold" (binary_expression "vector<std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std" (binary_expression "vector<std::pair<gold::Relobj*,_unsigned_int>,_std" (binary_expression "vector<std::pair<gold::Relobj*,_unsigned_int" (binary_expression "vector<std::pair<gold" (binary_expression "vector<std" identifier < identifier) (ERROR "::pair" : : identifier) < identifier) (ERROR "::Relobj" : : identifier) * (ERROR "," ,) identifier) > (ERROR "," ,) identifier) (ERROR "::allocator" : : identifier) < identifier) (ERROR "::pair" : : identifier) < identifier) (ERROR "::Relobj" : : identifier) * (ERROR "," ,) identifier) > identifier) > identifier) > (pointer_expression "**" * (pointer_expression "*" * identifier))) )) (argument_list "((int)ppGVar27 + -0x10)" ( (binary_expression "(int)ppGVar27 + -0x10" (cast_expression "(int)ppGVar27" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (pointer_expression "*(pair<gold::Relobj*,_unsigned_int> **)((int)ppGVar27 + -0xc)" * (call_expression "(pair<gold::Relobj*,_unsigned_int> **)((int)ppGVar27 + -0xc)" (parenthesized_expression "(pair<gold::Relobj*,_unsigned_int> **)" ( (binary_expression "pair<gold::Relobj*,_unsigned_int> **" (binary_expression "pair<gold::Relobj*,_unsigned_int" (binary_expression "pair<gold" identifier < identifier) (ERROR "::Relobj" : : identifier) * (ERROR "," ,) identifier) > (pointer_expression "**" * (pointer_expression "*" * identifier))) )) (argument_list "((int)ppGVar27 + -0xc)" ( (binary_expression "(int)ppGVar27 + -0xc" (cast_expression "(int)ppGVar27" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ))) ;) (expression_statement "local_c0 = (Output_segment *)CONCAT31(local_c0._1_3_,1);" (assignment_expression "local_c0 = (Output_segment *)CONCAT31(local_c0._1_3_,1)" identifier = (cast_expression "(Output_segment *)CONCAT31(local_c0._1_3_,1)" ( (type_descriptor "Output_segment *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "CONCAT31(local_c0._1_3_,1)" identifier (argument_list "(local_c0._1_3_,1)" ( (field_expression "local_c0._1_3_" identifier . field_identifier) , number_literal ))))) ;) (if_statement "if ((plocal_symbols[uVar25 * 0x10 + 0xc] & 0xf) != 3) goto LAB_000d23e8;" if (parenthesized_expression "((plocal_symbols[uVar25 * 0x10 + 0xc] & 0xf) != 3)" ( (binary_expression "(plocal_symbols[uVar25 * 0x10 + 0xc] & 0xf) != 3" (parenthesized_expression "(plocal_symbols[uVar25 * 0x10 + 0xc] & 0xf)" ( (binary_expression "plocal_symbols[uVar25 * 0x10 + 0xc] & 0xf" (subscript_expression "plocal_symbols[uVar25 * 0x10 + 0xc]" identifier [ (binary_expression "uVar25 * 0x10 + 0xc" (binary_expression "uVar25 * 0x10" identifier * number_literal) + number_literal) ]) & number_literal) )) != number_literal) )) (goto_statement "goto LAB_000d23e8;" goto statement_identifier ;)) (labeled_statement "LAB_000d254c:\n            *(Icf **)((int)ppGVar27 + -0xc) = local_b0;" statement_identifier : (expression_statement "*(Icf **)((int)ppGVar27 + -0xc) = local_b0;" (assignment_expression "*(Icf **)((int)ppGVar27 + -0xc) = local_b0" (pointer_expression "*(Icf **)((int)ppGVar27 + -0xc)" * (cast_expression "(Icf **)((int)ppGVar27 + -0xc)" ( (type_descriptor "Icf **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)ppGVar27 + -0xc)" ( (binary_expression "(int)ppGVar27 + -0xc" (cast_expression "(int)ppGVar27" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;)) (expression_statement "*(Symbol_info **)((int)ppGVar27 + -0x10) = local_cc;" (assignment_expression "*(Symbol_info **)((int)ppGVar27 + -0x10) = local_cc" (pointer_expression "*(Symbol_info **)((int)ppGVar27 + -0x10)" * (cast_expression "(Symbol_info **)((int)ppGVar27 + -0x10)" ( (type_descriptor "Symbol_info **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)ppGVar27 + -0x10)" ( (binary_expression "(int)ppGVar27 + -0x10" (cast_expression "(int)ppGVar27" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "src_id.first = (Relobj *)0xffffffff;" (assignment_expression "src_id.first = (Relobj *)0xffffffff" (field_expression "src_id.first" identifier . field_identifier) = (cast_expression "(Relobj *)0xffffffff" ( (type_descriptor "Relobj *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "*(undefined4 *)((int)ppGVar27 + -0x14) = 0xd2567;" (assignment_expression "*(undefined4 *)((int)ppGVar27 + -0x14) = 0xd2567" (pointer_expression "*(undefined4 *)((int)ppGVar27 + -0x14)" * (cast_expression "(undefined4 *)((int)ppGVar27 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppGVar27 + -0x14)" ( (binary_expression "(int)ppGVar27 + -0x14" (cast_expression "(int)ppGVar27" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (ERROR "std::vector<gold::Symbol*,_std::allocator<gold::Symbol*>_>::emplace_back<gold::" (comma_expression "std::vector<gold::Symbol*,_std" identifier (ERROR "::vector<gold::Symbol*" : : (binary_expression "vector<gold" identifier < identifier) : : identifier *) , identifier) : : (binary_expression "allocator<gold" identifier < identifier) : : (binary_expression "Symbol*>_>::emplace_back<gold" (binary_expression "Symbol*>_>::emplace_back" (binary_expression "Symbol*>_" identifier * (ERROR ">" >) identifier) > (ERROR "::" : :) identifier) < identifier) : :) (expression_statement "Symbol*>\n                      (*(vector<gold::Symbol*,_std::allocator<gold::Symbol*>_> **)\n                        ((int)ppGVar27 + -0x10),*(Symbol ***)((int)ppGVar27 + -0xc));" (binary_expression "Symbol*>\n                      (*(vector<gold::Symbol*,_std::allocator<gold::Symbol*>_> **)\n                        ((int)ppGVar27 + -0x10),*(Symbol ***)((int)ppGVar27 + -0xc))" identifier * (ERROR ">" >) (parenthesized_expression "(*(vector<gold::Symbol*,_std::allocator<gold::Symbol*>_> **)\n                        ((int)ppGVar27 + -0x10),*(Symbol ***)((int)ppGVar27 + -0xc))" ( (comma_expression "*(vector<gold::Symbol*,_std::allocator<gold::Symbol*>_> **)\n                        ((int)ppGVar27 + -0x10),*(Symbol ***)((int)ppGVar27 + -0xc)" (pointer_expression "*(vector<gold::Symbol*,_std::allocator<gold::Symbol*>_> **)\n                        ((int)ppGVar27 + -0x10)" * (call_expression "(vector<gold::Symbol*,_std::allocator<gold::Symbol*>_> **)\n                        ((int)ppGVar27 + -0x10)" (parenthesized_expression "(vector<gold::Symbol*,_std::allocator<gold::Symbol*>_> **)" ( (binary_expression "vector<gold::Symbol*,_std::allocator<gold::Symbol*>_> **" (binary_expression "vector<gold::Symbol*,_std::allocator<gold::Symbol*>_" (binary_expression "vector<gold::Symbol*,_std::allocator<gold" (binary_expression "vector<gold::Symbol*,_std" (binary_expression "vector<gold" identifier < identifier) (ERROR "::Symbol" : : identifier) * (ERROR "," ,) identifier) (ERROR "::allocator" : : identifier) < identifier) (ERROR "::Symbol" : : identifier) * (ERROR ">" >) identifier) > (pointer_expression "**" * (pointer_expression "*" * identifier))) )) (argument_list "((int)ppGVar27 + -0x10)" ( (binary_expression "(int)ppGVar27 + -0x10" (cast_expression "(int)ppGVar27" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (pointer_expression "*(Symbol ***)((int)ppGVar27 + -0xc)" * (cast_expression "(Symbol ***)((int)ppGVar27 + -0xc)" ( (type_descriptor "Symbol ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "((int)ppGVar27 + -0xc)" ( (binary_expression "(int)ppGVar27 + -0xc" (cast_expression "(int)ppGVar27" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ))) ;) (goto_statement "goto LAB_000d2403;" goto statement_identifier ;) })) }) (else_clause "else {\n          if (local_b4 == (Relobj *)0xffff) {\n            pXVar16 = (object->super_Sized_relobj<32,_false>).super_Relobj.super_Object.xindex_;\n            if (pXVar16 == (Xindex *)0x0) {\n              pp_Var17 = (object->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                         _vptr_Object;\n              *(Sized_relobj_file<32,_false> **)((int)ppGVar27 + -0x10) = object;\n              p_Var4 = pp_Var17[0x1b];\n              *(undefined4 *)((int)ppGVar27 + -0x14) = 0xd2a4e;\n              pXVar16 = (Xindex *)(*p_Var4)();\n              (object->super_Sized_relobj<32,_false>).super_Relobj.super_Object.xindex_ = pXVar16;\n            }\n            *(uint *)((int)ppGVar27 + -8) = uVar25;\n            *(Sized_relobj_file<32,_false> **)((int)ppGVar27 + -0xc) = object;\n            *(Xindex **)((int)ppGVar27 + -0x10) = pXVar16;\n            *(undefined4 *)((int)ppGVar27 + -0x14) = 0xd2591;\n            local_b4 = (Relobj *)\n                       gold::Xindex::sym_xindex_to_shndx\n                                 (*(Xindex **)((int)ppGVar27 + -0x10),\n                                  *(Object **)((int)ppGVar27 + -0xc),*(uint *)((int)ppGVar27 + -8));\n            goto LAB_000d24ee;\n          }\n          pRVar24 = *(Relobj **)(plocal_symbols + uVar25 * 0x10 + 4);\n          local_c4 = (int)&(*(pointer *)(prelocs + 8))->first + (int)pRVar24;\n          if (local_d1 == '\0') goto LAB_000d2489;\n          src_id.first = (Relobj *)0x0;\n          *(Icf **)((int)ppGVar27 + -0xc) = (Icf *)&src_id;\n          *(mapped_type **)((int)ppGVar27 + -0x10) = local_c8;\n          src_id.second = 0;\n          local_b0 = (Icf *)&src_id;\n                    /* try { // try from 000d23ca to 000d2bf5 has its CatchHandler @ 000d302c */\n          *(undefined4 *)((int)ppGVar27 + -0x14) = 0xd23cf;\n          std::\n          vector<std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>\n          ::emplace_back<std::pair<gold::Relobj*,_unsigned_int>_>\n                    (*(vector<std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>\n                       **)((int)ppGVar27 + -0x10),\n                     *(pair<gold::Relobj*,_unsigned_int> **)((int)ppGVar27 + -0xc));\n          local_c0 = (Output_segment *)((uint)local_c0 & 0xffffff00);\n          if ((plocal_symbols[uVar25 * 0x10 + 0xc] & 0xf) == 3) goto LAB_000d254c;\nLAB_000d23e8:\n          *(Icf **)((int)ppGVar27 + -0xc) = local_b0;\n          *(Symbol_info **)((int)ppGVar27 + -0x10) = local_cc;\n          src_id.first = (Relobj *)0x0;\n          *(undefined4 *)((int)ppGVar27 + -0x14) = 0xd2403;\n          std::vector<gold::Symbol*,_std::allocator<gold::Symbol*>_>::emplace_back<gold::Symbol*>\n                    (*(vector<gold::Symbol*,_std::allocator<gold::Symbol*>_> **)\n                      ((int)ppGVar27 + -0x10),*(Symbol ***)((int)ppGVar27 + -0xc));\nLAB_000d2403:\n          src_id.first = pRVar24;\n          *(Icf **)((int)ppGVar27 + -0xc) = local_b0;\n          *(Addend_info **)((int)ppGVar27 + -0x10) = local_e8;\n          local_2c = local_bc;\n          src_id.second = 0;\n          local_28._M_p = (pointer)((int)local_bc >> 0x1f);\n          *(undefined4 *)((int)ppGVar27 + -0x14) = 0xd2433;\n          std::\n          vector<std::pair<long_long_int,_long_long_int>,_std::allocator<std::pair<long_long_int,_long_long_int>_>_>\n          ::emplace_back<std::pair<long_long_int,_long_long_int>_>\n                    (*(vector<std::pair<long_long_int,_long_long_int>,_std::allocator<std::pair<long_long_int,_long_long_int>_>_>\n                       **)((int)ppGVar27 + -0x10),\n                     *(pair<long_long_int,_long_long_int> **)((int)ppGVar27 + -0xc));\n          src_id.second = 0;\n          puVar5 = (local_d0->\n                   super__Vector_base<long_long_unsigned_int,_std::allocator<long_long_unsigned_int>_>\n                   )._M_impl._M_finish;\n          src_id.first = *(Relobj **)prelocs;\n          if (puVar5 == (local_d0->\n                        super__Vector_base<long_long_unsigned_int,_std::allocator<long_long_unsigned_int>_>\n                        )._M_impl._M_end_of_storage) {\n            *(Icf **)((int)ppGVar27 + -8) = local_b0;\n            *(pointer *)((int)ppGVar27 + -0xc) = puVar5;\n            *(Offset_info **)((int)ppGVar27 + -0x10) = local_d0;\n            *(undefined4 *)((int)ppGVar27 + -0x14) = 0xd2b0d;\n            std::vector<long_long_unsigned_int,_std::allocator<long_long_unsigned_int>_>::\n            _M_realloc_insert<long_long_unsigned_int_const&>\n                      (*(vector<long_long_unsigned_int,_std::allocator<long_long_unsigned_int>_> **)\n                        ((int)ppGVar27 + -0x10),(iterator)*(ulonglong **)((int)ppGVar27 + -0xc),\n                       *(ulonglong **)((int)ppGVar27 + -8));\n          }\n          else {\n            *(Relobj **)puVar5 = *(Relobj **)prelocs;\n            *(undefined4 *)((int)puVar5 + 4) = 0;\n            (local_d0->\n            super__Vector_base<long_long_unsigned_int,_std::allocator<long_long_unsigned_int>_>).\n            _M_impl._M_finish = puVar5 + 1;\n          }\n          dst_id.first = (Relobj *)0x0;\n          *(Section_id **)((int)ppGVar27 + -0xc) = &dst_id;\n          *(Reloc_addend_size_info **)((int)ppGVar27 + -0x10) = local_ec;\n          *(undefined4 *)((int)ppGVar27 + -0x14) = 0xd2479;\n          std::vector<unsigned_int,_std::allocator<unsigned_int>_>::emplace_back<unsigned_int>\n                    (*(vector<unsigned_int,_std::allocator<unsigned_int>_> **)\n                      ((int)ppGVar27 + -0x10),*(uint **)((int)ppGVar27 + -0xc));\n          if ((char)local_c0 == '\0') goto LAB_000d2489;\n        }" else (compound_statement "{\n          if (local_b4 == (Relobj *)0xffff) {\n            pXVar16 = (object->super_Sized_relobj<32,_false>).super_Relobj.super_Object.xindex_;\n            if (pXVar16 == (Xindex *)0x0) {\n              pp_Var17 = (object->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                         _vptr_Object;\n              *(Sized_relobj_file<32,_false> **)((int)ppGVar27 + -0x10) = object;\n              p_Var4 = pp_Var17[0x1b];\n              *(undefined4 *)((int)ppGVar27 + -0x14) = 0xd2a4e;\n              pXVar16 = (Xindex *)(*p_Var4)();\n              (object->super_Sized_relobj<32,_false>).super_Relobj.super_Object.xindex_ = pXVar16;\n            }\n            *(uint *)((int)ppGVar27 + -8) = uVar25;\n            *(Sized_relobj_file<32,_false> **)((int)ppGVar27 + -0xc) = object;\n            *(Xindex **)((int)ppGVar27 + -0x10) = pXVar16;\n            *(undefined4 *)((int)ppGVar27 + -0x14) = 0xd2591;\n            local_b4 = (Relobj *)\n                       gold::Xindex::sym_xindex_to_shndx\n                                 (*(Xindex **)((int)ppGVar27 + -0x10),\n                                  *(Object **)((int)ppGVar27 + -0xc),*(uint *)((int)ppGVar27 + -8));\n            goto LAB_000d24ee;\n          }\n          pRVar24 = *(Relobj **)(plocal_symbols + uVar25 * 0x10 + 4);\n          local_c4 = (int)&(*(pointer *)(prelocs + 8))->first + (int)pRVar24;\n          if (local_d1 == '\0') goto LAB_000d2489;\n          src_id.first = (Relobj *)0x0;\n          *(Icf **)((int)ppGVar27 + -0xc) = (Icf *)&src_id;\n          *(mapped_type **)((int)ppGVar27 + -0x10) = local_c8;\n          src_id.second = 0;\n          local_b0 = (Icf *)&src_id;\n                    /* try { // try from 000d23ca to 000d2bf5 has its CatchHandler @ 000d302c */\n          *(undefined4 *)((int)ppGVar27 + -0x14) = 0xd23cf;\n          std::\n          vector<std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>\n          ::emplace_back<std::pair<gold::Relobj*,_unsigned_int>_>\n                    (*(vector<std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>\n                       **)((int)ppGVar27 + -0x10),\n                     *(pair<gold::Relobj*,_unsigned_int> **)((int)ppGVar27 + -0xc));\n          local_c0 = (Output_segment *)((uint)local_c0 & 0xffffff00);\n          if ((plocal_symbols[uVar25 * 0x10 + 0xc] & 0xf) == 3) goto LAB_000d254c;\nLAB_000d23e8:\n          *(Icf **)((int)ppGVar27 + -0xc) = local_b0;\n          *(Symbol_info **)((int)ppGVar27 + -0x10) = local_cc;\n          src_id.first = (Relobj *)0x0;\n          *(undefined4 *)((int)ppGVar27 + -0x14) = 0xd2403;\n          std::vector<gold::Symbol*,_std::allocator<gold::Symbol*>_>::emplace_back<gold::Symbol*>\n                    (*(vector<gold::Symbol*,_std::allocator<gold::Symbol*>_> **)\n                      ((int)ppGVar27 + -0x10),*(Symbol ***)((int)ppGVar27 + -0xc));\nLAB_000d2403:\n          src_id.first = pRVar24;\n          *(Icf **)((int)ppGVar27 + -0xc) = local_b0;\n          *(Addend_info **)((int)ppGVar27 + -0x10) = local_e8;\n          local_2c = local_bc;\n          src_id.second = 0;\n          local_28._M_p = (pointer)((int)local_bc >> 0x1f);\n          *(undefined4 *)((int)ppGVar27 + -0x14) = 0xd2433;\n          std::\n          vector<std::pair<long_long_int,_long_long_int>,_std::allocator<std::pair<long_long_int,_long_long_int>_>_>\n          ::emplace_back<std::pair<long_long_int,_long_long_int>_>\n                    (*(vector<std::pair<long_long_int,_long_long_int>,_std::allocator<std::pair<long_long_int,_long_long_int>_>_>\n                       **)((int)ppGVar27 + -0x10),\n                     *(pair<long_long_int,_long_long_int> **)((int)ppGVar27 + -0xc));\n          src_id.second = 0;\n          puVar5 = (local_d0->\n                   super__Vector_base<long_long_unsigned_int,_std::allocator<long_long_unsigned_int>_>\n                   )._M_impl._M_finish;\n          src_id.first = *(Relobj **)prelocs;\n          if (puVar5 == (local_d0->\n                        super__Vector_base<long_long_unsigned_int,_std::allocator<long_long_unsigned_int>_>\n                        )._M_impl._M_end_of_storage) {\n            *(Icf **)((int)ppGVar27 + -8) = local_b0;\n            *(pointer *)((int)ppGVar27 + -0xc) = puVar5;\n            *(Offset_info **)((int)ppGVar27 + -0x10) = local_d0;\n            *(undefined4 *)((int)ppGVar27 + -0x14) = 0xd2b0d;\n            std::vector<long_long_unsigned_int,_std::allocator<long_long_unsigned_int>_>::\n            _M_realloc_insert<long_long_unsigned_int_const&>\n                      (*(vector<long_long_unsigned_int,_std::allocator<long_long_unsigned_int>_> **)\n                        ((int)ppGVar27 + -0x10),(iterator)*(ulonglong **)((int)ppGVar27 + -0xc),\n                       *(ulonglong **)((int)ppGVar27 + -8));\n          }\n          else {\n            *(Relobj **)puVar5 = *(Relobj **)prelocs;\n            *(undefined4 *)((int)puVar5 + 4) = 0;\n            (local_d0->\n            super__Vector_base<long_long_unsigned_int,_std::allocator<long_long_unsigned_int>_>).\n            _M_impl._M_finish = puVar5 + 1;\n          }\n          dst_id.first = (Relobj *)0x0;\n          *(Section_id **)((int)ppGVar27 + -0xc) = &dst_id;\n          *(Reloc_addend_size_info **)((int)ppGVar27 + -0x10) = local_ec;\n          *(undefined4 *)((int)ppGVar27 + -0x14) = 0xd2479;\n          std::vector<unsigned_int,_std::allocator<unsigned_int>_>::emplace_back<unsigned_int>\n                    (*(vector<unsigned_int,_std::allocator<unsigned_int>_> **)\n                      ((int)ppGVar27 + -0x10),*(uint **)((int)ppGVar27 + -0xc));\n          if ((char)local_c0 == '\0') goto LAB_000d2489;\n        }" { (if_statement "if (local_b4 == (Relobj *)0xffff) {\n            pXVar16 = (object->super_Sized_relobj<32,_false>).super_Relobj.super_Object.xindex_;\n            if (pXVar16 == (Xindex *)0x0) {\n              pp_Var17 = (object->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                         _vptr_Object;\n              *(Sized_relobj_file<32,_false> **)((int)ppGVar27 + -0x10) = object;\n              p_Var4 = pp_Var17[0x1b];\n              *(undefined4 *)((int)ppGVar27 + -0x14) = 0xd2a4e;\n              pXVar16 = (Xindex *)(*p_Var4)();\n              (object->super_Sized_relobj<32,_false>).super_Relobj.super_Object.xindex_ = pXVar16;\n            }\n            *(uint *)((int)ppGVar27 + -8) = uVar25;\n            *(Sized_relobj_file<32,_false> **)((int)ppGVar27 + -0xc) = object;\n            *(Xindex **)((int)ppGVar27 + -0x10) = pXVar16;\n            *(undefined4 *)((int)ppGVar27 + -0x14) = 0xd2591;\n            local_b4 = (Relobj *)\n                       gold::Xindex::sym_xindex_to_shndx\n                                 (*(Xindex **)((int)ppGVar27 + -0x10),\n                                  *(Object **)((int)ppGVar27 + -0xc),*(uint *)((int)ppGVar27 + -8));\n            goto LAB_000d24ee;\n          }" if (parenthesized_expression "(local_b4 == (Relobj *)0xffff)" ( (binary_expression "local_b4 == (Relobj *)0xffff" identifier == (cast_expression "(Relobj *)0xffff" ( (type_descriptor "Relobj *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n            pXVar16 = (object->super_Sized_relobj<32,_false>).super_Relobj.super_Object.xindex_;\n            if (pXVar16 == (Xindex *)0x0) {\n              pp_Var17 = (object->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                         _vptr_Object;\n              *(Sized_relobj_file<32,_false> **)((int)ppGVar27 + -0x10) = object;\n              p_Var4 = pp_Var17[0x1b];\n              *(undefined4 *)((int)ppGVar27 + -0x14) = 0xd2a4e;\n              pXVar16 = (Xindex *)(*p_Var4)();\n              (object->super_Sized_relobj<32,_false>).super_Relobj.super_Object.xindex_ = pXVar16;\n            }\n            *(uint *)((int)ppGVar27 + -8) = uVar25;\n            *(Sized_relobj_file<32,_false> **)((int)ppGVar27 + -0xc) = object;\n            *(Xindex **)((int)ppGVar27 + -0x10) = pXVar16;\n            *(undefined4 *)((int)ppGVar27 + -0x14) = 0xd2591;\n            local_b4 = (Relobj *)\n                       gold::Xindex::sym_xindex_to_shndx\n                                 (*(Xindex **)((int)ppGVar27 + -0x10),\n                                  *(Object **)((int)ppGVar27 + -0xc),*(uint *)((int)ppGVar27 + -8));\n            goto LAB_000d24ee;\n          }" { (expression_statement "pXVar16 = (object->super_Sized_relobj<32,_false>).super_Relobj.super_Object.xindex_;" (assignment_expression "pXVar16 = (object->super_Sized_relobj<32,_false>).super_Relobj.super_Object.xindex_" identifier = (field_expression "(object->super_Sized_relobj<32,_false>).super_Relobj.super_Object.xindex_" (field_expression "(object->super_Sized_relobj<32,_false>).super_Relobj.super_Object" (field_expression "(object->super_Sized_relobj<32,_false>).super_Relobj" (parenthesized_expression "(object->super_Sized_relobj<32,_false>)" ( (comma_expression "object->super_Sized_relobj<32,_false" (binary_expression "object->super_Sized_relobj<32" (field_expression "object->super_Sized_relobj" identifier -> field_identifier) < number_literal) , identifier) (ERROR ">" >) )) . field_identifier) . field_identifier) . field_identifier)) ;) (if_statement "if (pXVar16 == (Xindex *)0x0) {\n              pp_Var17 = (object->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                         _vptr_Object;\n              *(Sized_relobj_file<32,_false> **)((int)ppGVar27 + -0x10) = object;\n              p_Var4 = pp_Var17[0x1b];\n              *(undefined4 *)((int)ppGVar27 + -0x14) = 0xd2a4e;\n              pXVar16 = (Xindex *)(*p_Var4)();\n              (object->super_Sized_relobj<32,_false>).super_Relobj.super_Object.xindex_ = pXVar16;\n            }" if (parenthesized_expression "(pXVar16 == (Xindex *)0x0)" ( (binary_expression "pXVar16 == (Xindex *)0x0" identifier == (cast_expression "(Xindex *)0x0" ( (type_descriptor "Xindex *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n              pp_Var17 = (object->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                         _vptr_Object;\n              *(Sized_relobj_file<32,_false> **)((int)ppGVar27 + -0x10) = object;\n              p_Var4 = pp_Var17[0x1b];\n              *(undefined4 *)((int)ppGVar27 + -0x14) = 0xd2a4e;\n              pXVar16 = (Xindex *)(*p_Var4)();\n              (object->super_Sized_relobj<32,_false>).super_Relobj.super_Object.xindex_ = pXVar16;\n            }" { (expression_statement "pp_Var17 = (object->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                         _vptr_Object;" (assignment_expression "pp_Var17 = (object->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                         _vptr_Object" identifier = (field_expression "(object->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                         _vptr_Object" (field_expression "(object->super_Sized_relobj<32,_false>).super_Relobj.super_Object" (field_expression "(object->super_Sized_relobj<32,_false>).super_Relobj" (parenthesized_expression "(object->super_Sized_relobj<32,_false>)" ( (comma_expression "object->super_Sized_relobj<32,_false" (binary_expression "object->super_Sized_relobj<32" (field_expression "object->super_Sized_relobj" identifier -> field_identifier) < number_literal) , identifier) (ERROR ">" >) )) . field_identifier) . field_identifier) . field_identifier)) ;) (expression_statement "*(Sized_relobj_file<32,_false> **)((int)ppGVar27 + -0x10) = object;" (assignment_expression "*(Sized_relobj_file<32,_false> **)((int)ppGVar27 + -0x10) = object" (pointer_expression "*(Sized_relobj_file<32,_false> **)((int)ppGVar27 + -0x10)" * (call_expression "(Sized_relobj_file<32,_false> **)((int)ppGVar27 + -0x10)" (parenthesized_expression "(Sized_relobj_file<32,_false> **)" ( (comma_expression "Sized_relobj_file<32,_false> **" (binary_expression "Sized_relobj_file<32" identifier < number_literal) , (binary_expression "_false> **" identifier > (pointer_expression "**" * (pointer_expression "*" * identifier)))) )) (argument_list "((int)ppGVar27 + -0x10)" ( (binary_expression "(int)ppGVar27 + -0x10" (cast_expression "(int)ppGVar27" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "p_Var4 = pp_Var17[0x1b];" (assignment_expression "p_Var4 = pp_Var17[0x1b]" identifier = (subscript_expression "pp_Var17[0x1b]" identifier [ number_literal ])) ;) (expression_statement "*(undefined4 *)((int)ppGVar27 + -0x14) = 0xd2a4e;" (assignment_expression "*(undefined4 *)((int)ppGVar27 + -0x14) = 0xd2a4e" (pointer_expression "*(undefined4 *)((int)ppGVar27 + -0x14)" * (cast_expression "(undefined4 *)((int)ppGVar27 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppGVar27 + -0x14)" ( (binary_expression "(int)ppGVar27 + -0x14" (cast_expression "(int)ppGVar27" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "pXVar16 = (Xindex *)(*p_Var4)();" (assignment_expression "pXVar16 = (Xindex *)(*p_Var4)()" identifier = (cast_expression "(Xindex *)(*p_Var4)()" ( (type_descriptor "Xindex *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*p_Var4)()" (parenthesized_expression "(*p_Var4)" ( (pointer_expression "*p_Var4" * identifier) )) (argument_list "()" ( ))))) ;) (expression_statement "(object->super_Sized_relobj<32,_false>).super_Relobj.super_Object.xindex_ = pXVar16;" (assignment_expression "(object->super_Sized_relobj<32,_false>).super_Relobj.super_Object.xindex_ = pXVar16" (field_expression "(object->super_Sized_relobj<32,_false>).super_Relobj.super_Object.xindex_" (field_expression "(object->super_Sized_relobj<32,_false>).super_Relobj.super_Object" (field_expression "(object->super_Sized_relobj<32,_false>).super_Relobj" (parenthesized_expression "(object->super_Sized_relobj<32,_false>)" ( (comma_expression "object->super_Sized_relobj<32,_false" (binary_expression "object->super_Sized_relobj<32" (field_expression "object->super_Sized_relobj" identifier -> field_identifier) < number_literal) , identifier) (ERROR ">" >) )) . field_identifier) . field_identifier) . field_identifier) = identifier) ;) })) (expression_statement "*(uint *)((int)ppGVar27 + -8) = uVar25;" (assignment_expression "*(uint *)((int)ppGVar27 + -8) = uVar25" (pointer_expression "*(uint *)((int)ppGVar27 + -8)" * (cast_expression "(uint *)((int)ppGVar27 + -8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppGVar27 + -8)" ( (binary_expression "(int)ppGVar27 + -8" (cast_expression "(int)ppGVar27" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(Sized_relobj_file<32,_false> **)((int)ppGVar27 + -0xc) = object;" (assignment_expression "*(Sized_relobj_file<32,_false> **)((int)ppGVar27 + -0xc) = object" (pointer_expression "*(Sized_relobj_file<32,_false> **)((int)ppGVar27 + -0xc)" * (call_expression "(Sized_relobj_file<32,_false> **)((int)ppGVar27 + -0xc)" (parenthesized_expression "(Sized_relobj_file<32,_false> **)" ( (comma_expression "Sized_relobj_file<32,_false> **" (binary_expression "Sized_relobj_file<32" identifier < number_literal) , (binary_expression "_false> **" identifier > (pointer_expression "**" * (pointer_expression "*" * identifier)))) )) (argument_list "((int)ppGVar27 + -0xc)" ( (binary_expression "(int)ppGVar27 + -0xc" (cast_expression "(int)ppGVar27" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(Xindex **)((int)ppGVar27 + -0x10) = pXVar16;" (assignment_expression "*(Xindex **)((int)ppGVar27 + -0x10) = pXVar16" (pointer_expression "*(Xindex **)((int)ppGVar27 + -0x10)" * (cast_expression "(Xindex **)((int)ppGVar27 + -0x10)" ( (type_descriptor "Xindex **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)ppGVar27 + -0x10)" ( (binary_expression "(int)ppGVar27 + -0x10" (cast_expression "(int)ppGVar27" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)ppGVar27 + -0x14) = 0xd2591;" (assignment_expression "*(undefined4 *)((int)ppGVar27 + -0x14) = 0xd2591" (pointer_expression "*(undefined4 *)((int)ppGVar27 + -0x14)" * (cast_expression "(undefined4 *)((int)ppGVar27 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppGVar27 + -0x14)" ( (binary_expression "(int)ppGVar27 + -0x14" (cast_expression "(int)ppGVar27" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (ERROR "local_b4 = (Relobj *)\n                       gold::" (assignment_expression "local_b4 = (Relobj *)\n                       gold" identifier = (cast_expression "(Relobj *)\n                       gold" ( (type_descriptor "Relobj *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) : :) (labeled_statement "Xindex::sym_xindex_to_shndx\n                                 (*(Xindex **)((int)ppGVar27 + -0x10),\n                                  *(Object **)((int)ppGVar27 + -0xc),*(uint *)((int)ppGVar27 + -8));" statement_identifier : (ERROR ":" :) (expression_statement "sym_xindex_to_shndx\n                                 (*(Xindex **)((int)ppGVar27 + -0x10),\n                                  *(Object **)((int)ppGVar27 + -0xc),*(uint *)((int)ppGVar27 + -8));" (call_expression "sym_xindex_to_shndx\n                                 (*(Xindex **)((int)ppGVar27 + -0x10),\n                                  *(Object **)((int)ppGVar27 + -0xc),*(uint *)((int)ppGVar27 + -8))" identifier (argument_list "(*(Xindex **)((int)ppGVar27 + -0x10),\n                                  *(Object **)((int)ppGVar27 + -0xc),*(uint *)((int)ppGVar27 + -8))" ( (pointer_expression "*(Xindex **)((int)ppGVar27 + -0x10)" * (cast_expression "(Xindex **)((int)ppGVar27 + -0x10)" ( (type_descriptor "Xindex **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)ppGVar27 + -0x10)" ( (binary_expression "(int)ppGVar27 + -0x10" (cast_expression "(int)ppGVar27" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (pointer_expression "*(Object **)((int)ppGVar27 + -0xc)" * (cast_expression "(Object **)((int)ppGVar27 + -0xc)" ( (type_descriptor "Object **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)ppGVar27 + -0xc)" ( (binary_expression "(int)ppGVar27 + -0xc" (cast_expression "(int)ppGVar27" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (pointer_expression "*(uint *)((int)ppGVar27 + -8)" * (cast_expression "(uint *)((int)ppGVar27 + -8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppGVar27 + -8)" ( (binary_expression "(int)ppGVar27 + -8" (cast_expression "(int)ppGVar27" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ))) ;)) (goto_statement "goto LAB_000d24ee;" goto statement_identifier ;) })) (expression_statement "pRVar24 = *(Relobj **)(plocal_symbols + uVar25 * 0x10 + 4);" (assignment_expression "pRVar24 = *(Relobj **)(plocal_symbols + uVar25 * 0x10 + 4)" identifier = (pointer_expression "*(Relobj **)(plocal_symbols + uVar25 * 0x10 + 4)" * (cast_expression "(Relobj **)(plocal_symbols + uVar25 * 0x10 + 4)" ( (type_descriptor "Relobj **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(plocal_symbols + uVar25 * 0x10 + 4)" ( (binary_expression "plocal_symbols + uVar25 * 0x10 + 4" (binary_expression "plocal_symbols + uVar25 * 0x10" identifier + (binary_expression "uVar25 * 0x10" identifier * number_literal)) + number_literal) ))))) ;) (expression_statement "local_c4 = (int)&(*(pointer *)(prelocs + 8))->first + (int)pRVar24;" (assignment_expression "local_c4 = (int)&(*(pointer *)(prelocs + 8))->first + (int)pRVar24" identifier = (binary_expression "(int)&(*(pointer *)(prelocs + 8))->first + (int)pRVar24" (cast_expression "(int)&(*(pointer *)(prelocs + 8))->first" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&(*(pointer *)(prelocs + 8))->first" & (field_expression "(*(pointer *)(prelocs + 8))->first" (parenthesized_expression "(*(pointer *)(prelocs + 8))" ( (pointer_expression "*(pointer *)(prelocs + 8)" * (cast_expression "(pointer *)(prelocs + 8)" ( (type_descriptor "pointer *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(prelocs + 8)" ( (binary_expression "prelocs + 8" identifier + number_literal) )))) )) -> field_identifier))) + (cast_expression "(int)pRVar24" ( (type_descriptor "int" primitive_type) ) identifier))) ;) (if_statement "if (local_d1 == '\0') goto LAB_000d2489;" if (parenthesized_expression "(local_d1 == '\0')" ( (binary_expression "local_d1 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (goto_statement "goto LAB_000d2489;" goto statement_identifier ;)) (expression_statement "src_id.first = (Relobj *)0x0;" (assignment_expression "src_id.first = (Relobj *)0x0" (field_expression "src_id.first" identifier . field_identifier) = (cast_expression "(Relobj *)0x0" ( (type_descriptor "Relobj *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "*(Icf **)((int)ppGVar27 + -0xc) = (Icf *)&src_id;" (assignment_expression "*(Icf **)((int)ppGVar27 + -0xc) = (Icf *)&src_id" (pointer_expression "*(Icf **)((int)ppGVar27 + -0xc)" * (cast_expression "(Icf **)((int)ppGVar27 + -0xc)" ( (type_descriptor "Icf **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)ppGVar27 + -0xc)" ( (binary_expression "(int)ppGVar27 + -0xc" (cast_expression "(int)ppGVar27" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (cast_expression "(Icf *)&src_id" ( (type_descriptor "Icf *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&src_id" & identifier))) ;) (expression_statement "*(mapped_type **)((int)ppGVar27 + -0x10) = local_c8;" (assignment_expression "*(mapped_type **)((int)ppGVar27 + -0x10) = local_c8" (pointer_expression "*(mapped_type **)((int)ppGVar27 + -0x10)" * (cast_expression "(mapped_type **)((int)ppGVar27 + -0x10)" ( (type_descriptor "mapped_type **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)ppGVar27 + -0x10)" ( (binary_expression "(int)ppGVar27 + -0x10" (cast_expression "(int)ppGVar27" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "src_id.second = 0;" (assignment_expression "src_id.second = 0" (field_expression "src_id.second" identifier . field_identifier) = number_literal) ;) (expression_statement "local_b0 = (Icf *)&src_id;" (assignment_expression "local_b0 = (Icf *)&src_id" identifier = (cast_expression "(Icf *)&src_id" ( (type_descriptor "Icf *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&src_id" & identifier))) ;) comment (expression_statement "*(undefined4 *)((int)ppGVar27 + -0x14) = 0xd23cf;" (assignment_expression "*(undefined4 *)((int)ppGVar27 + -0x14) = 0xd23cf" (pointer_expression "*(undefined4 *)((int)ppGVar27 + -0x14)" * (cast_expression "(undefined4 *)((int)ppGVar27 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppGVar27 + -0x14)" ( (binary_expression "(int)ppGVar27 + -0x14" (cast_expression "(int)ppGVar27" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (ERROR "std::\n          vector<std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>\n          ::emplace_back<std::pair<gold::" (comma_expression "std::\n          vector<std::pair<gold::Relobj*,_unsigned_int>,_std" identifier (ERROR "::\n          vector<std::pair<gold::Relobj*,_unsigned_int>" : : (binary_expression "vector<std" identifier < identifier) : : (binary_expression "pair<gold" identifier < identifier) : : identifier * , identifier >) , identifier) : : (binary_expression "allocator<std" identifier < identifier) : : (binary_expression "pair<gold" identifier < identifier) : : (binary_expression "Relobj*,_unsigned_int>_>_>\n          ::emplace_back<std" (binary_expression "Relobj*,_unsigned_int>_>_>\n          ::emplace_back" (binary_expression "Relobj*,_unsigned_int>_>_" (binary_expression "Relobj*,_unsigned_int>_" (binary_expression "Relobj*,_unsigned_int" identifier * (ERROR "," ,) identifier) > identifier) > identifier) > (ERROR "::" : :) identifier) < identifier) : : (binary_expression "pair<gold" identifier < identifier) : :) (expression_statement "Relobj*,_unsigned_int>_>\n                    (*(vector<std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>\n                       **)((int)ppGVar27 + -0x10),\n                     *(pair<gold::Relobj*,_unsigned_int> **)((int)ppGVar27 + -0xc));" (binary_expression "Relobj*,_unsigned_int>_>\n                    (*(vector<std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>\n                       **)((int)ppGVar27 + -0x10),\n                     *(pair<gold::Relobj*,_unsigned_int> **)((int)ppGVar27 + -0xc))" (binary_expression "Relobj*,_unsigned_int>_" (binary_expression "Relobj*,_unsigned_int" identifier * (ERROR "," ,) identifier) > identifier) > (parenthesized_expression "(*(vector<std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>\n                       **)((int)ppGVar27 + -0x10),\n                     *(pair<gold::Relobj*,_unsigned_int> **)((int)ppGVar27 + -0xc))" ( (comma_expression "*(vector<std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>\n                       **)((int)ppGVar27 + -0x10),\n                     *(pair<gold::Relobj*,_unsigned_int> **)((int)ppGVar27 + -0xc)" (pointer_expression "*(vector<std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>\n                       **)((int)ppGVar27 + -0x10)" * (call_expression "(vector<std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>\n                       **)((int)ppGVar27 + -0x10)" (parenthesized_expression "(vector<std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>\n                       **)" ( (binary_expression "vector<std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>\n                       **" (binary_expression "vector<std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_" (binary_expression "vector<std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_" (binary_expression "vector<std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int" (binary_expression "vector<std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold" (binary_expression "vector<std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std" (binary_expression "vector<std::pair<gold::Relobj*,_unsigned_int>,_std" (binary_expression "vector<std::pair<gold::Relobj*,_unsigned_int" (binary_expression "vector<std::pair<gold" (binary_expression "vector<std" identifier < identifier) (ERROR "::pair" : : identifier) < identifier) (ERROR "::Relobj" : : identifier) * (ERROR "," ,) identifier) > (ERROR "," ,) identifier) (ERROR "::allocator" : : identifier) < identifier) (ERROR "::pair" : : identifier) < identifier) (ERROR "::Relobj" : : identifier) * (ERROR "," ,) identifier) > identifier) > identifier) > (pointer_expression "**" * (pointer_expression "*" * identifier))) )) (argument_list "((int)ppGVar27 + -0x10)" ( (binary_expression "(int)ppGVar27 + -0x10" (cast_expression "(int)ppGVar27" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (pointer_expression "*(pair<gold::Relobj*,_unsigned_int> **)((int)ppGVar27 + -0xc)" * (call_expression "(pair<gold::Relobj*,_unsigned_int> **)((int)ppGVar27 + -0xc)" (parenthesized_expression "(pair<gold::Relobj*,_unsigned_int> **)" ( (binary_expression "pair<gold::Relobj*,_unsigned_int> **" (binary_expression "pair<gold::Relobj*,_unsigned_int" (binary_expression "pair<gold" identifier < identifier) (ERROR "::Relobj" : : identifier) * (ERROR "," ,) identifier) > (pointer_expression "**" * (pointer_expression "*" * identifier))) )) (argument_list "((int)ppGVar27 + -0xc)" ( (binary_expression "(int)ppGVar27 + -0xc" (cast_expression "(int)ppGVar27" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ))) ;) (expression_statement "local_c0 = (Output_segment *)((uint)local_c0 & 0xffffff00);" (assignment_expression "local_c0 = (Output_segment *)((uint)local_c0 & 0xffffff00)" identifier = (cast_expression "(Output_segment *)((uint)local_c0 & 0xffffff00)" ( (type_descriptor "Output_segment *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((uint)local_c0 & 0xffffff00)" ( (binary_expression "(uint)local_c0 & 0xffffff00" (cast_expression "(uint)local_c0" ( (type_descriptor "uint" type_identifier) ) identifier) & number_literal) )))) ;) (if_statement "if ((plocal_symbols[uVar25 * 0x10 + 0xc] & 0xf) == 3) goto LAB_000d254c;" if (parenthesized_expression "((plocal_symbols[uVar25 * 0x10 + 0xc] & 0xf) == 3)" ( (binary_expression "(plocal_symbols[uVar25 * 0x10 + 0xc] & 0xf) == 3" (parenthesized_expression "(plocal_symbols[uVar25 * 0x10 + 0xc] & 0xf)" ( (binary_expression "plocal_symbols[uVar25 * 0x10 + 0xc] & 0xf" (subscript_expression "plocal_symbols[uVar25 * 0x10 + 0xc]" identifier [ (binary_expression "uVar25 * 0x10 + 0xc" (binary_expression "uVar25 * 0x10" identifier * number_literal) + number_literal) ]) & number_literal) )) == number_literal) )) (goto_statement "goto LAB_000d254c;" goto statement_identifier ;)) (labeled_statement "LAB_000d23e8:\n          *(Icf **)((int)ppGVar27 + -0xc) = local_b0;" statement_identifier : (expression_statement "*(Icf **)((int)ppGVar27 + -0xc) = local_b0;" (assignment_expression "*(Icf **)((int)ppGVar27 + -0xc) = local_b0" (pointer_expression "*(Icf **)((int)ppGVar27 + -0xc)" * (cast_expression "(Icf **)((int)ppGVar27 + -0xc)" ( (type_descriptor "Icf **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)ppGVar27 + -0xc)" ( (binary_expression "(int)ppGVar27 + -0xc" (cast_expression "(int)ppGVar27" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;)) (expression_statement "*(Symbol_info **)((int)ppGVar27 + -0x10) = local_cc;" (assignment_expression "*(Symbol_info **)((int)ppGVar27 + -0x10) = local_cc" (pointer_expression "*(Symbol_info **)((int)ppGVar27 + -0x10)" * (cast_expression "(Symbol_info **)((int)ppGVar27 + -0x10)" ( (type_descriptor "Symbol_info **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)ppGVar27 + -0x10)" ( (binary_expression "(int)ppGVar27 + -0x10" (cast_expression "(int)ppGVar27" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "src_id.first = (Relobj *)0x0;" (assignment_expression "src_id.first = (Relobj *)0x0" (field_expression "src_id.first" identifier . field_identifier) = (cast_expression "(Relobj *)0x0" ( (type_descriptor "Relobj *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "*(undefined4 *)((int)ppGVar27 + -0x14) = 0xd2403;" (assignment_expression "*(undefined4 *)((int)ppGVar27 + -0x14) = 0xd2403" (pointer_expression "*(undefined4 *)((int)ppGVar27 + -0x14)" * (cast_expression "(undefined4 *)((int)ppGVar27 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppGVar27 + -0x14)" ( (binary_expression "(int)ppGVar27 + -0x14" (cast_expression "(int)ppGVar27" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (ERROR "std::vector<gold::Symbol*,_std::allocator<gold::Symbol*>_>::emplace_back<gold::" (comma_expression "std::vector<gold::Symbol*,_std" identifier (ERROR "::vector<gold::Symbol*" : : (binary_expression "vector<gold" identifier < identifier) : : identifier *) , identifier) : : (binary_expression "allocator<gold" identifier < identifier) : : (binary_expression "Symbol*>_>::emplace_back<gold" (binary_expression "Symbol*>_>::emplace_back" (binary_expression "Symbol*>_" identifier * (ERROR ">" >) identifier) > (ERROR "::" : :) identifier) < identifier) : :) (expression_statement "Symbol*>\n                    (*(vector<gold::Symbol*,_std::allocator<gold::Symbol*>_> **)\n                      ((int)ppGVar27 + -0x10),*(Symbol ***)((int)ppGVar27 + -0xc));" (binary_expression "Symbol*>\n                    (*(vector<gold::Symbol*,_std::allocator<gold::Symbol*>_> **)\n                      ((int)ppGVar27 + -0x10),*(Symbol ***)((int)ppGVar27 + -0xc))" identifier * (ERROR ">" >) (parenthesized_expression "(*(vector<gold::Symbol*,_std::allocator<gold::Symbol*>_> **)\n                      ((int)ppGVar27 + -0x10),*(Symbol ***)((int)ppGVar27 + -0xc))" ( (comma_expression "*(vector<gold::Symbol*,_std::allocator<gold::Symbol*>_> **)\n                      ((int)ppGVar27 + -0x10),*(Symbol ***)((int)ppGVar27 + -0xc)" (pointer_expression "*(vector<gold::Symbol*,_std::allocator<gold::Symbol*>_> **)\n                      ((int)ppGVar27 + -0x10)" * (call_expression "(vector<gold::Symbol*,_std::allocator<gold::Symbol*>_> **)\n                      ((int)ppGVar27 + -0x10)" (parenthesized_expression "(vector<gold::Symbol*,_std::allocator<gold::Symbol*>_> **)" ( (binary_expression "vector<gold::Symbol*,_std::allocator<gold::Symbol*>_> **" (binary_expression "vector<gold::Symbol*,_std::allocator<gold::Symbol*>_" (binary_expression "vector<gold::Symbol*,_std::allocator<gold" (binary_expression "vector<gold::Symbol*,_std" (binary_expression "vector<gold" identifier < identifier) (ERROR "::Symbol" : : identifier) * (ERROR "," ,) identifier) (ERROR "::allocator" : : identifier) < identifier) (ERROR "::Symbol" : : identifier) * (ERROR ">" >) identifier) > (pointer_expression "**" * (pointer_expression "*" * identifier))) )) (argument_list "((int)ppGVar27 + -0x10)" ( (binary_expression "(int)ppGVar27 + -0x10" (cast_expression "(int)ppGVar27" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (pointer_expression "*(Symbol ***)((int)ppGVar27 + -0xc)" * (cast_expression "(Symbol ***)((int)ppGVar27 + -0xc)" ( (type_descriptor "Symbol ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "((int)ppGVar27 + -0xc)" ( (binary_expression "(int)ppGVar27 + -0xc" (cast_expression "(int)ppGVar27" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ))) ;) (labeled_statement "LAB_000d2403:\n          src_id.first = pRVar24;" statement_identifier : (expression_statement "src_id.first = pRVar24;" (assignment_expression "src_id.first = pRVar24" (field_expression "src_id.first" identifier . field_identifier) = identifier) ;)) (expression_statement "*(Icf **)((int)ppGVar27 + -0xc) = local_b0;" (assignment_expression "*(Icf **)((int)ppGVar27 + -0xc) = local_b0" (pointer_expression "*(Icf **)((int)ppGVar27 + -0xc)" * (cast_expression "(Icf **)((int)ppGVar27 + -0xc)" ( (type_descriptor "Icf **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)ppGVar27 + -0xc)" ( (binary_expression "(int)ppGVar27 + -0xc" (cast_expression "(int)ppGVar27" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(Addend_info **)((int)ppGVar27 + -0x10) = local_e8;" (assignment_expression "*(Addend_info **)((int)ppGVar27 + -0x10) = local_e8" (pointer_expression "*(Addend_info **)((int)ppGVar27 + -0x10)" * (cast_expression "(Addend_info **)((int)ppGVar27 + -0x10)" ( (type_descriptor "Addend_info **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)ppGVar27 + -0x10)" ( (binary_expression "(int)ppGVar27 + -0x10" (cast_expression "(int)ppGVar27" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "local_2c = local_bc;" (assignment_expression "local_2c = local_bc" identifier = identifier) ;) (expression_statement "src_id.second = 0;" (assignment_expression "src_id.second = 0" (field_expression "src_id.second" identifier . field_identifier) = number_literal) ;) (expression_statement "local_28._M_p = (pointer)((int)local_bc >> 0x1f);" (assignment_expression "local_28._M_p = (pointer)((int)local_bc >> 0x1f)" (field_expression "local_28._M_p" identifier . field_identifier) = (call_expression "(pointer)((int)local_bc >> 0x1f)" (parenthesized_expression "(pointer)" ( identifier )) (argument_list "((int)local_bc >> 0x1f)" ( (binary_expression "(int)local_bc >> 0x1f" (cast_expression "(int)local_bc" ( (type_descriptor "int" primitive_type) ) identifier) >> number_literal) )))) ;) (expression_statement "*(undefined4 *)((int)ppGVar27 + -0x14) = 0xd2433;" (assignment_expression "*(undefined4 *)((int)ppGVar27 + -0x14) = 0xd2433" (pointer_expression "*(undefined4 *)((int)ppGVar27 + -0x14)" * (cast_expression "(undefined4 *)((int)ppGVar27 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppGVar27 + -0x14)" ( (binary_expression "(int)ppGVar27 + -0x14" (cast_expression "(int)ppGVar27" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (labeled_statement "std::\n          vector<std::pair<long_long_int,_long_long_int>,_std::allocator<std::pair<long_long_int,_long_long_int>_>_>\n          ::emplace_back<std::pair<long_long_int,_long_long_int>_>\n                    (*(vector<std::pair<long_long_int,_long_long_int>,_std::allocator<std::pair<long_long_int,_long_long_int>_>_>\n                       **)((int)ppGVar27 + -0x10),\n                     *(pair<long_long_int,_long_long_int> **)((int)ppGVar27 + -0xc));" statement_identifier (ERROR "::\n          vector<std::pair<long_long_int,_long_long_int>,_std::allocator<std::pair<long_long_int,_long_long_int>_>_>\n          ::emplace_back<std:" : : (binary_expression "vector<std" identifier < identifier) : : (comma_expression "pair<long_long_int,_long_long_int>,_std" (binary_expression "pair<long_long_int" identifier < identifier) , (binary_expression "_long_long_int>,_std" identifier > (ERROR "," ,) identifier)) : : (binary_expression "allocator<std" identifier < identifier) : : (comma_expression "pair<long_long_int,_long_long_int>_>_>\n          ::emplace_back<std" (binary_expression "pair<long_long_int" identifier < identifier) , (binary_expression "_long_long_int>_>_>\n          ::emplace_back<std" (binary_expression "_long_long_int>_>_>\n          ::emplace_back" (binary_expression "_long_long_int>_>_" (binary_expression "_long_long_int>_" identifier > identifier) > identifier) > (ERROR "::" : :) identifier) < identifier)) :) : (expression_statement "pair<long_long_int,_long_long_int>_>\n                    (*(vector<std::pair<long_long_int,_long_long_int>,_std::allocator<std::pair<long_long_int,_long_long_int>_>_>\n                       **)((int)ppGVar27 + -0x10),\n                     *(pair<long_long_int,_long_long_int> **)((int)ppGVar27 + -0xc));" (comma_expression "pair<long_long_int,_long_long_int>_>\n                    (*(vector<std::pair<long_long_int,_long_long_int>,_std::allocator<std::pair<long_long_int,_long_long_int>_>_>\n                       **)((int)ppGVar27 + -0x10),\n                     *(pair<long_long_int,_long_long_int> **)((int)ppGVar27 + -0xc))" (binary_expression "pair<long_long_int" identifier < identifier) , (binary_expression "_long_long_int>_>\n                    (*(vector<std::pair<long_long_int,_long_long_int>,_std::allocator<std::pair<long_long_int,_long_long_int>_>_>\n                       **)((int)ppGVar27 + -0x10),\n                     *(pair<long_long_int,_long_long_int> **)((int)ppGVar27 + -0xc))" (binary_expression "_long_long_int>_" identifier > identifier) > (parenthesized_expression "(*(vector<std::pair<long_long_int,_long_long_int>,_std::allocator<std::pair<long_long_int,_long_long_int>_>_>\n                       **)((int)ppGVar27 + -0x10),\n                     *(pair<long_long_int,_long_long_int> **)((int)ppGVar27 + -0xc))" ( (comma_expression "*(vector<std::pair<long_long_int,_long_long_int>,_std::allocator<std::pair<long_long_int,_long_long_int>_>_>\n                       **)((int)ppGVar27 + -0x10),\n                     *(pair<long_long_int,_long_long_int> **)((int)ppGVar27 + -0xc)" (pointer_expression "*(vector<std::pair<long_long_int,_long_long_int>,_std::allocator<std::pair<long_long_int,_long_long_int>_>_>\n                       **)((int)ppGVar27 + -0x10)" * (call_expression "(vector<std::pair<long_long_int,_long_long_int>,_std::allocator<std::pair<long_long_int,_long_long_int>_>_>\n                       **)((int)ppGVar27 + -0x10)" (parenthesized_expression "(vector<std::pair<long_long_int,_long_long_int>,_std::allocator<std::pair<long_long_int,_long_long_int>_>_>\n                       **)" ( (ERROR "vector<std::pair<long_long_int,_long_long_int>,_std::allocator<std::" (comma_expression "vector<std::pair<long_long_int,_long_long_int>,_std" (binary_expression "vector<std::pair<long_long_int" (binary_expression "vector<std" identifier < identifier) (ERROR "::pair" : : identifier) < identifier) , (binary_expression "_long_long_int>,_std" identifier > (ERROR "," ,) identifier)) : : (binary_expression "allocator<std" identifier < identifier) : :) (comma_expression "pair<long_long_int,_long_long_int>_>_>\n                       **" (binary_expression "pair<long_long_int" identifier < identifier) , (binary_expression "_long_long_int>_>_>\n                       **" (binary_expression "_long_long_int>_>_" (binary_expression "_long_long_int>_" identifier > identifier) > identifier) > (pointer_expression "**" * (pointer_expression "*" * identifier)))) )) (argument_list "((int)ppGVar27 + -0x10)" ( (binary_expression "(int)ppGVar27 + -0x10" (cast_expression "(int)ppGVar27" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (pointer_expression "*(pair<long_long_int,_long_long_int> **)((int)ppGVar27 + -0xc)" * (call_expression "(pair<long_long_int,_long_long_int> **)((int)ppGVar27 + -0xc)" (parenthesized_expression "(pair<long_long_int,_long_long_int> **)" ( (comma_expression "pair<long_long_int,_long_long_int> **" (binary_expression "pair<long_long_int" identifier < identifier) , (binary_expression "_long_long_int> **" identifier > (pointer_expression "**" * (pointer_expression "*" * identifier)))) )) (argument_list "((int)ppGVar27 + -0xc)" ( (binary_expression "(int)ppGVar27 + -0xc" (cast_expression "(int)ppGVar27" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) )))) ;)) (expression_statement "src_id.second = 0;" (assignment_expression "src_id.second = 0" (field_expression "src_id.second" identifier . field_identifier) = number_literal) ;) (expression_statement "puVar5 = (local_d0->\n                   super__Vector_base<long_long_unsigned_int,_std::allocator<long_long_unsigned_int>_>\n                   )._M_impl._M_finish;" (assignment_expression "puVar5 = (local_d0->\n                   super__Vector_base<long_long_unsigned_int,_std::allocator<long_long_unsigned_int>_>\n                   )._M_impl._M_finish" identifier = (field_expression "(local_d0->\n                   super__Vector_base<long_long_unsigned_int,_std::allocator<long_long_unsigned_int>_>\n                   )._M_impl._M_finish" (field_expression "(local_d0->\n                   super__Vector_base<long_long_unsigned_int,_std::allocator<long_long_unsigned_int>_>\n                   )._M_impl" (parenthesized_expression "(local_d0->\n                   super__Vector_base<long_long_unsigned_int,_std::allocator<long_long_unsigned_int>_>\n                   )" ( (ERROR "local_d0->\n                   super__Vector_base<long_long_unsigned_int,_std::" (comma_expression "local_d0->\n                   super__Vector_base<long_long_unsigned_int,_std" (binary_expression "local_d0->\n                   super__Vector_base<long_long_unsigned_int" (field_expression "local_d0->\n                   super__Vector_base" identifier -> field_identifier) < identifier) , identifier) : :) (binary_expression "allocator<long_long_unsigned_int>_>" (binary_expression "allocator<long_long_unsigned_int>_" (binary_expression "allocator<long_long_unsigned_int" identifier < identifier) > identifier) > identifier) )) . field_identifier) . field_identifier)) ;) (expression_statement "src_id.first = *(Relobj **)prelocs;" (assignment_expression "src_id.first = *(Relobj **)prelocs" (field_expression "src_id.first" identifier . field_identifier) = (pointer_expression "*(Relobj **)prelocs" * (cast_expression "(Relobj **)prelocs" ( (type_descriptor "Relobj **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) ;) (if_statement "if (puVar5 == (local_d0->\n                        super__Vector_base<long_long_unsigned_int,_std::allocator<long_long_unsigned_int>_>\n                        )._M_impl._M_end_of_storage) {\n            *(Icf **)((int)ppGVar27 + -8) = local_b0;\n            *(pointer *)((int)ppGVar27 + -0xc) = puVar5;\n            *(Offset_info **)((int)ppGVar27 + -0x10) = local_d0;\n            *(undefined4 *)((int)ppGVar27 + -0x14) = 0xd2b0d;\n            std::vector<long_long_unsigned_int,_std::allocator<long_long_unsigned_int>_>::\n            _M_realloc_insert<long_long_unsigned_int_const&>\n                      (*(vector<long_long_unsigned_int,_std::allocator<long_long_unsigned_int>_> **)\n                        ((int)ppGVar27 + -0x10),(iterator)*(ulonglong **)((int)ppGVar27 + -0xc),\n                       *(ulonglong **)((int)ppGVar27 + -8));\n          }\n          else {\n            *(Relobj **)puVar5 = *(Relobj **)prelocs;\n            *(undefined4 *)((int)puVar5 + 4) = 0;\n            (local_d0->\n            super__Vector_base<long_long_unsigned_int,_std::allocator<long_long_unsigned_int>_>).\n            _M_impl._M_finish = puVar5 + 1;\n          }" if (parenthesized_expression "(puVar5 == (local_d0->\n                        super__Vector_base<long_long_unsigned_int,_std::allocator<long_long_unsigned_int>_>\n                        )._M_impl._M_end_of_storage)" ( (binary_expression "puVar5 == (local_d0->\n                        super__Vector_base<long_long_unsigned_int,_std::allocator<long_long_unsigned_int>_>\n                        )._M_impl._M_end_of_storage" identifier == (field_expression "(local_d0->\n                        super__Vector_base<long_long_unsigned_int,_std::allocator<long_long_unsigned_int>_>\n                        )._M_impl._M_end_of_storage" (field_expression "(local_d0->\n                        super__Vector_base<long_long_unsigned_int,_std::allocator<long_long_unsigned_int>_>\n                        )._M_impl" (parenthesized_expression "(local_d0->\n                        super__Vector_base<long_long_unsigned_int,_std::allocator<long_long_unsigned_int>_>\n                        )" ( (ERROR "local_d0->\n                        super__Vector_base<long_long_unsigned_int,_std::" (comma_expression "local_d0->\n                        super__Vector_base<long_long_unsigned_int,_std" (binary_expression "local_d0->\n                        super__Vector_base<long_long_unsigned_int" (field_expression "local_d0->\n                        super__Vector_base" identifier -> field_identifier) < identifier) , identifier) : :) (binary_expression "allocator<long_long_unsigned_int>_>" (binary_expression "allocator<long_long_unsigned_int>_" (binary_expression "allocator<long_long_unsigned_int" identifier < identifier) > identifier) > identifier) )) . field_identifier) . field_identifier)) )) (compound_statement "{\n            *(Icf **)((int)ppGVar27 + -8) = local_b0;\n            *(pointer *)((int)ppGVar27 + -0xc) = puVar5;\n            *(Offset_info **)((int)ppGVar27 + -0x10) = local_d0;\n            *(undefined4 *)((int)ppGVar27 + -0x14) = 0xd2b0d;\n            std::vector<long_long_unsigned_int,_std::allocator<long_long_unsigned_int>_>::\n            _M_realloc_insert<long_long_unsigned_int_const&>\n                      (*(vector<long_long_unsigned_int,_std::allocator<long_long_unsigned_int>_> **)\n                        ((int)ppGVar27 + -0x10),(iterator)*(ulonglong **)((int)ppGVar27 + -0xc),\n                       *(ulonglong **)((int)ppGVar27 + -8));\n          }" { (expression_statement "*(Icf **)((int)ppGVar27 + -8) = local_b0;" (assignment_expression "*(Icf **)((int)ppGVar27 + -8) = local_b0" (pointer_expression "*(Icf **)((int)ppGVar27 + -8)" * (cast_expression "(Icf **)((int)ppGVar27 + -8)" ( (type_descriptor "Icf **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)ppGVar27 + -8)" ( (binary_expression "(int)ppGVar27 + -8" (cast_expression "(int)ppGVar27" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(pointer *)((int)ppGVar27 + -0xc) = puVar5;" (assignment_expression "*(pointer *)((int)ppGVar27 + -0xc) = puVar5" (pointer_expression "*(pointer *)((int)ppGVar27 + -0xc)" * (cast_expression "(pointer *)((int)ppGVar27 + -0xc)" ( (type_descriptor "pointer *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppGVar27 + -0xc)" ( (binary_expression "(int)ppGVar27 + -0xc" (cast_expression "(int)ppGVar27" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(Offset_info **)((int)ppGVar27 + -0x10) = local_d0;" (assignment_expression "*(Offset_info **)((int)ppGVar27 + -0x10) = local_d0" (pointer_expression "*(Offset_info **)((int)ppGVar27 + -0x10)" * (cast_expression "(Offset_info **)((int)ppGVar27 + -0x10)" ( (type_descriptor "Offset_info **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)ppGVar27 + -0x10)" ( (binary_expression "(int)ppGVar27 + -0x10" (cast_expression "(int)ppGVar27" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)ppGVar27 + -0x14) = 0xd2b0d;" (assignment_expression "*(undefined4 *)((int)ppGVar27 + -0x14) = 0xd2b0d" (pointer_expression "*(undefined4 *)((int)ppGVar27 + -0x14)" * (cast_expression "(undefined4 *)((int)ppGVar27 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppGVar27 + -0x14)" ( (binary_expression "(int)ppGVar27 + -0x14" (cast_expression "(int)ppGVar27" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (labeled_statement "std::vector<long_long_unsigned_int,_std::allocator<long_long_unsigned_int>_>::\n            _M_realloc_insert<long_long_unsigned_int_const&>\n                      (*(vector<long_long_unsigned_int,_std::allocator<long_long_unsigned_int>_> **)\n                        ((int)ppGVar27 + -0x10),(iterator)*(ulonglong **)((int)ppGVar27 + -0xc),\n                       *(ulonglong **)((int)ppGVar27 + -8));" statement_identifier (ERROR "::vector<long_long_unsigned_int,_std::allocator<long_long_unsigned_int>_>:" : : (comma_expression "vector<long_long_unsigned_int,_std" (binary_expression "vector<long_long_unsigned_int" identifier < identifier) , identifier) : : (binary_expression "allocator<long_long_unsigned_int>_" (binary_expression "allocator<long_long_unsigned_int" identifier < identifier) > identifier) > :) : (expression_statement "_M_realloc_insert<long_long_unsigned_int_const&>\n                      (*(vector<long_long_unsigned_int,_std::allocator<long_long_unsigned_int>_> **)\n                        ((int)ppGVar27 + -0x10),(iterator)*(ulonglong **)((int)ppGVar27 + -0xc),\n                       *(ulonglong **)((int)ppGVar27 + -8));" (binary_expression "_M_realloc_insert<long_long_unsigned_int_const&>\n                      (*(vector<long_long_unsigned_int,_std::allocator<long_long_unsigned_int>_> **)\n                        ((int)ppGVar27 + -0x10),(iterator)*(ulonglong **)((int)ppGVar27 + -0xc),\n                       *(ulonglong **)((int)ppGVar27 + -8))" (binary_expression "_M_realloc_insert<long_long_unsigned_int_const" identifier < identifier) (ERROR "&" &) > (parenthesized_expression "(*(vector<long_long_unsigned_int,_std::allocator<long_long_unsigned_int>_> **)\n                        ((int)ppGVar27 + -0x10),(iterator)*(ulonglong **)((int)ppGVar27 + -0xc),\n                       *(ulonglong **)((int)ppGVar27 + -8))" ( (comma_expression "*(vector<long_long_unsigned_int,_std::allocator<long_long_unsigned_int>_> **)\n                        ((int)ppGVar27 + -0x10),(iterator)*(ulonglong **)((int)ppGVar27 + -0xc),\n                       *(ulonglong **)((int)ppGVar27 + -8)" (pointer_expression "*(vector<long_long_unsigned_int,_std::allocator<long_long_unsigned_int>_> **)\n                        ((int)ppGVar27 + -0x10)" * (call_expression "(vector<long_long_unsigned_int,_std::allocator<long_long_unsigned_int>_> **)\n                        ((int)ppGVar27 + -0x10)" (parenthesized_expression "(vector<long_long_unsigned_int,_std::allocator<long_long_unsigned_int>_> **)" ( (ERROR "vector<long_long_unsigned_int,_std::" (comma_expression "vector<long_long_unsigned_int,_std" (binary_expression "vector<long_long_unsigned_int" identifier < identifier) , identifier) : :) (binary_expression "allocator<long_long_unsigned_int>_> **" (binary_expression "allocator<long_long_unsigned_int>_" (binary_expression "allocator<long_long_unsigned_int" identifier < identifier) > identifier) > (pointer_expression "**" * (pointer_expression "*" * identifier))) )) (argument_list "((int)ppGVar27 + -0x10)" ( (binary_expression "(int)ppGVar27 + -0x10" (cast_expression "(int)ppGVar27" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (comma_expression "(iterator)*(ulonglong **)((int)ppGVar27 + -0xc),\n                       *(ulonglong **)((int)ppGVar27 + -8)" (binary_expression "(iterator)*(ulonglong **)((int)ppGVar27 + -0xc)" (parenthesized_expression "(iterator)" ( identifier )) * (cast_expression "(ulonglong **)((int)ppGVar27 + -0xc)" ( (type_descriptor "ulonglong **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)ppGVar27 + -0xc)" ( (binary_expression "(int)ppGVar27 + -0xc" (cast_expression "(int)ppGVar27" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (pointer_expression "*(ulonglong **)((int)ppGVar27 + -8)" * (cast_expression "(ulonglong **)((int)ppGVar27 + -8)" ( (type_descriptor "ulonglong **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)ppGVar27 + -8)" ( (binary_expression "(int)ppGVar27 + -8" (cast_expression "(int)ppGVar27" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))))) ))) ;)) }) (else_clause "else {\n            *(Relobj **)puVar5 = *(Relobj **)prelocs;\n            *(undefined4 *)((int)puVar5 + 4) = 0;\n            (local_d0->\n            super__Vector_base<long_long_unsigned_int,_std::allocator<long_long_unsigned_int>_>).\n            _M_impl._M_finish = puVar5 + 1;\n          }" else (compound_statement "{\n            *(Relobj **)puVar5 = *(Relobj **)prelocs;\n            *(undefined4 *)((int)puVar5 + 4) = 0;\n            (local_d0->\n            super__Vector_base<long_long_unsigned_int,_std::allocator<long_long_unsigned_int>_>).\n            _M_impl._M_finish = puVar5 + 1;\n          }" { (expression_statement "*(Relobj **)puVar5 = *(Relobj **)prelocs;" (assignment_expression "*(Relobj **)puVar5 = *(Relobj **)prelocs" (pointer_expression "*(Relobj **)puVar5" * (cast_expression "(Relobj **)puVar5" ( (type_descriptor "Relobj **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) = (pointer_expression "*(Relobj **)prelocs" * (cast_expression "(Relobj **)prelocs" ( (type_descriptor "Relobj **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) ;) (expression_statement "*(undefined4 *)((int)puVar5 + 4) = 0;" (assignment_expression "*(undefined4 *)((int)puVar5 + 4) = 0" (pointer_expression "*(undefined4 *)((int)puVar5 + 4)" * (cast_expression "(undefined4 *)((int)puVar5 + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar5 + 4)" ( (binary_expression "(int)puVar5 + 4" (cast_expression "(int)puVar5" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "(local_d0->\n            super__Vector_base<long_long_unsigned_int,_std::allocator<long_long_unsigned_int>_>).\n            _M_impl._M_finish = puVar5 + 1;" (assignment_expression "(local_d0->\n            super__Vector_base<long_long_unsigned_int,_std::allocator<long_long_unsigned_int>_>).\n            _M_impl._M_finish = puVar5 + 1" (field_expression "(local_d0->\n            super__Vector_base<long_long_unsigned_int,_std::allocator<long_long_unsigned_int>_>).\n            _M_impl._M_finish" (field_expression "(local_d0->\n            super__Vector_base<long_long_unsigned_int,_std::allocator<long_long_unsigned_int>_>).\n            _M_impl" (parenthesized_expression "(local_d0->\n            super__Vector_base<long_long_unsigned_int,_std::allocator<long_long_unsigned_int>_>)" ( (ERROR "local_d0->\n            super__Vector_base<long_long_unsigned_int,_std::" (comma_expression "local_d0->\n            super__Vector_base<long_long_unsigned_int,_std" (binary_expression "local_d0->\n            super__Vector_base<long_long_unsigned_int" (field_expression "local_d0->\n            super__Vector_base" identifier -> field_identifier) < identifier) , identifier) : :) (binary_expression "allocator<long_long_unsigned_int>_>" (binary_expression "allocator<long_long_unsigned_int>_" (binary_expression "allocator<long_long_unsigned_int" identifier < identifier) > identifier) > identifier) )) . field_identifier) . field_identifier) = (binary_expression "puVar5 + 1" identifier + number_literal)) ;) }))) (expression_statement "dst_id.first = (Relobj *)0x0;" (assignment_expression "dst_id.first = (Relobj *)0x0" (field_expression "dst_id.first" identifier . field_identifier) = (cast_expression "(Relobj *)0x0" ( (type_descriptor "Relobj *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "*(Section_id **)((int)ppGVar27 + -0xc) = &dst_id;" (assignment_expression "*(Section_id **)((int)ppGVar27 + -0xc) = &dst_id" (pointer_expression "*(Section_id **)((int)ppGVar27 + -0xc)" * (cast_expression "(Section_id **)((int)ppGVar27 + -0xc)" ( (type_descriptor "Section_id **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)ppGVar27 + -0xc)" ( (binary_expression "(int)ppGVar27 + -0xc" (cast_expression "(int)ppGVar27" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "&dst_id" & identifier)) ;) (expression_statement "*(Reloc_addend_size_info **)((int)ppGVar27 + -0x10) = local_ec;" (assignment_expression "*(Reloc_addend_size_info **)((int)ppGVar27 + -0x10) = local_ec" (pointer_expression "*(Reloc_addend_size_info **)((int)ppGVar27 + -0x10)" * (cast_expression "(Reloc_addend_size_info **)((int)ppGVar27 + -0x10)" ( (type_descriptor "Reloc_addend_size_info **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)ppGVar27 + -0x10)" ( (binary_expression "(int)ppGVar27 + -0x10" (cast_expression "(int)ppGVar27" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)ppGVar27 + -0x14) = 0xd2479;" (assignment_expression "*(undefined4 *)((int)ppGVar27 + -0x14) = 0xd2479" (pointer_expression "*(undefined4 *)((int)ppGVar27 + -0x14)" * (cast_expression "(undefined4 *)((int)ppGVar27 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppGVar27 + -0x14)" ( (binary_expression "(int)ppGVar27 + -0x14" (cast_expression "(int)ppGVar27" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (labeled_statement "std::vector<unsigned_int,_std::allocator<unsigned_int>_>::emplace_back<unsigned_int>\n                    (*(vector<unsigned_int,_std::allocator<unsigned_int>_> **)\n                      ((int)ppGVar27 + -0x10),*(uint **)((int)ppGVar27 + -0xc));" statement_identifier (ERROR "::vector<unsigned_int,_std::allocator<unsigned_int>_>:" : : (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) > :) : (expression_statement "emplace_back<unsigned_int>\n                    (*(vector<unsigned_int,_std::allocator<unsigned_int>_> **)\n                      ((int)ppGVar27 + -0x10),*(uint **)((int)ppGVar27 + -0xc));" (binary_expression "emplace_back<unsigned_int>\n                    (*(vector<unsigned_int,_std::allocator<unsigned_int>_> **)\n                      ((int)ppGVar27 + -0x10),*(uint **)((int)ppGVar27 + -0xc))" (binary_expression "emplace_back<unsigned_int" identifier < identifier) > (parenthesized_expression "(*(vector<unsigned_int,_std::allocator<unsigned_int>_> **)\n                      ((int)ppGVar27 + -0x10),*(uint **)((int)ppGVar27 + -0xc))" ( (comma_expression "*(vector<unsigned_int,_std::allocator<unsigned_int>_> **)\n                      ((int)ppGVar27 + -0x10),*(uint **)((int)ppGVar27 + -0xc)" (pointer_expression "*(vector<unsigned_int,_std::allocator<unsigned_int>_> **)\n                      ((int)ppGVar27 + -0x10)" * (call_expression "(vector<unsigned_int,_std::allocator<unsigned_int>_> **)\n                      ((int)ppGVar27 + -0x10)" (parenthesized_expression "(vector<unsigned_int,_std::allocator<unsigned_int>_> **)" ( (ERROR "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>_" (binary_expression "allocator<unsigned_int" identifier < identifier) > identifier) > (pointer_expression "**" * (pointer_expression "*" * identifier))) )) (argument_list "((int)ppGVar27 + -0x10)" ( (binary_expression "(int)ppGVar27 + -0x10" (cast_expression "(int)ppGVar27" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (pointer_expression "*(uint **)((int)ppGVar27 + -0xc)" * (cast_expression "(uint **)((int)ppGVar27 + -0xc)" ( (type_descriptor "uint **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)ppGVar27 + -0xc)" ( (binary_expression "(int)ppGVar27 + -0xc" (cast_expression "(int)ppGVar27" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ))) ;)) (if_statement "if ((char)local_c0 == '\0') goto LAB_000d2489;" if (parenthesized_expression "((char)local_c0 == '\0')" ( (binary_expression "(char)local_c0 == '\0'" (cast_expression "(char)local_c0" ( (type_descriptor "char" primitive_type) ) identifier) == (char_literal "'\0'" ' escape_sequence ')) )) (goto_statement "goto LAB_000d2489;" goto statement_identifier ;)) }))) (if_statement "if (((local_d2 != false) && ((plocal_symbols[uVar25 * 0x10 + 0xc] & 0xf) != 1)) &&\n           ((0x17 < uVar31 || ((0x843f84U >> (uVar6 & 0x1f) & 1) == 0)))) {\n          local_b0 = symtab->icf_;\n          local_80 = object;\n          local_7c = (uint)*(ushort *)(plocal_symbols + uVar25 * 0x10 + 0xe);\n          *(undefined4 *)((int)ppGVar27 + -0xc) = 1;\n          *(undefined4 *)((int)ppGVar27 + -0x10) = 0;\n          __node_gen_2._M_h = (__hashtable_alloc *)&local_b0->fptr_section_id_;\n          *(__node_gen_type **)((int)ppGVar27 + -0x14) = &__node_gen_2;\n          *(Sized_relobj_file<32,_false> ***)((int)ppGVar27 + -0x18) = &local_80;\n          *(__hashtable_alloc **)((int)ppGVar27 + -0x1c) = __node_gen_2._M_h;\n          *(undefined1 **)((int)ppGVar27 + -0x20) = local_e0;\n          *(undefined4 *)((int)ppGVar27 + -0x24) = 0xd2ad1;\n          std::\n          _Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>,_std::__detail::_Identity,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n          ::\n          _M_insert<std::pair<gold::Relobj*,_unsigned_int>,_std::__detail::_AllocNode<std::allocator<std::__detail::_Hash_node<std::pair<gold::Relobj*,_unsigned_int>,_true>_>_>_>\n                    ();\n          ppGVar27 = (General_options **)((int)ppGVar27 + -4);\n        }" if (parenthesized_expression "(((local_d2 != false) && ((plocal_symbols[uVar25 * 0x10 + 0xc] & 0xf) != 1)) &&\n           ((0x17 < uVar31 || ((0x843f84U >> (uVar6 & 0x1f) & 1) == 0))))" ( (binary_expression "((local_d2 != false) && ((plocal_symbols[uVar25 * 0x10 + 0xc] & 0xf) != 1)) &&\n           ((0x17 < uVar31 || ((0x843f84U >> (uVar6 & 0x1f) & 1) == 0)))" (parenthesized_expression "((local_d2 != false) && ((plocal_symbols[uVar25 * 0x10 + 0xc] & 0xf) != 1))" ( (binary_expression "(local_d2 != false) && ((plocal_symbols[uVar25 * 0x10 + 0xc] & 0xf) != 1)" (parenthesized_expression "(local_d2 != false)" ( (binary_expression "local_d2 != false" identifier != false) )) && (parenthesized_expression "((plocal_symbols[uVar25 * 0x10 + 0xc] & 0xf) != 1)" ( (binary_expression "(plocal_symbols[uVar25 * 0x10 + 0xc] & 0xf) != 1" (parenthesized_expression "(plocal_symbols[uVar25 * 0x10 + 0xc] & 0xf)" ( (binary_expression "plocal_symbols[uVar25 * 0x10 + 0xc] & 0xf" (subscript_expression "plocal_symbols[uVar25 * 0x10 + 0xc]" identifier [ (binary_expression "uVar25 * 0x10 + 0xc" (binary_expression "uVar25 * 0x10" identifier * number_literal) + number_literal) ]) & number_literal) )) != number_literal) ))) )) && (parenthesized_expression "((0x17 < uVar31 || ((0x843f84U >> (uVar6 & 0x1f) & 1) == 0)))" ( (parenthesized_expression "(0x17 < uVar31 || ((0x843f84U >> (uVar6 & 0x1f) & 1) == 0))" ( (binary_expression "0x17 < uVar31 || ((0x843f84U >> (uVar6 & 0x1f) & 1) == 0)" (binary_expression "0x17 < uVar31" number_literal < identifier) || (parenthesized_expression "((0x843f84U >> (uVar6 & 0x1f) & 1) == 0)" ( (binary_expression "(0x843f84U >> (uVar6 & 0x1f) & 1) == 0" (parenthesized_expression "(0x843f84U >> (uVar6 & 0x1f) & 1)" ( (binary_expression "0x843f84U >> (uVar6 & 0x1f) & 1" (binary_expression "0x843f84U >> (uVar6 & 0x1f)" number_literal >> (parenthesized_expression "(uVar6 & 0x1f)" ( (binary_expression "uVar6 & 0x1f" identifier & number_literal) ))) & number_literal) )) == number_literal) ))) )) ))) )) (compound_statement "{\n          local_b0 = symtab->icf_;\n          local_80 = object;\n          local_7c = (uint)*(ushort *)(plocal_symbols + uVar25 * 0x10 + 0xe);\n          *(undefined4 *)((int)ppGVar27 + -0xc) = 1;\n          *(undefined4 *)((int)ppGVar27 + -0x10) = 0;\n          __node_gen_2._M_h = (__hashtable_alloc *)&local_b0->fptr_section_id_;\n          *(__node_gen_type **)((int)ppGVar27 + -0x14) = &__node_gen_2;\n          *(Sized_relobj_file<32,_false> ***)((int)ppGVar27 + -0x18) = &local_80;\n          *(__hashtable_alloc **)((int)ppGVar27 + -0x1c) = __node_gen_2._M_h;\n          *(undefined1 **)((int)ppGVar27 + -0x20) = local_e0;\n          *(undefined4 *)((int)ppGVar27 + -0x24) = 0xd2ad1;\n          std::\n          _Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>,_std::__detail::_Identity,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n          ::\n          _M_insert<std::pair<gold::Relobj*,_unsigned_int>,_std::__detail::_AllocNode<std::allocator<std::__detail::_Hash_node<std::pair<gold::Relobj*,_unsigned_int>,_true>_>_>_>\n                    ();\n          ppGVar27 = (General_options **)((int)ppGVar27 + -4);\n        }" { (expression_statement "local_b0 = symtab->icf_;" (assignment_expression "local_b0 = symtab->icf_" identifier = (field_expression "symtab->icf_" identifier -> field_identifier)) ;) (expression_statement "local_80 = object;" (assignment_expression "local_80 = object" identifier = identifier) ;) (expression_statement "local_7c = (uint)*(ushort *)(plocal_symbols + uVar25 * 0x10 + 0xe);" (assignment_expression "local_7c = (uint)*(ushort *)(plocal_symbols + uVar25 * 0x10 + 0xe)" identifier = (binary_expression "(uint)*(ushort *)(plocal_symbols + uVar25 * 0x10 + 0xe)" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(ushort *)(plocal_symbols + uVar25 * 0x10 + 0xe)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(plocal_symbols + uVar25 * 0x10 + 0xe)" ( (binary_expression "plocal_symbols + uVar25 * 0x10 + 0xe" (binary_expression "plocal_symbols + uVar25 * 0x10" identifier + (binary_expression "uVar25 * 0x10" identifier * number_literal)) + number_literal) ))))) ;) (expression_statement "*(undefined4 *)((int)ppGVar27 + -0xc) = 1;" (assignment_expression "*(undefined4 *)((int)ppGVar27 + -0xc) = 1" (pointer_expression "*(undefined4 *)((int)ppGVar27 + -0xc)" * (cast_expression "(undefined4 *)((int)ppGVar27 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppGVar27 + -0xc)" ( (binary_expression "(int)ppGVar27 + -0xc" (cast_expression "(int)ppGVar27" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)((int)ppGVar27 + -0x10) = 0;" (assignment_expression "*(undefined4 *)((int)ppGVar27 + -0x10) = 0" (pointer_expression "*(undefined4 *)((int)ppGVar27 + -0x10)" * (cast_expression "(undefined4 *)((int)ppGVar27 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppGVar27 + -0x10)" ( (binary_expression "(int)ppGVar27 + -0x10" (cast_expression "(int)ppGVar27" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "__node_gen_2._M_h = (__hashtable_alloc *)&local_b0->fptr_section_id_;" (assignment_expression "__node_gen_2._M_h = (__hashtable_alloc *)&local_b0->fptr_section_id_" (field_expression "__node_gen_2._M_h" identifier . field_identifier) = (cast_expression "(__hashtable_alloc *)&local_b0->fptr_section_id_" ( (type_descriptor "__hashtable_alloc *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&local_b0->fptr_section_id_" & (field_expression "local_b0->fptr_section_id_" identifier -> field_identifier)))) ;) (expression_statement "*(__node_gen_type **)((int)ppGVar27 + -0x14) = &__node_gen_2;" (assignment_expression "*(__node_gen_type **)((int)ppGVar27 + -0x14) = &__node_gen_2" (pointer_expression "*(__node_gen_type **)((int)ppGVar27 + -0x14)" * (cast_expression "(__node_gen_type **)((int)ppGVar27 + -0x14)" ( (type_descriptor "__node_gen_type **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)ppGVar27 + -0x14)" ( (binary_expression "(int)ppGVar27 + -0x14" (cast_expression "(int)ppGVar27" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "&__node_gen_2" & identifier)) ;) (expression_statement "*(Sized_relobj_file<32,_false> ***)((int)ppGVar27 + -0x18) = &local_80;" (assignment_expression "*(Sized_relobj_file<32,_false> ***)((int)ppGVar27 + -0x18) = &local_80" (pointer_expression "*(Sized_relobj_file<32,_false> ***)((int)ppGVar27 + -0x18)" * (call_expression "(Sized_relobj_file<32,_false> ***)((int)ppGVar27 + -0x18)" (parenthesized_expression "(Sized_relobj_file<32,_false> ***)" ( (comma_expression "Sized_relobj_file<32,_false> ***" (binary_expression "Sized_relobj_file<32" identifier < number_literal) , (binary_expression "_false> ***" identifier > (pointer_expression "***" * (pointer_expression "**" * (pointer_expression "*" * identifier))))) )) (argument_list "((int)ppGVar27 + -0x18)" ( (binary_expression "(int)ppGVar27 + -0x18" (cast_expression "(int)ppGVar27" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "&local_80" & identifier)) ;) (expression_statement "*(__hashtable_alloc **)((int)ppGVar27 + -0x1c) = __node_gen_2._M_h;" (assignment_expression "*(__hashtable_alloc **)((int)ppGVar27 + -0x1c) = __node_gen_2._M_h" (pointer_expression "*(__hashtable_alloc **)((int)ppGVar27 + -0x1c)" * (cast_expression "(__hashtable_alloc **)((int)ppGVar27 + -0x1c)" ( (type_descriptor "__hashtable_alloc **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)ppGVar27 + -0x1c)" ( (binary_expression "(int)ppGVar27 + -0x1c" (cast_expression "(int)ppGVar27" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (field_expression "__node_gen_2._M_h" identifier . field_identifier)) ;) (expression_statement "*(undefined1 **)((int)ppGVar27 + -0x20) = local_e0;" (assignment_expression "*(undefined1 **)((int)ppGVar27 + -0x20) = local_e0" (pointer_expression "*(undefined1 **)((int)ppGVar27 + -0x20)" * (cast_expression "(undefined1 **)((int)ppGVar27 + -0x20)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)ppGVar27 + -0x20)" ( (binary_expression "(int)ppGVar27 + -0x20" (cast_expression "(int)ppGVar27" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)ppGVar27 + -0x24) = 0xd2ad1;" (assignment_expression "*(undefined4 *)((int)ppGVar27 + -0x24) = 0xd2ad1" (pointer_expression "*(undefined4 *)((int)ppGVar27 + -0x24)" * (cast_expression "(undefined4 *)((int)ppGVar27 + -0x24)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppGVar27 + -0x24)" ( (binary_expression "(int)ppGVar27 + -0x24" (cast_expression "(int)ppGVar27" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (ERROR "std::\n          _Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>,_std::__detail::_Identity,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::" (comma_expression "std::\n          _Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std" identifier (ERROR "::\n          _Hashtable<std::pair<gold::Relobj*,_unsigned_int>" : : (binary_expression "_Hashtable<std" identifier < identifier) : : (binary_expression "pair<gold" identifier < identifier) : : identifier * , identifier >) , identifier) : : (binary_expression "pair<gold" identifier < identifier) : : (binary_expression "Relobj*,_unsigned_int>,_std" (binary_expression "Relobj*,_unsigned_int" identifier * (ERROR "," ,) identifier) > (ERROR "," ,) identifier) : : (binary_expression "allocator<std" identifier < identifier) : : (binary_expression "pair<gold" identifier < identifier) : : (binary_expression "Relobj*,_unsigned_int>_>,_std" (binary_expression "Relobj*,_unsigned_int>_" (binary_expression "Relobj*,_unsigned_int" identifier * (ERROR "," ,) identifier) > identifier) > (ERROR "," ,) identifier) : : (comma_expression "__detail::_Identity,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold" identifier (ERROR "::_Identity,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>" : : (comma_expression "_Identity,_std" identifier , identifier) : : (binary_expression "equal_to<std" identifier < identifier) : : (binary_expression "pair<gold" identifier < identifier) : : identifier * , (binary_expression "_unsigned_int>_" identifier > identifier) >) , identifier) : : (comma_expression "Section_id_hash,_std" identifier , identifier) : :) (labeled_statement "__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n          ::\n          _M_insert<std::pair<gold::Relobj*,_unsigned_int>,_std::__detail::_AllocNode<std::allocator<std::__detail::_Hash_node<std::pair<gold::Relobj*,_unsigned_int>,_true>_>_>_>\n                    ();" statement_identifier (ERROR "::_Mod_range_hashing,_std:" : : (comma_expression "_Mod_range_hashing,_std" identifier , identifier) :) : (labeled_statement "__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n          ::\n          _M_insert<std::pair<gold::Relobj*,_unsigned_int>,_std::__detail::_AllocNode<std::allocator<std::__detail::_Hash_node<std::pair<gold::Relobj*,_unsigned_int>,_true>_>_>_>\n                    ();" statement_identifier (ERROR "::_Default_ranged_hash,_std:" : : (comma_expression "_Default_ranged_hash,_std" identifier , identifier) :) : (labeled_statement "__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n          ::\n          _M_insert<std::pair<gold::Relobj*,_unsigned_int>,_std::__detail::_AllocNode<std::allocator<std::__detail::_Hash_node<std::pair<gold::Relobj*,_unsigned_int>,_true>_>_>_>\n                    ();" statement_identifier (ERROR "::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n          ::\n          _M_insert<std::pair<gold::Relobj*,_unsigned_int>,_std:" : : (comma_expression "_Prime_rehash_policy,_std" identifier , identifier) : : (comma_expression "__detail::_Hashtable_traits<true,_true,_true>_>\n          ::\n          _M_insert<std::pair<gold::Relobj*,_unsigned_int>,_std" identifier (ERROR "::_Hashtable_traits<true,_true,_true>_>\n          ::\n          _M_insert<std::pair<gold::Relobj*,_unsigned_int>" : : (comma_expression "_Hashtable_traits<true,_true,_true>_>\n          ::\n          _M_insert<std" (binary_expression "_Hashtable_traits<true" identifier < true) , (comma_expression "_true,_true>_>\n          ::\n          _M_insert<std" identifier , (binary_expression "_true>_>\n          ::\n          _M_insert<std" (binary_expression "_true>_>\n          ::\n          _M_insert" (binary_expression "_true>_" identifier > identifier) > (ERROR "::" : :) identifier) < identifier))) : : (binary_expression "pair<gold" identifier < identifier) : : identifier * , identifier >) , identifier) :) : (labeled_statement "__detail::_AllocNode<std::allocator<std::__detail::_Hash_node<std::pair<gold::Relobj*,_unsigned_int>,_true>_>_>_>\n                    ();" statement_identifier (ERROR "::_AllocNode<std::allocator<std:" : : (binary_expression "_AllocNode<std" identifier < identifier) : : (binary_expression "allocator<std" identifier < identifier) :) : (expression_statement "__detail::_Hash_node<std::pair<gold::Relobj*,_unsigned_int>,_true>_>_>_>\n                    ();" (comma_expression "__detail::_Hash_node<std::pair<gold::Relobj*,_unsigned_int>,_true>_>_>_>\n                    ()" identifier (ERROR "::_Hash_node<std::pair<gold::Relobj*,_unsigned_int>" : : (binary_expression "_Hash_node<std" identifier < identifier) : : (binary_expression "pair<gold" identifier < identifier) : : identifier * , identifier >) , (binary_expression "_true>_>_>_>\n                    ()" (binary_expression "_true>_>_>_" (binary_expression "_true>_>_" (binary_expression "_true>_" identifier > identifier) > identifier) > identifier) > (parenthesized_expression "()" ( identifier )))) ;))))) (expression_statement "ppGVar27 = (General_options **)((int)ppGVar27 + -4);" (assignment_expression "ppGVar27 = (General_options **)((int)ppGVar27 + -4)" identifier = (cast_expression "(General_options **)((int)ppGVar27 + -4)" ( (type_descriptor "General_options **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)ppGVar27 + -4)" ( (binary_expression "(int)ppGVar27 + -4" (cast_expression "(int)ppGVar27" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) })) if (parenthesized_expression "((Relobj *)data_shndx != local_b4)" ( (binary_expression "(Relobj *)data_shndx != local_b4" (cast_expression "(Relobj *)data_shndx" ( (type_descriptor "Relobj *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) != identifier) )) { (expression_statement "local_c0 = (Output_segment *)object;" (assignment_expression "local_c0 = (Output_segment *)object" identifier = (cast_expression "(Output_segment *)object" ( (type_descriptor "Output_segment *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "puVar26 = ppGVar27;" (assignment_expression "puVar26 = ppGVar27" identifier = identifier) ;) (labeled_statement "LAB_000d275e:\n          if ((*local_dc)->options_ == (General_options *)0x0) {\n            puVar26[-2] = local_b8 + -0x61176;\n            puVar26[-3] = 0x5c;\n            puVar26[-4] = (int)local_b8 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n            puVar26[-5] = 0xd2f6e;\n            gold::do_gold_unreachable((char *)puVar26[-4],puVar26[-3],(char *)puVar26[-2]);\n          }" statement_identifier : (if_statement "if ((*local_dc)->options_ == (General_options *)0x0) {\n            puVar26[-2] = local_b8 + -0x61176;\n            puVar26[-3] = 0x5c;\n            puVar26[-4] = (int)local_b8 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n            puVar26[-5] = 0xd2f6e;\n            gold::do_gold_unreachable((char *)puVar26[-4],puVar26[-3],(char *)puVar26[-2]);\n          }" if (parenthesized_expression "((*local_dc)->options_ == (General_options *)0x0)" ( (binary_expression "(*local_dc)->options_ == (General_options *)0x0" (field_expression "(*local_dc)->options_" (parenthesized_expression "(*local_dc)" ( (pointer_expression "*local_dc" * identifier) )) -> field_identifier) == (cast_expression "(General_options *)0x0" ( (type_descriptor "General_options *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n            puVar26[-2] = local_b8 + -0x61176;\n            puVar26[-3] = 0x5c;\n            puVar26[-4] = (int)local_b8 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n            puVar26[-5] = 0xd2f6e;\n            gold::do_gold_unreachable((char *)puVar26[-4],puVar26[-3],(char *)puVar26[-2]);\n          }" { (expression_statement "puVar26[-2] = local_b8 + -0x61176;" (assignment_expression "puVar26[-2] = local_b8 + -0x61176" (subscript_expression "puVar26[-2]" identifier [ number_literal ]) = (binary_expression "local_b8 + -0x61176" identifier + number_literal)) ;) (expression_statement "puVar26[-3] = 0x5c;" (assignment_expression "puVar26[-3] = 0x5c" (subscript_expression "puVar26[-3]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar26[-4] = (int)local_b8 + -0x1a1d93;" (assignment_expression "puVar26[-4] = (int)local_b8 + -0x1a1d93" (subscript_expression "puVar26[-4]" identifier [ number_literal ]) = (binary_expression "(int)local_b8 + -0x1a1d93" (cast_expression "(int)local_b8" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) comment (expression_statement "puVar26[-5] = 0xd2f6e;" (assignment_expression "puVar26[-5] = 0xd2f6e" (subscript_expression "puVar26[-5]" identifier [ number_literal ]) = number_literal) ;) (labeled_statement "gold::do_gold_unreachable((char *)puVar26[-4],puVar26[-3],(char *)puVar26[-2]);" statement_identifier : (ERROR ":" :) (expression_statement "do_gold_unreachable((char *)puVar26[-4],puVar26[-3],(char *)puVar26[-2]);" (call_expression "do_gold_unreachable((char *)puVar26[-4],puVar26[-3],(char *)puVar26[-2])" identifier (argument_list "((char *)puVar26[-4],puVar26[-3],(char *)puVar26[-2])" ( (cast_expression "(char *)puVar26[-4]" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar26[-4]" identifier [ number_literal ])) , (subscript_expression "puVar26[-3]" identifier [ number_literal ]) , (cast_expression "(char *)puVar26[-2]" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar26[-2]" identifier [ number_literal ])) ))) ;)) }))) (expression_statement "ppGVar27 = (General_options **)puVar26;" (assignment_expression "ppGVar27 = (General_options **)puVar26" identifier = (cast_expression "(General_options **)puVar26" ( (type_descriptor "General_options **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) ;) if (parenthesized_expression "(((*local_dc)->options_->gc_sections_).value != false)" ( (binary_expression "((*local_dc)->options_->gc_sections_).value != false" (field_expression "((*local_dc)->options_->gc_sections_).value" (parenthesized_expression "((*local_dc)->options_->gc_sections_)" ( (field_expression "(*local_dc)->options_->gc_sections_" (field_expression "(*local_dc)->options_" (parenthesized_expression "(*local_dc)" ( (pointer_expression "*local_dc" * identifier) )) -> field_identifier) -> field_identifier) )) . field_identifier) != false) )) { (expression_statement "src_id_1.first = (Relobj *)object;" (assignment_expression "src_id_1.first = (Relobj *)object" (field_expression "src_id_1.first" identifier . field_identifier) = (cast_expression "(Relobj *)object" ( (type_descriptor "Relobj *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "p_Var1 = &(symtab->gc_->section_reloc_map_)._M_t._M_impl.super__Rb_tree_header;" (assignment_expression "p_Var1 = &(symtab->gc_->section_reloc_map_)._M_t._M_impl.super__Rb_tree_header" identifier = (pointer_expression "&(symtab->gc_->section_reloc_map_)._M_t._M_impl.super__Rb_tree_header" & (field_expression "(symtab->gc_->section_reloc_map_)._M_t._M_impl.super__Rb_tree_header" (field_expression "(symtab->gc_->section_reloc_map_)._M_t._M_impl" (field_expression "(symtab->gc_->section_reloc_map_)._M_t" (parenthesized_expression "(symtab->gc_->section_reloc_map_)" ( (field_expression "symtab->gc_->section_reloc_map_" (field_expression "symtab->gc_" identifier -> field_identifier) -> field_identifier) )) . field_identifier) . field_identifier) . field_identifier))) ;) (expression_statement "src_id_1.second = data_shndx;" (assignment_expression "src_id_1.second = data_shndx" (field_expression "src_id_1.second" identifier . field_identifier) = identifier) ;) (expression_statement "dst_id.first = (Relobj *)local_c0;" (assignment_expression "dst_id.first = (Relobj *)local_c0" (field_expression "dst_id.first" identifier . field_identifier) = (cast_expression "(Relobj *)local_c0" ( (type_descriptor "Relobj *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "dst_id.second = (uint)local_b4;" (assignment_expression "dst_id.second = (uint)local_b4" (field_expression "dst_id.second" identifier . field_identifier) = (cast_expression "(uint)local_b4" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (expression_statement "p_Var8 = (symtab->gc_->section_reloc_map_)._M_t._M_impl.super__Rb_tree_header._M_header.\n                     _M_parent;" (assignment_expression "p_Var8 = (symtab->gc_->section_reloc_map_)._M_t._M_impl.super__Rb_tree_header._M_header.\n                     _M_parent" identifier = (field_expression "(symtab->gc_->section_reloc_map_)._M_t._M_impl.super__Rb_tree_header._M_header.\n                     _M_parent" (field_expression "(symtab->gc_->section_reloc_map_)._M_t._M_impl.super__Rb_tree_header._M_header" (field_expression "(symtab->gc_->section_reloc_map_)._M_t._M_impl.super__Rb_tree_header" (field_expression "(symtab->gc_->section_reloc_map_)._M_t._M_impl" (field_expression "(symtab->gc_->section_reloc_map_)._M_t" (parenthesized_expression "(symtab->gc_->section_reloc_map_)" ( (field_expression "symtab->gc_->section_reloc_map_" (field_expression "symtab->gc_" identifier -> field_identifier) -> field_identifier) )) . field_identifier) . field_identifier) . field_identifier) . field_identifier) . field_identifier)) ;) (expression_statement "p_Var20 = &p_Var1->_M_header;" (assignment_expression "p_Var20 = &p_Var1->_M_header" identifier = (pointer_expression "&p_Var1->_M_header" & (field_expression "p_Var1->_M_header" identifier -> field_identifier))) ;) if (parenthesized_expression "(p_Var8 == (_Base_ptr)0x0)" ( (binary_expression "p_Var8 == (_Base_ptr)0x0" identifier == (cast_expression "(_Base_ptr)0x0" ( (type_descriptor "_Base_ptr" type_identifier) ) number_literal)) )) { (labeled_statement "LAB_000d27f0:\n              puVar26[-4] = &local_88;" statement_identifier : (expression_statement "puVar26[-4] = &local_88;" (assignment_expression "puVar26[-4] = &local_88" (subscript_expression "puVar26[-4]" identifier [ number_literal ]) = (pointer_expression "&local_88" & identifier)) ;)) (expression_statement "local_88 = &src_id_1;" (assignment_expression "local_88 = &src_id_1" identifier = (pointer_expression "&src_id_1" & identifier)) ;) (expression_statement "puVar26[-5] = 0xd2811;" (assignment_expression "puVar26[-5] = 0xd2811" (subscript_expression "puVar26[-5]" identifier [ number_literal ]) = number_literal) ;) (ERROR "std::\n              _Rb_tree<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>,_std::_Select1st<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>_>,_std::less<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>_>_>\n              ::\n              _M_emplace_hint_unique<const_std::piecewise_construct_t&,_std::tuple<const_std::pair<gold::Relobj*,_unsigned_int>&>,_std::" (comma_expression "std::\n              _Rb_tree<std::pair<gold::Relobj*,_unsigned_int>,_std" identifier (ERROR "::\n              _Rb_tree<std::pair<gold::Relobj*,_unsigned_int>" : : (binary_expression "_Rb_tree<std" identifier < identifier) : : (binary_expression "pair<gold" identifier < identifier) : : identifier * , identifier >) , identifier) : : (binary_expression "pair<const_std" identifier < identifier) : : (binary_expression "pair<gold" identifier < identifier) : : (binary_expression "Relobj*,_unsigned_int>,_std" (binary_expression "Relobj*,_unsigned_int" identifier * (ERROR "," ,) identifier) > (ERROR "," ,) identifier) : : (binary_expression "unordered_set<std" identifier < identifier) : : (binary_expression "pair<gold" identifier < identifier) : : (binary_expression "Relobj*,_unsigned_int>,_gold" (binary_expression "Relobj*,_unsigned_int" identifier * (ERROR "," ,) identifier) > (ERROR "," ,) identifier) : : (comma_expression "Section_id_hash,_std" identifier , identifier) : : (binary_expression "equal_to<std" identifier < identifier) : : (binary_expression "pair<gold" identifier < identifier) : : (binary_expression "Relobj*,_unsigned_int>_>,_std" (binary_expression "Relobj*,_unsigned_int>_" (binary_expression "Relobj*,_unsigned_int" identifier * (ERROR "," ,) identifier) > identifier) > (ERROR "," ,) identifier) : : (binary_expression "allocator<std" identifier < identifier) : : (binary_expression "pair<gold" identifier < identifier) : : (binary_expression "Relobj*,_unsigned_int>_>_>_>,_std" (binary_expression "Relobj*,_unsigned_int>_>_>_" (binary_expression "Relobj*,_unsigned_int>_>_" (binary_expression "Relobj*,_unsigned_int>_" (binary_expression "Relobj*,_unsigned_int" identifier * (ERROR "," ,) identifier) > identifier) > identifier) > identifier) > (ERROR "," ,) identifier) : : (binary_expression "_Select1st<std" identifier < identifier) : : (binary_expression "pair<const_std" identifier < identifier) : : (binary_expression "pair<gold" identifier < identifier) : : (binary_expression "Relobj*,_unsigned_int>,_std" (binary_expression "Relobj*,_unsigned_int" identifier * (ERROR "," ,) identifier) > (ERROR "," ,) identifier) : : (binary_expression "unordered_set<std" identifier < identifier) : : (binary_expression "pair<gold" identifier < identifier) : : (binary_expression "Relobj*,_unsigned_int>,_gold" (binary_expression "Relobj*,_unsigned_int" identifier * (ERROR "," ,) identifier) > (ERROR "," ,) identifier) : : (comma_expression "Section_id_hash,_std" identifier , identifier) : : (binary_expression "equal_to<std" identifier < identifier) : : (binary_expression "pair<gold" identifier < identifier) : : (binary_expression "Relobj*,_unsigned_int>_>,_std" (binary_expression "Relobj*,_unsigned_int>_" (binary_expression "Relobj*,_unsigned_int" identifier * (ERROR "," ,) identifier) > identifier) > (ERROR "," ,) identifier) : : (binary_expression "allocator<std" identifier < identifier) : : (binary_expression "pair<gold" identifier < identifier) : : (binary_expression "Relobj*,_unsigned_int>_>_>_>_>,_std" (binary_expression "Relobj*,_unsigned_int>_>_>_>_" (binary_expression "Relobj*,_unsigned_int>_>_>_" (binary_expression "Relobj*,_unsigned_int>_>_" (binary_expression "Relobj*,_unsigned_int>_" (binary_expression "Relobj*,_unsigned_int" identifier * (ERROR "," ,) identifier) > identifier) > identifier) > identifier) > identifier) > (ERROR "," ,) identifier) : : (binary_expression "less<std" identifier < identifier) : : (binary_expression "pair<gold" identifier < identifier) : : (binary_expression "Relobj*,_unsigned_int>_>,_std" (binary_expression "Relobj*,_unsigned_int>_" (binary_expression "Relobj*,_unsigned_int" identifier * (ERROR "," ,) identifier) > identifier) > (ERROR "," ,) identifier) : : (binary_expression "allocator<std" identifier < identifier) : : (binary_expression "pair<const_std" identifier < identifier) : : (binary_expression "pair<gold" identifier < identifier) : : (binary_expression "Relobj*,_unsigned_int>,_std" (binary_expression "Relobj*,_unsigned_int" identifier * (ERROR "," ,) identifier) > (ERROR "," ,) identifier) : : (binary_expression "unordered_set<std" identifier < identifier) : : (binary_expression "pair<gold" identifier < identifier) : : (binary_expression "Relobj*,_unsigned_int>,_gold" (binary_expression "Relobj*,_unsigned_int" identifier * (ERROR "," ,) identifier) > (ERROR "," ,) identifier) : : (comma_expression "Section_id_hash,_std" identifier , identifier) : : (binary_expression "equal_to<std" identifier < identifier) : : (binary_expression "pair<gold" identifier < identifier) : : (binary_expression "Relobj*,_unsigned_int>_>,_std" (binary_expression "Relobj*,_unsigned_int>_" (binary_expression "Relobj*,_unsigned_int" identifier * (ERROR "," ,) identifier) > identifier) > (ERROR "," ,) identifier) : : (binary_expression "allocator<std" identifier < identifier) : : (binary_expression "pair<gold" identifier < identifier) : : (binary_expression "Relobj*,_unsigned_int>_>_>_>_>_>\n              ::\n              _M_emplace_hint_unique<const_std" (binary_expression "Relobj*,_unsigned_int>_>_>_>_>_>\n              ::\n              _M_emplace_hint_unique" (binary_expression "Relobj*,_unsigned_int>_>_>_>_>_" (binary_expression "Relobj*,_unsigned_int>_>_>_>_" (binary_expression "Relobj*,_unsigned_int>_>_>_" (binary_expression "Relobj*,_unsigned_int>_>_" (binary_expression "Relobj*,_unsigned_int>_" (binary_expression "Relobj*,_unsigned_int" identifier * (ERROR "," ,) identifier) > identifier) > identifier) > identifier) > identifier) > identifier) > (ERROR "::" : :) identifier) < identifier) : : (binary_expression "piecewise_construct_t&,_std" identifier & (ERROR "," ,) identifier) : : (binary_expression "tuple<const_std" identifier < identifier) : : (binary_expression "pair<gold" identifier < identifier) : : (binary_expression "Relobj*,_unsigned_int>&>,_std" (binary_expression "Relobj*,_unsigned_int" identifier * (ERROR "," ,) identifier) > (pointer_expression "&>,_std" & (ERROR ">," > ,) identifier)) : :) (binary_expression "tuple<>_" identifier < (ERROR ">" >) identifier) > ( ( (ERROR "_Rb_tree<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>,_std::_Select1st<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>_>,_std::less<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*," (comma_expression "_Rb_tree<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std" (binary_expression "_Rb_tree<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold" (binary_expression "_Rb_tree<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int" (binary_expression "_Rb_tree<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_std::unordered_set<std::pair<gold" (binary_expression "_Rb_tree<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_std::unordered_set<std" (binary_expression "_Rb_tree<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_std" (binary_expression "_Rb_tree<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<const_std::pair<gold::Relobj*,_unsigned_int" (binary_expression "_Rb_tree<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<const_std::pair<gold" (binary_expression "_Rb_tree<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<const_std" (binary_expression "_Rb_tree<std::pair<gold::Relobj*,_unsigned_int>,_std" (binary_expression "_Rb_tree<std::pair<gold::Relobj*,_unsigned_int" (binary_expression "_Rb_tree<std::pair<gold" (binary_expression "_Rb_tree<std" identifier < identifier) (ERROR "::pair" : : identifier) < identifier) (ERROR "::Relobj" : : identifier) * (ERROR "," ,) identifier) > (ERROR "," ,) identifier) (ERROR "::pair" : : identifier) < identifier) (ERROR "::pair" : : identifier) < identifier) (ERROR "::Relobj" : : identifier) * (ERROR "," ,) identifier) > (ERROR "," ,) identifier) (ERROR "::unordered_set" : : identifier) < identifier) (ERROR "::pair" : : identifier) < identifier) (ERROR "::Relobj" : : identifier) * (ERROR "," ,) identifier) > (ERROR "," ,) identifier) (ERROR "::Section_id_hash" : : identifier) , identifier) : : (binary_expression "equal_to<std" identifier < identifier) : : (binary_expression "pair<gold" identifier < identifier) : : (type_descriptor "Relobj*" type_identifier (abstract_pointer_declarator "*" *)) , (binary_expression "_unsigned_int>_>,_std" (binary_expression "_unsigned_int>_" identifier > identifier) > (ERROR "," ,) identifier) : : (binary_expression "allocator<std" identifier < identifier) : : (binary_expression "pair<gold" identifier < identifier) : : (type_descriptor "Relobj*" type_identifier (abstract_pointer_declarator "*" *)) , (binary_expression "_unsigned_int>_>_>_>,_std" (binary_expression "_unsigned_int>_>_>_" (binary_expression "_unsigned_int>_>_" (binary_expression "_unsigned_int>_" identifier > identifier) > identifier) > identifier) > (ERROR "," ,) identifier) : : (binary_expression "_Select1st<std" identifier < identifier) : : (binary_expression "pair<const_std" identifier < identifier) : : (binary_expression "pair<gold" identifier < identifier) : : (type_descriptor "Relobj*" type_identifier (abstract_pointer_declarator "*" *)) , (binary_expression "_unsigned_int>,_std" identifier > (ERROR "," ,) identifier) : : (binary_expression "unordered_set<std" identifier < identifier) : : (binary_expression "pair<gold" identifier < identifier) : : (type_descriptor "Relobj*" type_identifier (abstract_pointer_declarator "*" *)) , (binary_expression "_unsigned_int>,_gold" identifier > (ERROR "," ,) identifier) : : (comma_expression "Section_id_hash,_std" identifier , identifier) : : (binary_expression "equal_to<std" identifier < identifier) : : (binary_expression "pair<gold" identifier < identifier) : : (type_descriptor "Relobj*" type_identifier (abstract_pointer_declarator "*" *)) , (binary_expression "_unsigned_int>_>,_std" (binary_expression "_unsigned_int>_" identifier > identifier) > (ERROR "," ,) identifier) : : (binary_expression "allocator<std" identifier < identifier) : : (binary_expression "pair<gold" identifier < identifier) : : (type_descriptor "Relobj*" type_identifier (abstract_pointer_declarator "*" *)) , (binary_expression "_unsigned_int>_>_>_>_>,_std" (binary_expression "_unsigned_int>_>_>_>_" (binary_expression "_unsigned_int>_>_>_" (binary_expression "_unsigned_int>_>_" (binary_expression "_unsigned_int>_" identifier > identifier) > identifier) > identifier) > identifier) > (ERROR "," ,) identifier) : : (binary_expression "less<std" identifier < identifier) : : (binary_expression "pair<gold" identifier < identifier) : : (type_descriptor "Relobj*" type_identifier (abstract_pointer_declarator "*" *)) , (binary_expression "_unsigned_int>_>,_std" (binary_expression "_unsigned_int>_" identifier > identifier) > (ERROR "," ,) identifier) : : (binary_expression "allocator<std" identifier < identifier) : : (binary_expression "pair<const_std" identifier < identifier) : : (binary_expression "pair<gold" identifier < identifier) : : (type_descriptor "Relobj*" type_identifier (abstract_pointer_declarator "*" *)) , (binary_expression "_unsigned_int>,_std" identifier > (ERROR "," ,) identifier) : : (binary_expression "unordered_set<std" identifier < identifier) : : (binary_expression "pair<gold" identifier < identifier) : : (type_descriptor "Relobj*" type_identifier (abstract_pointer_declarator "*" *)) , (binary_expression "_unsigned_int>,_gold" identifier > (ERROR "," ,) identifier) : : (comma_expression "Section_id_hash,_std" identifier , identifier) : : (binary_expression "equal_to<std" identifier < identifier) : : (binary_expression "pair<gold" identifier < identifier) : : (type_descriptor "Relobj*" type_identifier (abstract_pointer_declarator "*" *)) , (binary_expression "_unsigned_int>_>,_std" (binary_expression "_unsigned_int>_" identifier > identifier) > (ERROR "," ,) identifier) : : (binary_expression "allocator<std" identifier < identifier) : : (binary_expression "pair<gold" identifier < identifier) : : (type_descriptor "Relobj*" type_identifier (abstract_pointer_declarator "*" *)) ,) (binary_expression "_unsigned_int>_>_>_>_>_>\n                          *)puVar26[-4]" (binary_expression "_unsigned_int>_>_>_>_>_" (binary_expression "_unsigned_int>_>_>_>_" (binary_expression "_unsigned_int>_>_>_" (binary_expression "_unsigned_int>_>_" (binary_expression "_unsigned_int>_" identifier > identifier) > identifier) > identifier) > identifier) > identifier) > (pointer_expression "*)puVar26[-4]" * (ERROR ")" )) (subscript_expression "puVar26[-4]" identifier [ number_literal ]))) , (cast_expression "(_Base_ptr)puVar26[-3]" ( (type_descriptor "_Base_ptr" type_identifier) ) (subscript_expression "puVar26[-3]" identifier [ number_literal ])) , ( (ERROR "tuple<const_std::pair<gold::Relobj*,_unsigned_int>&> *)puVar26[-2],\n                         (tuple<> *)puVar26[-1],(piecewise_construct_t *)*puVar26);\n              p_Var21 = local_a8;\n            }\n            else" (comma_expression "tuple<const_std::pair<gold::Relobj*,_unsigned_int>&> *)puVar26[-2],\n                         (tuple<> *)puVar26[-1],(piecewise_construct_t *)*puVar26)" (binary_expression "tuple<const_std::pair<gold::Relobj*,_unsigned_int>&> *)puVar26[-2]" (binary_expression "tuple<const_std::pair<gold::Relobj*,_unsigned_int" (binary_expression "tuple<const_std::pair<gold" (binary_expression "tuple<const_std" identifier < identifier) (ERROR "::pair" : : identifier) < identifier) (ERROR "::Relobj" : : identifier) * (ERROR "," ,) identifier) > (pointer_expression "&> *)puVar26[-2]" & (ERROR ">" >) (pointer_expression "*)puVar26[-2]" * (ERROR ")" )) (subscript_expression "puVar26[-2]" identifier [ number_literal ])))) , (parenthesized_expression "(tuple<> *)puVar26[-1],(piecewise_construct_t *)*puVar26)" ( (comma_expression "tuple<> *)puVar26[-1],(piecewise_construct_t *)*puVar26" (binary_expression "tuple<> *)puVar26[-1]" identifier < (ERROR ">" >) (pointer_expression "*)puVar26[-1]" * (ERROR ")" )) (subscript_expression "puVar26[-1]" identifier [ number_literal ]))) , (cast_expression "(piecewise_construct_t *)*puVar26" ( (type_descriptor "piecewise_construct_t *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar26" * identifier))) ))) ; (assignment_expression "p_Var21 = local_a8" identifier = identifier) ; } else) (compound_statement "{\n              do {\n                while ((p_Var21 = (_Rb_tree_header *)p_Var8,\n                       object <= (Sized_relobj_file<32,_false> *)\n                                 ((_Base_ptr)((int)p_Var21 + 0x10))->_M_color &&\n                       ((object != (Sized_relobj_file<32,_false> *)\n                                   ((_Base_ptr)((int)p_Var21 + 0x10))->_M_color ||\n                        (data_shndx <= ((size_t *)((int)p_Var21 + 0x10))[1]))))) {\n                  p_Var8 = (p_Var21->_M_header)._M_left;\n                  p_Var20 = &p_Var21->_M_header;\n                  if ((p_Var21->_M_header)._M_left == (_Base_ptr)0x0) goto LAB_000d27da;\n                }\n                pp_Var2 = &(p_Var21->_M_header)._M_right;\n                p_Var8 = *pp_Var2;\n                p_Var21 = (_Rb_tree_header *)p_Var20;\n              } while (*pp_Var2 != (_Base_ptr)0x0);\nLAB_000d27da:\n              if (((p_Var1 == p_Var21) ||\n                  (object < (Sized_relobj_file<32,_false> *)p_Var21->_M_node_count)) ||\n                 ((object == (Sized_relobj_file<32,_false> *)p_Var21->_M_node_count &&\n                  (data_shndx < *(uint *)(p_Var21 + 1))))) goto LAB_000d27f0;\n            }\n            __node_gen._M_h = (__hashtable_alloc *)((int)(p_Var21 + 1) + 4);\n            puVar26[-3] = 1;\n            puVar26[-4] = 0;\n            puVar26[-5] = local_f4;\n            puVar26[-6] = &dst_id;\n            puVar26[-7] = __node_gen._M_h;\n            puVar26[-8] = local_e0;\n            puVar26[-9] = 0xd2840;\n            std::\n            _Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>,_std::__detail::_Identity,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n            ::\n            _M_insert<const_std::pair<gold::Relobj*,_unsigned_int>&,_std::__detail::_AllocNode<std::allocator<std::__detail::_Hash_node<std::pair<gold::Relobj*,_unsigned_int>,_true>_>_>_>\n                      ();\n            pTVar9 = (*local_dc)->target_;\n            if (pTVar9 == (Target *)0x0) {\n              puVar26[-3] = local_b8 + -0x615c4;\n              puVar26[-4] = 0x73;\n              puVar26[-5] = (int)local_b8 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n              puVar26[-6] = 0xd2fad;\n              gold::do_gold_unreachable((char *)puVar26[-5],puVar26[-4],(char *)puVar26[-3]);\n            }\n            pp_Var17 = pTVar9->_vptr_Target;\n            puVar26[-3] = local_c4;\n            puVar26[-4] = local_b4;\n            puVar26[-5] = local_c0;\n            puVar26[-6] = data_shndx;\n            puVar26[-7] = object;\n            puVar26[-8] = symtab;\n            puVar26[-9] = pTVar9;\n            p_Var4 = pp_Var17[0x41];\n            puVar26[-10] = 0xd287d;\n            (*p_Var4)();\n            pp_Var17 = local_d8;\n            ppGVar27 = (General_options **)(puVar26 + -1);\n            if (local_d8 != (_func_int_varargs **)0x0) {\n              local_b4 = (Relobj *)&local_2c;\n              pGVar10 = symtab->gc_;\n              puVar26[-5] = local_d8;\n              local_b0 = (Icf *)&src_id;\n              src_id.first = (Relobj *)&local_2c;\n              puVar26[-6] = 0xd28bd;\n              sVar15 = strlen((char *)puVar26[-5]);\n              pIVar12 = local_b0;\n              puVar26[-2] = 0;\n              puVar26[-3] = (byte *)((int)pp_Var17 + sVar15);\n              puVar26[-4] = pp_Var17;\n              puVar26[-5] = local_b0;\n              puVar26[-6] = 0xd28d2;\n              std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n              _M_construct<char_const*>();\n              puVar26[-3] = pIVar12;\n              puVar26[-4] = &pGVar10->cident_sections_;\n              puVar26[-5] = &local_ac;\n              puVar26[-6] = 0xd28e6;\n              std::\n              _Rb_tree<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>,_std::_Select1st<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>_>,_std::less<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::allocator<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>_>_>\n              ::find((_Rb_tree<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>,_std::_Select1st<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>_>,_std::less<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::allocator<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>_>_>\n                      *)puVar26[-5],\n                     (basic_string<char,_std::char_traits<char>,_std::allocator<char>_> *)\n                     puVar26[-4]);\n              puVar13 = local_ac;\n              if (src_id.first != local_b4) {\n                puVar26[-6] = src_id.first;\n                puVar26[-7] = 0xd2909;\n                operator_delete((void *)puVar26[-6]);\n              }\n              ppGVar27 = (General_options **)(puVar26 + -2);\n              pGVar10 = symtab->gc_;\n              if ((_Rb_tree_header *)puVar13 !=\n                  &(pGVar10->cident_sections_)._M_t._M_impl.super__Rb_tree_header) {\n                p_Var1 = &(pGVar10->section_reloc_map_)._M_t._M_impl.super__Rb_tree_header;\n                src_id.first = (Relobj *)object;\n                src_id.second = data_shndx;\n                p_Var8 = (pGVar10->section_reloc_map_)._M_t._M_impl.super__Rb_tree_header._M_header.\n                         _M_parent;\n                p_Var20 = &p_Var1->_M_header;\n                if (p_Var8 == (_Base_ptr)0x0) {\nLAB_000d2bd8:\n                  puVar26[-6] = &local_84;\n                  local_84 = local_b0;\n                  puVar26[-7] = 0xd2bf6;\n                  std::\n                  _Rb_tree<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>,_std::_Select1st<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>_>,_std::less<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>_>_>\n                  ::\n                  _M_emplace_hint_unique<const_std::piecewise_construct_t&,_std::tuple<const_std::pair<gold::Relobj*,_unsigned_int>&>,_std::tuple<>_>\n                            ((_Rb_tree<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>,_std::_Select1st<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>_>,_std::less<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>_>_>\n                              *)puVar26[-6],(_Base_ptr)puVar26[-5],\n                             (tuple<const_std::pair<gold::Relobj*,_unsigned_int>&> *)puVar26[-4],\n                             (tuple<> *)puVar26[-3],(piecewise_construct_t *)puVar26[-2]);\n                  p_Var21 = local_a8;\n                }\n                else {\n                  do {\n                    while ((p_Var21 = (_Rb_tree_header *)p_Var8,\n                           object <= (Sized_relobj_file<32,_false> *)\n                                     ((_Base_ptr)((int)p_Var21 + 0x10))->_M_color &&\n                           ((object != (Sized_relobj_file<32,_false> *)\n                                       ((_Base_ptr)((int)p_Var21 + 0x10))->_M_color ||\n                            (data_shndx <= ((size_t *)((int)p_Var21 + 0x10))[1]))))) {\n                      p_Var8 = (p_Var21->_M_header)._M_left;\n                      p_Var20 = &p_Var21->_M_header;\n                      if ((p_Var21->_M_header)._M_left == (_Base_ptr)0x0) goto LAB_000d2962;\n                    }\n                    pp_Var2 = &(p_Var21->_M_header)._M_right;\n                    p_Var8 = *pp_Var2;\n                    p_Var21 = (_Rb_tree_header *)p_Var20;\n                  } while (*pp_Var2 != (_Base_ptr)0x0);\nLAB_000d2962:\n                  if (((p_Var21 == p_Var1) ||\n                      (object < (Sized_relobj_file<32,_false> *)p_Var21->_M_node_count)) ||\n                     ((object == (Sized_relobj_file<32,_false> *)p_Var21->_M_node_count &&\n                      (data_shndx < *(uint *)(p_Var21 + 1))))) goto LAB_000d2bd8;\n                }\n                ppGVar27 = (General_options **)(puVar26 + -2);\n                puVar26 = puVar26 + -2;\n                for (puVar11 = *(undefined4 **)(puVar13 + 0x30); puVar11 != (undefined4 *)0x0;\n                    puVar11 = (undefined4 *)*puVar11) {\n                  *(undefined4 *)((int)puVar26 + -0xc) = 1;\n                  *(undefined4 *)((int)puVar26 + -0x10) = 0;\n                  *(__node_gen_type **)((int)puVar26 + -0x14) = &__node_gen_1;\n                  *(undefined4 **)((int)puVar26 + -0x18) = puVar11 + 1;\n                  *(int *)((int)puVar26 + -0x1c) = (int)(p_Var21 + 1) + 4;\n                  *(undefined1 **)((int)puVar26 + -0x20) = local_e0;\n                  *(undefined4 *)((int)puVar26 + -0x24) = 0xd29ae;\n                  __node_gen_1._M_h = (__hashtable_alloc *)((int)(p_Var21 + 1) + 4);\n                  std::\n                  _Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>,_std::__detail::_Identity,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                  ::\n                  _M_insert<const_std::pair<gold::Relobj*,_unsigned_int>&,_std::__detail::_AllocNode<std::allocator<std::__detail::_Hash_node<std::pair<gold::Relobj*,_unsigned_int>,_true>_>_>_>\n                            ();\n                  ppGVar27 = (General_options **)((int)puVar26 + -4);\n                  puVar26 = (undefined4 *)((int)puVar26 + -4);\n                }\n              }\n            }\n          }\n        }\n      }\n      else {\n        if (uVar25 < object->local_symbol_count_) {\n          src_id_1.first = (Relobj *)0x0;\nLAB_000d2a1f:\n          *(undefined ***)((int)ppGVar27 + -8) = local_b8 + -0x615ed;\n          *(undefined4 *)((int)ppGVar27 + -0xc) = 0x11c;\n          *(int *)((int)ppGVar27 + -0x10) = (int)local_b8 + -0x19ca36;\n                    /* WARNING: Subroutine does not return */\n          *(undefined4 *)((int)ppGVar27 + -0x14) = 0xd2a40;\n          gold::do_gold_unreachable\n                    (*(char **)((int)ppGVar27 + -0x10),*(int *)((int)ppGVar27 + -0xc),\n                     *(char **)((int)ppGVar27 + -8));\n        }\n        uVar25 = uVar25 - object->local_symbol_count_;\n        ppSVar7 = (object->symbols_).\n                  super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl._M_start\n        ;\n        local_b0 = (Icf *)(object->symbols_).\n                          super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                          _M_finish;\n        if ((uint)((int)local_b0 - (int)ppSVar7 >> 2) <= uVar25) {\n          *(undefined ***)((int)ppGVar27 + -8) = local_b8 + -0x6156c;\n          *(undefined4 *)((int)ppGVar27 + -0xc) = 0x8ad;\n          *(int *)((int)ppGVar27 + -0x10) = (int)local_b8 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n          *(undefined4 *)((int)ppGVar27 + -0x14) = 0xd2f8f;\n          gold::do_gold_unreachable\n                    (*(char **)((int)ppGVar27 + -0x10),*(int *)((int)ppGVar27 + -0xc),\n                     *(char **)((int)ppGVar27 + -8));\n        }\n        src_id_1.first = (Relobj *)ppSVar7[uVar25];\n        if (src_id_1.first == (Relobj *)0x0) goto LAB_000d2a1f;\n        if ((((src_id_1.first)->super_Object).shnum_ & 0x100000) == 0) {\n          if ((((src_id_1.first)->super_Object).shnum_ & 0x70000) != 0) goto LAB_000d29e2;\nLAB_000d25f7:\n          local_f0 = (Relobj *)((src_id_1.first)->super_Object).xindex_;\n          local_c0 = ((anon_union_4_3_b0f6f408_for_u1_ *)\n                     &((src_id_1.first)->super_Object).name_._M_string_length)->output_segment;\n          local_c4 = (int)&local_bc->first + (int)local_f0;\n          if (((uint)local_c0->output_lists_[3].\n                     super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>.\n                     _M_impl._M_end_of_storage & 1) == 0) {\n            local_b4 = (Relobj *)\n                       ((src_id_1.first)->super_Object).name_.field_2._M_allocated_capacity;\n            bVar22 = (byte)((src_id_1.first)->super_Object).shnum_ & 0xf;\n            bVar23 = *(byte *)((int)&((src_id_1.first)->super_Object).shnum_ + 3) >> 5 & 1;\n            bVar34 = bVar22 < 2;\n            bVar36 = bVar22 == 2;\n            if (bVar36) {\n              bVar34 = false;\n              bVar36 = local_d2 == false;\n              if ((!bVar36) &&\n                 (((bVar23 == 0 || (bVar36 = uVar31 == 0x17, 0x17 < uVar31)) ||\n                  (bVar34 = (0x843f84U >> (uVar6 & 0x1f) & 1) != 0, !bVar34)))) {\n                local_b0 = symtab->icf_;\n                *(undefined4 *)((int)ppGVar27 + -0xc) = 1;\n                *(undefined4 *)((int)ppGVar27 + -0x10) = 0;\n                *(__node_gen_type **)((int)ppGVar27 + -0x14) = &__node_gen_3;\n                *(Output_segment ***)((int)ppGVar27 + -0x18) = &local_78;\n                __node_gen_3._M_h = (__hashtable_alloc *)&local_b0->fptr_section_id_;\n                *(__hashtable_alloc **)((int)ppGVar27 + -0x1c) = __node_gen_3._M_h;\n                *(undefined1 **)((int)ppGVar27 + -0x20) = local_e0;\n                    /* try { // try from 000d2cc6 to 000d2cca has its CatchHandler @ 000d302c */\n                *(undefined4 *)((int)ppGVar27 + -0x24) = 0xd2ccb;\n                local_78 = local_c0;\n                local_74 = local_b4;\n                std::\n                _Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>,_std::__detail::_Identity,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                ::\n                _M_insert<std::pair<gold::Relobj*,_unsigned_int>,_std::__detail::_AllocNode<std::allocator<std::__detail::_Hash_node<std::pair<gold::Relobj*,_unsigned_int>,_true>_>_>_>\n                          ();\n                bVar34 = (undefined1 *)0xffffffe3 < (undefined1 *)((int)ppGVar27 + -0x20);\n                bVar36 = ppGVar27 == (General_options **)0x4;\n                ppGVar27 = (General_options **)((int)ppGVar27 + -4);\n              }\n            }\n          }\n          else {\n            local_b4 = (Relobj *)0x0;\n            bVar34 = false;\n            bVar23 = 0;\n            bVar36 = true;\n            local_c0 = (Output_segment *)0x0;\n          }\n        }\n        else {\n          *(Relobj **)((int)ppGVar27 + -0xc) = src_id_1.first;\n          *(Symbol_table **)((int)ppGVar27 + -0x10) = symtab;\n          *(undefined4 *)((int)ppGVar27 + -0x14) = 0xd29d2;\n          src_id_1.first =\n               (Relobj *)\n               gold::Symbol_table::resolve_forwards\n                         (*(Symbol_table **)((int)ppGVar27 + -0x10),\n                          *(Symbol **)((int)ppGVar27 + -0xc));\n          if ((((src_id_1.first)->super_Object).shnum_ & 0x70000) == 0) goto LAB_000d25f7;\nLAB_000d29e2:\n          local_f0 = (Relobj *)((src_id_1.first)->super_Object).xindex_;\n          bVar23 = 0;\n          local_b4 = (Relobj *)0x0;\n          local_c0 = (Output_segment *)0x0;\n          bVar34 = CARRY4((uint)local_bc,(uint)local_f0);\n          local_c4 = (int)&local_bc->first + (int)local_f0;\n          bVar36 = local_c4 == 0;\n        }\n        pp_Var17 = ((src_id_1.first)->super_Object)._vptr_Object;\n        iVar19 = 8;\n        pbVar29 = (byte *)((int)local_b8 + -0x19ca26);\n        pp_Var32 = pp_Var17;\n        do {\n          if (iVar19 == 0) break;\n          iVar19 = iVar19 + -1;\n          bVar34 = *pbVar29 < *(byte *)pp_Var32;\n          bVar36 = *pbVar29 == *(byte *)pp_Var32;\n          pbVar29 = pbVar29 + (uint)bVar37 * -2 + 1;\n          pp_Var32 = (_func_int_varargs **)((int)pp_Var32 + (uint)bVar37 * -2 + 1);\n        } while (bVar36);\n        bVar35 = false;\n        bVar34 = (!bVar34 && !bVar36) == bVar34;\n        if (bVar34) {\n          local_d8 = pp_Var17 + 2;\n        }\n        else {\n          iVar19 = 7;\n          pbVar29 = (byte *)((int)local_b8 + -0x19ca1d);\n          pp_Var32 = pp_Var17;\n          do {\n            if (iVar19 == 0) break;\n            iVar19 = iVar19 + -1;\n            bVar35 = *pbVar29 < *(byte *)pp_Var32;\n            bVar34 = *pbVar29 == *(byte *)pp_Var32;\n            pbVar29 = pbVar29 + (uint)bVar37 * -2 + 1;\n            pp_Var32 = (_func_int_varargs **)((int)pp_Var32 + (uint)bVar37 * -2 + 1);\n          } while (bVar34);\n          pp_Var17 = (_func_int_varargs **)((int)pp_Var17 + 7);\n          if ((!bVar35 && !bVar34) != bVar35) {\n            pp_Var17 = local_d8;\n          }\n          local_d8 = pp_Var17;\n        }\n        if (local_d1 != '\0') {\n          if (bVar23 == 0) {\n            src_id.first = (Relobj *)0x0;\n            src_id.second = 0;\n          }\n          else {\n            src_id.first = (Relobj *)local_c0;\n            src_id.second = (uint)local_b4;\n          }\n          *(Icf **)((int)ppGVar27 + -0xc) = (Icf *)&src_id;\n          *(mapped_type **)((int)ppGVar27 + -0x10) = local_c8;\n          local_b0 = (Icf *)&src_id;\n          *(undefined4 *)((int)ppGVar27 + -0x14) = 0xd26b9;\n          std::\n          vector<std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>\n          ::emplace_back<std::pair<gold::Relobj*,_unsigned_int>_>\n                    (*(vector<std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>\n                       **)((int)ppGVar27 + -0x10),\n                     *(pair<gold::Relobj*,_unsigned_int> **)((int)ppGVar27 + -0xc));\n          ppSVar7 = (local_cc->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>).\n                    _M_impl._M_finish;\n          if (ppSVar7 ==\n              (local_cc->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>)._M_impl.\n              _M_end_of_storage) {\n            *(Section_id **)((int)ppGVar27 + -8) = &src_id_1;\n            *(pointer *)((int)ppGVar27 + -0xc) = ppSVar7;\n            *(Symbol_info **)((int)ppGVar27 + -0x10) = local_cc;\n            *(undefined4 *)((int)ppGVar27 + -0x14) = 0xd2b4b;\n            std::vector<gold::Symbol*,_std::allocator<gold::Symbol*>_>::\n            _M_realloc_insert<gold::Symbol*_const&>\n                      (*(vector<gold::Symbol*,_std::allocator<gold::Symbol*>_> **)\n                        ((int)ppGVar27 + -0x10),(iterator)*(Symbol ***)((int)ppGVar27 + -0xc),\n                       *(Symbol ***)((int)ppGVar27 + -8));\n          }\n          else {\n            *ppSVar7 = (Symbol *)src_id_1.first;\n            (local_cc->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>)._M_impl.\n            _M_finish = ppSVar7 + 1;\n          }\n          *(Icf **)((int)ppGVar27 + -0xc) = local_b0;\n          *(Addend_info **)((int)ppGVar27 + -0x10) = local_e8;\n          src_id.first = local_f0;\n          src_id.second = 0;\n          local_2c = local_bc;\n          local_28._M_p = (pointer)((int)local_bc >> 0x1f);\n          *(undefined4 *)((int)ppGVar27 + -0x14) = 0xd270d;\n          std::\n          vector<std::pair<long_long_int,_long_long_int>,_std::allocator<std::pair<long_long_int,_long_long_int>_>_>\n          ::emplace_back<std::pair<long_long_int,_long_long_int>_>\n                    (*(vector<std::pair<long_long_int,_long_long_int>,_std::allocator<std::pair<long_long_int,_long_long_int>_>_>\n                       **)((int)ppGVar27 + -0x10),\n                     *(pair<long_long_int,_long_long_int> **)((int)ppGVar27 + -0xc));\n          src_id.second = 0;\n          puVar5 = (local_d0->\n                   super__Vector_base<long_long_unsigned_int,_std::allocator<long_long_unsigned_int>_>\n                   )._M_impl._M_finish;\n          src_id.first = *(Relobj **)prelocs;\n          if (puVar5 == (local_d0->\n                        super__Vector_base<long_long_unsigned_int,_std::allocator<long_long_unsigned_int>_>\n                        )._M_impl._M_end_of_storage) {\n            *(Icf **)((int)ppGVar27 + -8) = local_b0;\n            *(pointer *)((int)ppGVar27 + -0xc) = puVar5;\n            *(Offset_info **)((int)ppGVar27 + -0x10) = local_d0;\n            *(undefined4 *)((int)ppGVar27 + -0x14) = 0xd2bbd;\n            std::vector<long_long_unsigned_int,_std::allocator<long_long_unsigned_int>_>::\n            _M_realloc_insert<long_long_unsigned_int_const&>\n                      (*(vector<long_long_unsigned_int,_std::allocator<long_long_unsigned_int>_> **)\n                        ((int)ppGVar27 + -0x10),(iterator)*(ulonglong **)((int)ppGVar27 + -0xc),\n                       *(ulonglong **)((int)ppGVar27 + -8));\n          }\n          else {\n            *(Relobj **)puVar5 = *(Relobj **)prelocs;\n            *(undefined4 *)((int)puVar5 + 4) = 0;\n            (local_d0->\n            super__Vector_base<long_long_unsigned_int,_std::allocator<long_long_unsigned_int>_>).\n            _M_impl._M_finish = puVar5 + 1;\n          }\n          dst_id.first = (Relobj *)0x0;\n          *(Section_id **)((int)ppGVar27 + -0xc) = &dst_id;\n          *(Reloc_addend_size_info **)((int)ppGVar27 + -0x10) = local_ec;\n          *(undefined4 *)((int)ppGVar27 + -0x14) = 0xd2753;\n          std::vector<unsigned_int,_std::allocator<unsigned_int>_>::emplace_back<unsigned_int>\n                    (*(vector<unsigned_int,_std::allocator<unsigned_int>_> **)\n                      ((int)ppGVar27 + -0x10),*(uint **)((int)ppGVar27 + -0xc));\n        }\n        puVar26 = ppGVar27;\n        if (bVar23 != 0) goto LAB_000d275e;\n      }\nLAB_000d2489:\n      local_e4 = local_e4 + 1;\n      prelocs = prelocs + 0xc;\n    } while (reloc_count != local_e4);\n  }\n  if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n       *)src_section_name._M_dataplus._M_p != local_f8) {\n    *(pointer *)((int)ppGVar27 + -0x10) = src_section_name._M_dataplus._M_p;\n    *(undefined4 *)((int)ppGVar27 + -0x14) = 0xd2c22;\n    operator_delete(*(void **)((int)ppGVar27 + -0x10));\n  }\n  return;\n}" { (do_statement "do {\n                while ((p_Var21 = (_Rb_tree_header *)p_Var8,\n                       object <= (Sized_relobj_file<32,_false> *)\n                                 ((_Base_ptr)((int)p_Var21 + 0x10))->_M_color &&\n                       ((object != (Sized_relobj_file<32,_false> *)\n                                   ((_Base_ptr)((int)p_Var21 + 0x10))->_M_color ||\n                        (data_shndx <= ((size_t *)((int)p_Var21 + 0x10))[1]))))) {\n                  p_Var8 = (p_Var21->_M_header)._M_left;\n                  p_Var20 = &p_Var21->_M_header;\n                  if ((p_Var21->_M_header)._M_left == (_Base_ptr)0x0) goto LAB_000d27da;\n                }\n                pp_Var2 = &(p_Var21->_M_header)._M_right;\n                p_Var8 = *pp_Var2;\n                p_Var21 = (_Rb_tree_header *)p_Var20;\n              } while (*pp_Var2 != (_Base_ptr)0x0);" do (ERROR "{\n                while ((p_Var21 = (_Rb_tree_header *)p_Var8,\n                       object <= (Sized_relobj_file<32,_false> *)\n                                 ((_Base_ptr)((int)p_Var21 + 0x10))->_M_color &&\n                       ((object != (Sized_relobj_file<32,_false> *)\n                                   ((_Base_ptr)((int)p_Var21 + 0x10))->_M_color ||\n                        (data_shndx <= ((size_t *)((int)p_Var21 + 0x10))[1]))))) {\n                  p_Var8 = (p_Var21->_M_header)._M_left;\n                  p_Var20 = &p_Var21->_M_header;\n                  if ((p_Var21->_M_header)._M_left == (_Base_ptr)0x0) goto LAB_000d27da;\n                }\n                pp_Var2 = &(p_Var21->_M_header)._M_right;\n                p_Var8 = *pp_Var2;" (compound_statement "{\n                while ((p_Var21 = (_Rb_tree_header *)p_Var8,\n                       object <= (Sized_relobj_file<32,_false> *)\n                                 ((_Base_ptr)((int)p_Var21 + 0x10))->_M_color &&\n                       ((object != (Sized_relobj_file<32,_false> *)\n                                   ((_Base_ptr)((int)p_Var21 + 0x10))->_M_color ||\n                        (data_shndx <= ((size_t *)((int)p_Var21 + 0x10))[1]))))) {\n                  p_Var8 = (p_Var21->_M_header)._M_left;\n                  p_Var20 = &p_Var21->_M_header;\n                  if ((p_Var21->_M_header)._M_left == (_Base_ptr)0x0) goto LAB_000d27da;\n                }" { (while_statement "while ((p_Var21 = (_Rb_tree_header *)p_Var8,\n                       object <= (Sized_relobj_file<32,_false> *)\n                                 ((_Base_ptr)((int)p_Var21 + 0x10))->_M_color &&\n                       ((object != (Sized_relobj_file<32,_false> *)\n                                   ((_Base_ptr)((int)p_Var21 + 0x10))->_M_color ||\n                        (data_shndx <= ((size_t *)((int)p_Var21 + 0x10))[1]))))) {\n                  p_Var8 = (p_Var21->_M_header)._M_left;\n                  p_Var20 = &p_Var21->_M_header;\n                  if ((p_Var21->_M_header)._M_left == (_Base_ptr)0x0) goto LAB_000d27da;" while (parenthesized_expression "((p_Var21 = (_Rb_tree_header *)p_Var8,\n                       object <= (Sized_relobj_file<32,_false> *)\n                                 ((_Base_ptr)((int)p_Var21 + 0x10))->_M_color &&\n                       ((object != (Sized_relobj_file<32,_false> *)\n                                   ((_Base_ptr)((int)p_Var21 + 0x10))->_M_color ||\n                        (data_shndx <= ((size_t *)((int)p_Var21 + 0x10))[1]))))) {\n                  p_Var8 = (p_Var21->_M_header)._M_left;\n                  p_Var20 = &p_Var21->_M_header;\n                  if ((p_Var21->_M_header)._M_left == (_Base_ptr)0x0)" ( (binary_expression "(p_Var21 = (_Rb_tree_header *)p_Var8,\n                       object <= (Sized_relobj_file<32,_false> *)\n                                 ((_Base_ptr)((int)p_Var21 + 0x10))->_M_color &&\n                       ((object != (Sized_relobj_file<32,_false> *)\n                                   ((_Base_ptr)((int)p_Var21 + 0x10))->_M_color ||\n                        (data_shndx <= ((size_t *)((int)p_Var21 + 0x10))[1]))))) {\n                  p_Var8 = (p_Var21->_M_header)._M_left;\n                  p_Var20 = &p_Var21->_M_header;\n                  if ((p_Var21->_M_header)._M_left == (_Base_ptr)0x0" (field_expression "(p_Var21 = (_Rb_tree_header *)p_Var8,\n                       object <= (Sized_relobj_file<32,_false> *)\n                                 ((_Base_ptr)((int)p_Var21 + 0x10))->_M_color &&\n                       ((object != (Sized_relobj_file<32,_false> *)\n                                   ((_Base_ptr)((int)p_Var21 + 0x10))->_M_color ||\n                        (data_shndx <= ((size_t *)((int)p_Var21 + 0x10))[1]))))) {\n                  p_Var8 = (p_Var21->_M_header)._M_left;\n                  p_Var20 = &p_Var21->_M_header;\n                  if ((p_Var21->_M_header)._M_left" (parenthesized_expression "(p_Var21 = (_Rb_tree_header *)p_Var8,\n                       object <= (Sized_relobj_file<32,_false> *)\n                                 ((_Base_ptr)((int)p_Var21 + 0x10))->_M_color &&\n                       ((object != (Sized_relobj_file<32,_false> *)\n                                   ((_Base_ptr)((int)p_Var21 + 0x10))->_M_color ||\n                        (data_shndx <= ((size_t *)((int)p_Var21 + 0x10))[1]))))) {\n                  p_Var8 = (p_Var21->_M_header)._M_left;\n                  p_Var20 = &p_Var21->_M_header;\n                  if ((p_Var21->_M_header)" ( (comma_expression "p_Var21 = (_Rb_tree_header *)p_Var8,\n                       object <= (Sized_relobj_file<32,_false> *)\n                                 ((_Base_ptr)((int)p_Var21 + 0x10))->_M_color &&\n                       ((object != (Sized_relobj_file<32,_false> *)\n                                   ((_Base_ptr)((int)p_Var21 + 0x10))->_M_color ||\n                        (data_shndx <= ((size_t *)((int)p_Var21 + 0x10))[1]))))) {\n                  p_Var8 = (p_Var21->_M_header)._M_left" (assignment_expression "p_Var21 = (_Rb_tree_header *)p_Var8" identifier = (cast_expression "(_Rb_tree_header *)p_Var8" ( (type_descriptor "_Rb_tree_header *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) , (binary_expression "object <= (Sized_relobj_file<32,_false> *)\n                                 ((_Base_ptr)((int)p_Var21 + 0x10))->_M_color &&\n                       ((object != (Sized_relobj_file<32,_false> *)\n                                   ((_Base_ptr)((int)p_Var21 + 0x10))->_M_color ||\n                        (data_shndx <= ((size_t *)((int)p_Var21 + 0x10))[1]))))) {\n                  p_Var8 = (p_Var21->_M_header)._M_left" identifier <= (assignment_expression "(Sized_relobj_file<32,_false> *)\n                                 ((_Base_ptr)((int)p_Var21 + 0x10))->_M_color &&\n                       ((object != (Sized_relobj_file<32,_false> *)\n                                   ((_Base_ptr)((int)p_Var21 + 0x10))->_M_color ||\n                        (data_shndx <= ((size_t *)((int)p_Var21 + 0x10))[1]))))) {\n                  p_Var8 = (p_Var21->_M_header)._M_left" (parenthesized_expression "(Sized_relobj_file<32,_false> *)\n                                 ((_Base_ptr)((int)p_Var21 + 0x10))->_M_color &&\n                       ((object != (Sized_relobj_file<32,_false> *)\n                                   ((_Base_ptr)((int)p_Var21 + 0x10))->_M_color ||\n                        (data_shndx <= ((size_t *)((int)p_Var21 + 0x10))[1])))))" ( (comma_expression "Sized_relobj_file<32,_false> *)\n                                 ((_Base_ptr)((int)p_Var21 + 0x10))->_M_color &&\n                       ((object != (Sized_relobj_file<32,_false> *)\n                                   ((_Base_ptr)((int)p_Var21 + 0x10))->_M_color ||\n                        (data_shndx <= ((size_t *)((int)p_Var21 + 0x10))[1]))))" (binary_expression "Sized_relobj_file<32" identifier < number_literal) , (binary_expression "_false> *)\n                                 ((_Base_ptr)((int)p_Var21 + 0x10))->_M_color &&\n                       ((object != (Sized_relobj_file<32,_false> *)\n                                   ((_Base_ptr)((int)p_Var21 + 0x10))->_M_color ||\n                        (data_shndx <= ((size_t *)((int)p_Var21 + 0x10))[1]))))" (binary_expression "_false> *)\n                                 ((_Base_ptr)((int)p_Var21 + 0x10))->_M_color" identifier > (pointer_expression "*)\n                                 ((_Base_ptr)((int)p_Var21 + 0x10))->_M_color" * (ERROR ")" )) (field_expression "((_Base_ptr)((int)p_Var21 + 0x10))->_M_color" (parenthesized_expression "((_Base_ptr)((int)p_Var21 + 0x10))" ( (call_expression "(_Base_ptr)((int)p_Var21 + 0x10)" (parenthesized_expression "(_Base_ptr)" ( identifier )) (argument_list "((int)p_Var21 + 0x10)" ( (binary_expression "(int)p_Var21 + 0x10" (cast_expression "(int)p_Var21" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))) )) -> field_identifier))) && (parenthesized_expression "((object != (Sized_relobj_file<32,_false> *)\n                                   ((_Base_ptr)((int)p_Var21 + 0x10))->_M_color ||\n                        (data_shndx <= ((size_t *)((int)p_Var21 + 0x10))[1]))))" ( (parenthesized_expression "(object != (Sized_relobj_file<32,_false> *)\n                                   ((_Base_ptr)((int)p_Var21 + 0x10))->_M_color ||\n                        (data_shndx <= ((size_t *)((int)p_Var21 + 0x10))[1])))" ( (binary_expression "object != (Sized_relobj_file<32,_false> *)\n                                   ((_Base_ptr)((int)p_Var21 + 0x10))->_M_color ||\n                        (data_shndx <= ((size_t *)((int)p_Var21 + 0x10))[1]))" identifier != (parenthesized_expression "(Sized_relobj_file<32,_false> *)\n                                   ((_Base_ptr)((int)p_Var21 + 0x10))->_M_color ||\n                        (data_shndx <= ((size_t *)((int)p_Var21 + 0x10))[1]))" ( (comma_expression "Sized_relobj_file<32,_false> *)\n                                   ((_Base_ptr)((int)p_Var21 + 0x10))->_M_color ||\n                        (data_shndx <= ((size_t *)((int)p_Var21 + 0x10))[1])" (binary_expression "Sized_relobj_file<32" identifier < number_literal) , (binary_expression "_false> *)\n                                   ((_Base_ptr)((int)p_Var21 + 0x10))->_M_color ||\n                        (data_shndx <= ((size_t *)((int)p_Var21 + 0x10))[1])" (binary_expression "_false> *)\n                                   ((_Base_ptr)((int)p_Var21 + 0x10))->_M_color" identifier > (pointer_expression "*)\n                                   ((_Base_ptr)((int)p_Var21 + 0x10))->_M_color" * (ERROR ")" )) (field_expression "((_Base_ptr)((int)p_Var21 + 0x10))->_M_color" (parenthesized_expression "((_Base_ptr)((int)p_Var21 + 0x10))" ( (call_expression "(_Base_ptr)((int)p_Var21 + 0x10)" (parenthesized_expression "(_Base_ptr)" ( identifier )) (argument_list "((int)p_Var21 + 0x10)" ( (binary_expression "(int)p_Var21 + 0x10" (cast_expression "(int)p_Var21" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))) )) -> field_identifier))) || (parenthesized_expression "(data_shndx <= ((size_t *)((int)p_Var21 + 0x10))[1])" ( (binary_expression "data_shndx <= ((size_t *)((int)p_Var21 + 0x10))[1]" identifier <= (subscript_expression "((size_t *)((int)p_Var21 + 0x10))[1]" (parenthesized_expression "((size_t *)((int)p_Var21 + 0x10))" ( (cast_expression "(size_t *)((int)p_Var21 + 0x10)" ( (type_descriptor "size_t *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)p_Var21 + 0x10)" ( (binary_expression "(int)p_Var21 + 0x10" (cast_expression "(int)p_Var21" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))) )) [ number_literal ])) )))) ))) )) )))) )) (ERROR "{\n                  p_Var8" { identifier) = (field_expression "(p_Var21->_M_header)._M_left" (parenthesized_expression "(p_Var21->_M_header)" ( (field_expression "p_Var21->_M_header" identifier -> field_identifier) )) . field_identifier)))) (ERROR ";\n                  p_Var20 = &p_Var21->_M_header;\n                  if ((p_Var21->_M_header" ; identifier = & identifier -> identifier ; if ( ( identifier -> identifier) )) . field_identifier) == (cast_expression "(_Base_ptr)0x0" ( (type_descriptor "_Base_ptr" type_identifier) ) number_literal)) )) (goto_statement "goto LAB_000d27da;" goto statement_identifier ;)) }) (expression_statement "pp_Var2 = &(p_Var21->_M_header)._M_right;" (assignment_expression "pp_Var2 = &(p_Var21->_M_header)._M_right" identifier = (pointer_expression "&(p_Var21->_M_header)._M_right" & (field_expression "(p_Var21->_M_header)._M_right" (parenthesized_expression "(p_Var21->_M_header)" ( (field_expression "p_Var21->_M_header" identifier -> field_identifier) )) . field_identifier))) ;) (expression_statement "p_Var8 = *pp_Var2;" (assignment_expression "p_Var8 = *pp_Var2" identifier = (pointer_expression "*pp_Var2" * identifier)) ;)) (expression_statement "p_Var21 = (_Rb_tree_header *)p_Var20;" (assignment_expression "p_Var21 = (_Rb_tree_header *)p_Var20" identifier = (cast_expression "(_Rb_tree_header *)p_Var20" ( (type_descriptor "_Rb_tree_header *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (ERROR "}" }) while (parenthesized_expression "(*pp_Var2 != (_Base_ptr)0x0)" ( (binary_expression "*pp_Var2 != (_Base_ptr)0x0" (pointer_expression "*pp_Var2" * identifier) != (cast_expression "(_Base_ptr)0x0" ( (type_descriptor "_Base_ptr" type_identifier) ) number_literal)) )) ;) (labeled_statement "LAB_000d27da:\n              if (((p_Var1 == p_Var21) ||\n                  (object < (Sized_relobj_file<32,_false> *)p_Var21->_M_node_count)) ||\n                 ((object == (Sized_relobj_file<32,_false> *)p_Var21->_M_node_count &&\n                  (data_shndx < *(uint *)(p_Var21 + 1))))) goto LAB_000d27f0;\n            }\n            __node_gen._M_h = (__hashtable_alloc *)((int)(p_Var21 + 1) + 4);\n            puVar26[-3] = 1;\n            puVar26[-4] = 0;\n            puVar26[-5] = local_f4;\n            puVar26[-6] = &dst_id;\n            puVar26[-7] = __node_gen._M_h;\n            puVar26[-8] = local_e0;\n            puVar26[-9] = 0xd2840;\n            std::\n            _Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>,_std::__detail::_Identity,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n            ::\n            _M_insert<const_std::pair<gold::Relobj*,_unsigned_int>&,_std::__detail::_AllocNode<std::allocator<std::__detail::_Hash_node<std::pair<gold::Relobj*,_unsigned_int>,_true>_>_>_>\n                      ();" statement_identifier : (if_statement "if (((p_Var1 == p_Var21) ||\n                  (object < (Sized_relobj_file<32,_false> *)p_Var21->_M_node_count)) ||\n                 ((object == (Sized_relobj_file<32,_false> *)p_Var21->_M_node_count &&\n                  (data_shndx < *(uint *)(p_Var21 + 1))))) goto LAB_000d27f0;\n            }\n            __node_gen._M_h = (__hashtable_alloc *)((int)(p_Var21 + 1) + 4);\n            puVar26[-3] = 1;\n            puVar26[-4] = 0;\n            puVar26[-5] = local_f4;\n            puVar26[-6] = &dst_id;\n            puVar26[-7] = __node_gen._M_h;\n            puVar26[-8] = local_e0;\n            puVar26[-9] = 0xd2840;\n            std::\n            _Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>,_std::__detail::_Identity,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n            ::\n            _M_insert<const_std::pair<gold::Relobj*,_unsigned_int>&,_std::__detail::_AllocNode<std::allocator<std::__detail::_Hash_node<std::pair<gold::Relobj*,_unsigned_int>,_true>_>_>_>\n                      ();" if (parenthesized_expression "(((p_Var1 == p_Var21) ||\n                  (object < (Sized_relobj_file<32,_false> *)p_Var21->_M_node_count)) ||\n                 ((object == (Sized_relobj_file<32,_false> *)p_Var21->_M_node_count &&\n                  (data_shndx < *(uint *)(p_Var21 + 1))))) goto LAB_000d27f0;\n            }\n            __node_gen._M_h = (__hashtable_alloc *)((int)(p_Var21 + 1) + 4);\n            puVar26[-3] = 1;\n            puVar26[-4] = 0;\n            puVar26[-5] = local_f4;\n            puVar26[-6] = &dst_id;\n            puVar26[-7] = __node_gen._M_h;\n            puVar26[-8] = local_e0;\n            puVar26[-9] = 0xd2840;\n            std::\n            _Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>,_std::__detail::_Identity,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n            ::\n            _M_insert<const_std::pair<gold::Relobj*,_unsigned_int>&,_std::__detail::_AllocNode<std::allocator<std::__detail::_Hash_node<std::pair<gold::Relobj*,_unsigned_int>,_true>_>_>_>\n                      ()" ( (parenthesized_expression "((p_Var1 == p_Var21) ||\n                  (object < (Sized_relobj_file<32,_false> *)p_Var21->_M_node_count)) ||\n                 ((object == (Sized_relobj_file<32,_false> *)p_Var21->_M_node_count &&\n                  (data_shndx < *(uint *)(p_Var21 + 1))))) goto LAB_000d27f0;\n            }\n            __node_gen._M_h = (__hashtable_alloc *)((int)(p_Var21 + 1) + 4);\n            puVar26[-3] = 1;\n            puVar26[-4] = 0;\n            puVar26[-5] = local_f4;\n            puVar26[-6] = &dst_id;\n            puVar26[-7] = __node_gen._M_h;\n            puVar26[-8] = local_e0;\n            puVar26[-9] = 0xd2840;\n            std::\n            _Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>,_std::__detail::_Identity,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n            ::\n            _M_insert<const_std::pair<gold::Relobj*,_unsigned_int>&,_std::__detail::_AllocNode<std::allocator<std::__detail::_Hash_node<std::pair<gold::Relobj*,_unsigned_int>,_true>_>_>_>\n                      ()" ( (comma_expression "(p_Var1 == p_Var21) ||\n                  (object < (Sized_relobj_file<32,_false> *)p_Var21->_M_node_count)) ||\n                 ((object == (Sized_relobj_file<32,_false> *)p_Var21->_M_node_count &&\n                  (data_shndx < *(uint *)(p_Var21 + 1))))) goto LAB_000d27f0;\n            }\n            __node_gen._M_h = (__hashtable_alloc *)((int)(p_Var21 + 1) + 4);\n            puVar26[-3] = 1;\n            puVar26[-4] = 0;\n            puVar26[-5] = local_f4;\n            puVar26[-6] = &dst_id;\n            puVar26[-7] = __node_gen._M_h;\n            puVar26[-8] = local_e0;\n            puVar26[-9] = 0xd2840;\n            std::\n            _Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>,_std::__detail::_Identity,_std" (binary_expression "(p_Var1 == p_Var21) ||\n                  (object < (Sized_relobj_file<32,_false> *)p_Var21->_M_node_count)) ||\n                 ((object == (Sized_relobj_file<32,_false> *)p_Var21->_M_node_count &&\n                  (data_shndx < *(uint *)(p_Var21 + 1))))) goto LAB_000d27f0;\n            }\n            __node_gen._M_h = (__hashtable_alloc *)((int)(p_Var21 + 1) + 4);\n            puVar26[-3] = 1;\n            puVar26[-4] = 0;\n            puVar26[-5] = local_f4;\n            puVar26[-6] = &dst_id;\n            puVar26[-7] = __node_gen._M_h;\n            puVar26[-8] = local_e0;\n            puVar26[-9] = 0xd2840;\n            std::\n            _Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>,_std" (binary_expression "(p_Var1 == p_Var21) ||\n                  (object < (Sized_relobj_file<32,_false> *)p_Var21->_M_node_count)) ||\n                 ((object == (Sized_relobj_file<32,_false> *)p_Var21->_M_node_count &&\n                  (data_shndx < *(uint *)(p_Var21 + 1))))) goto LAB_000d27f0;\n            }\n            __node_gen._M_h = (__hashtable_alloc *)((int)(p_Var21 + 1) + 4);\n            puVar26[-3] = 1;\n            puVar26[-4] = 0;\n            puVar26[-5] = local_f4;\n            puVar26[-6] = &dst_id;\n            puVar26[-7] = __node_gen._M_h;\n            puVar26[-8] = local_e0;\n            puVar26[-9] = 0xd2840;\n            std::\n            _Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_" (binary_expression "(p_Var1 == p_Var21) ||\n                  (object < (Sized_relobj_file<32,_false> *)p_Var21->_M_node_count)) ||\n                 ((object == (Sized_relobj_file<32,_false> *)p_Var21->_M_node_count &&\n                  (data_shndx < *(uint *)(p_Var21 + 1))))) goto LAB_000d27f0;\n            }\n            __node_gen._M_h = (__hashtable_alloc *)((int)(p_Var21 + 1) + 4);\n            puVar26[-3] = 1;\n            puVar26[-4] = 0;\n            puVar26[-5] = local_f4;\n            puVar26[-6] = &dst_id;\n            puVar26[-7] = __node_gen._M_h;\n            puVar26[-8] = local_e0;\n            puVar26[-9] = 0xd2840;\n            std::\n            _Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int" (binary_expression "(p_Var1 == p_Var21) ||\n                  (object < (Sized_relobj_file<32,_false> *)p_Var21->_M_node_count)) ||\n                 ((object == (Sized_relobj_file<32,_false> *)p_Var21->_M_node_count &&\n                  (data_shndx < *(uint *)(p_Var21 + 1))))) goto LAB_000d27f0;\n            }\n            __node_gen._M_h = (__hashtable_alloc *)((int)(p_Var21 + 1) + 4);\n            puVar26[-3] = 1;\n            puVar26[-4] = 0;\n            puVar26[-5] = local_f4;\n            puVar26[-6] = &dst_id;\n            puVar26[-7] = __node_gen._M_h;\n            puVar26[-8] = local_e0;\n            puVar26[-9] = 0xd2840;\n            std::\n            _Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold" (binary_expression "(p_Var1 == p_Var21) ||\n                  (object < (Sized_relobj_file<32,_false> *)p_Var21->_M_node_count)) ||\n                 ((object == (Sized_relobj_file<32,_false> *)p_Var21->_M_node_count &&\n                  (data_shndx < *(uint *)(p_Var21 + 1))))) goto LAB_000d27f0;\n            }\n            __node_gen._M_h = (__hashtable_alloc *)((int)(p_Var21 + 1) + 4);\n            puVar26[-3] = 1;\n            puVar26[-4] = 0;\n            puVar26[-5] = local_f4;\n            puVar26[-6] = &dst_id;\n            puVar26[-7] = __node_gen._M_h;\n            puVar26[-8] = local_e0;\n            puVar26[-9] = 0xd2840;\n            std::\n            _Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std" (binary_expression "(p_Var1 == p_Var21) ||\n                  (object < (Sized_relobj_file<32,_false> *)p_Var21->_M_node_count)) ||\n                 ((object == (Sized_relobj_file<32,_false> *)p_Var21->_M_node_count &&\n                  (data_shndx < *(uint *)(p_Var21 + 1))))) goto LAB_000d27f0;\n            }\n            __node_gen._M_h = (__hashtable_alloc *)((int)(p_Var21 + 1) + 4);\n            puVar26[-3] = 1;\n            puVar26[-4] = 0;\n            puVar26[-5] = local_f4;\n            puVar26[-6] = &dst_id;\n            puVar26[-7] = __node_gen._M_h;\n            puVar26[-8] = local_e0;\n            puVar26[-9] = 0xd2840;\n            std::\n            _Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std" (binary_expression "(p_Var1 == p_Var21) ||\n                  (object < (Sized_relobj_file<32,_false> *)p_Var21->_M_node_count)) ||\n                 ((object == (Sized_relobj_file<32,_false> *)p_Var21->_M_node_count &&\n                  (data_shndx < *(uint *)(p_Var21 + 1))))) goto LAB_000d27f0;\n            }\n            __node_gen._M_h = (__hashtable_alloc *)((int)(p_Var21 + 1) + 4);\n            puVar26[-3] = 1;\n            puVar26[-4] = 0;\n            puVar26[-5] = local_f4;\n            puVar26[-6] = &dst_id;\n            puVar26[-7] = __node_gen._M_h;\n            puVar26[-8] = local_e0;\n            puVar26[-9] = 0xd2840;\n            std::\n            _Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int" (binary_expression "(p_Var1 == p_Var21) ||\n                  (object < (Sized_relobj_file<32,_false> *)p_Var21->_M_node_count)) ||\n                 ((object == (Sized_relobj_file<32,_false> *)p_Var21->_M_node_count &&\n                  (data_shndx < *(uint *)(p_Var21 + 1))))) goto LAB_000d27f0;\n            }\n            __node_gen._M_h = (__hashtable_alloc *)((int)(p_Var21 + 1) + 4);\n            puVar26[-3] = 1;\n            puVar26[-4] = 0;\n            puVar26[-5] = local_f4;\n            puVar26[-6] = &dst_id;\n            puVar26[-7] = __node_gen._M_h;\n            puVar26[-8] = local_e0;\n            puVar26[-9] = 0xd2840;\n            std::\n            _Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold" (binary_expression "(p_Var1 == p_Var21) ||\n                  (object < (Sized_relobj_file<32,_false> *)p_Var21->_M_node_count)) ||\n                 ((object == (Sized_relobj_file<32,_false> *)p_Var21->_M_node_count &&\n                  (data_shndx < *(uint *)(p_Var21 + 1))))) goto LAB_000d27f0;\n            }\n            __node_gen._M_h = (__hashtable_alloc *)((int)(p_Var21 + 1) + 4);\n            puVar26[-3] = 1;\n            puVar26[-4] = 0;\n            puVar26[-5] = local_f4;\n            puVar26[-6] = &dst_id;\n            puVar26[-7] = __node_gen._M_h;\n            puVar26[-8] = local_e0;\n            puVar26[-9] = 0xd2840;\n            std::\n            _Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std" (binary_expression "(p_Var1 == p_Var21) ||\n                  (object < (Sized_relobj_file<32,_false> *)p_Var21->_M_node_count)) ||\n                 ((object == (Sized_relobj_file<32,_false> *)p_Var21->_M_node_count &&\n                  (data_shndx < *(uint *)(p_Var21 + 1))))) goto LAB_000d27f0;\n            }\n            __node_gen._M_h = (__hashtable_alloc *)((int)(p_Var21 + 1) + 4);\n            puVar26[-3] = 1;\n            puVar26[-4] = 0;\n            puVar26[-5] = local_f4;\n            puVar26[-6] = &dst_id;\n            puVar26[-7] = __node_gen._M_h;\n            puVar26[-8] = local_e0;\n            puVar26[-9] = 0xd2840;\n            std::\n            _Hashtable<std::pair<gold::Relobj*,_unsigned_int" (binary_expression "(p_Var1 == p_Var21) ||\n                  (object < (Sized_relobj_file<32,_false> *)p_Var21->_M_node_count)) ||\n                 ((object == (Sized_relobj_file<32,_false> *)p_Var21->_M_node_count &&\n                  (data_shndx < *(uint *)(p_Var21 + 1))))) goto LAB_000d27f0;\n            }\n            __node_gen._M_h = (__hashtable_alloc *)((int)(p_Var21 + 1) + 4);\n            puVar26[-3] = 1;\n            puVar26[-4] = 0;\n            puVar26[-5] = local_f4;\n            puVar26[-6] = &dst_id;\n            puVar26[-7] = __node_gen._M_h;\n            puVar26[-8] = local_e0;\n            puVar26[-9] = 0xd2840;\n            std::\n            _Hashtable<std::pair<gold" (binary_expression "(p_Var1 == p_Var21) ||\n                  (object < (Sized_relobj_file<32,_false> *)p_Var21->_M_node_count)) ||\n                 ((object == (Sized_relobj_file<32,_false> *)p_Var21->_M_node_count &&\n                  (data_shndx < *(uint *)(p_Var21 + 1))))) goto LAB_000d27f0;\n            }\n            __node_gen._M_h = (__hashtable_alloc *)((int)(p_Var21 + 1) + 4);\n            puVar26[-3] = 1;\n            puVar26[-4] = 0;\n            puVar26[-5] = local_f4;\n            puVar26[-6] = &dst_id;\n            puVar26[-7] = __node_gen._M_h;\n            puVar26[-8] = local_e0;\n            puVar26[-9] = 0xd2840;\n            std::\n            _Hashtable<std" (assignment_expression "(p_Var1 == p_Var21) ||\n                  (object < (Sized_relobj_file<32,_false> *)p_Var21->_M_node_count)) ||\n                 ((object == (Sized_relobj_file<32,_false> *)p_Var21->_M_node_count &&\n                  (data_shndx < *(uint *)(p_Var21 + 1))))) goto LAB_000d27f0;\n            }\n            __node_gen._M_h = (__hashtable_alloc *)((int)(p_Var21 + 1) + 4);\n            puVar26[-3] = 1;\n            puVar26[-4] = 0;\n            puVar26[-5] = local_f4;\n            puVar26[-6] = &dst_id;\n            puVar26[-7] = __node_gen._M_h;\n            puVar26[-8] = local_e0;\n            puVar26[-9] = 0xd2840" (subscript_expression "(p_Var1 == p_Var21) ||\n                  (object < (Sized_relobj_file<32,_false> *)p_Var21->_M_node_count)) ||\n                 ((object == (Sized_relobj_file<32,_false> *)p_Var21->_M_node_count &&\n                  (data_shndx < *(uint *)(p_Var21 + 1))))) goto LAB_000d27f0;\n            }\n            __node_gen._M_h = (__hashtable_alloc *)((int)(p_Var21 + 1) + 4);\n            puVar26[-3] = 1;\n            puVar26[-4] = 0;\n            puVar26[-5] = local_f4;\n            puVar26[-6] = &dst_id;\n            puVar26[-7] = __node_gen._M_h;\n            puVar26[-8] = local_e0;\n            puVar26[-9]" (assignment_expression "(p_Var1 == p_Var21) ||\n                  (object < (Sized_relobj_file<32,_false> *)p_Var21->_M_node_count)) ||\n                 ((object == (Sized_relobj_file<32,_false> *)p_Var21->_M_node_count &&\n                  (data_shndx < *(uint *)(p_Var21 + 1))))) goto LAB_000d27f0;\n            }\n            __node_gen._M_h = (__hashtable_alloc *)((int)(p_Var21 + 1) + 4);\n            puVar26[-3] = 1;\n            puVar26[-4] = 0;\n            puVar26[-5] = local_f4;\n            puVar26[-6] = &dst_id;\n            puVar26[-7] = __node_gen._M_h;\n            puVar26[-8] = local_e0" (subscript_expression "(p_Var1 == p_Var21) ||\n                  (object < (Sized_relobj_file<32,_false> *)p_Var21->_M_node_count)) ||\n                 ((object == (Sized_relobj_file<32,_false> *)p_Var21->_M_node_count &&\n                  (data_shndx < *(uint *)(p_Var21 + 1))))) goto LAB_000d27f0;\n            }\n            __node_gen._M_h = (__hashtable_alloc *)((int)(p_Var21 + 1) + 4);\n            puVar26[-3] = 1;\n            puVar26[-4] = 0;\n            puVar26[-5] = local_f4;\n            puVar26[-6] = &dst_id;\n            puVar26[-7] = __node_gen._M_h;\n            puVar26[-8]" (assignment_expression "(p_Var1 == p_Var21) ||\n                  (object < (Sized_relobj_file<32,_false> *)p_Var21->_M_node_count)) ||\n                 ((object == (Sized_relobj_file<32,_false> *)p_Var21->_M_node_count &&\n                  (data_shndx < *(uint *)(p_Var21 + 1))))) goto LAB_000d27f0;\n            }\n            __node_gen._M_h = (__hashtable_alloc *)((int)(p_Var21 + 1) + 4);\n            puVar26[-3] = 1;\n            puVar26[-4] = 0;\n            puVar26[-5] = local_f4;\n            puVar26[-6] = &dst_id;\n            puVar26[-7] = __node_gen._M_h" (subscript_expression "(p_Var1 == p_Var21) ||\n                  (object < (Sized_relobj_file<32,_false> *)p_Var21->_M_node_count)) ||\n                 ((object == (Sized_relobj_file<32,_false> *)p_Var21->_M_node_count &&\n                  (data_shndx < *(uint *)(p_Var21 + 1))))) goto LAB_000d27f0;\n            }\n            __node_gen._M_h = (__hashtable_alloc *)((int)(p_Var21 + 1) + 4);\n            puVar26[-3] = 1;\n            puVar26[-4] = 0;\n            puVar26[-5] = local_f4;\n            puVar26[-6] = &dst_id;\n            puVar26[-7]" (assignment_expression "(p_Var1 == p_Var21) ||\n                  (object < (Sized_relobj_file<32,_false> *)p_Var21->_M_node_count)) ||\n                 ((object == (Sized_relobj_file<32,_false> *)p_Var21->_M_node_count &&\n                  (data_shndx < *(uint *)(p_Var21 + 1))))) goto LAB_000d27f0;\n            }\n            __node_gen._M_h = (__hashtable_alloc *)((int)(p_Var21 + 1) + 4);\n            puVar26[-3] = 1;\n            puVar26[-4] = 0;\n            puVar26[-5] = local_f4;\n            puVar26[-6] = &dst_id" (subscript_expression "(p_Var1 == p_Var21) ||\n                  (object < (Sized_relobj_file<32,_false> *)p_Var21->_M_node_count)) ||\n                 ((object == (Sized_relobj_file<32,_false> *)p_Var21->_M_node_count &&\n                  (data_shndx < *(uint *)(p_Var21 + 1))))) goto LAB_000d27f0;\n            }\n            __node_gen._M_h = (__hashtable_alloc *)((int)(p_Var21 + 1) + 4);\n            puVar26[-3] = 1;\n            puVar26[-4] = 0;\n            puVar26[-5] = local_f4;\n            puVar26[-6]" (assignment_expression "(p_Var1 == p_Var21) ||\n                  (object < (Sized_relobj_file<32,_false> *)p_Var21->_M_node_count)) ||\n                 ((object == (Sized_relobj_file<32,_false> *)p_Var21->_M_node_count &&\n                  (data_shndx < *(uint *)(p_Var21 + 1))))) goto LAB_000d27f0;\n            }\n            __node_gen._M_h = (__hashtable_alloc *)((int)(p_Var21 + 1) + 4);\n            puVar26[-3] = 1;\n            puVar26[-4] = 0;\n            puVar26[-5] = local_f4" (subscript_expression "(p_Var1 == p_Var21) ||\n                  (object < (Sized_relobj_file<32,_false> *)p_Var21->_M_node_count)) ||\n                 ((object == (Sized_relobj_file<32,_false> *)p_Var21->_M_node_count &&\n                  (data_shndx < *(uint *)(p_Var21 + 1))))) goto LAB_000d27f0;\n            }\n            __node_gen._M_h = (__hashtable_alloc *)((int)(p_Var21 + 1) + 4);\n            puVar26[-3] = 1;\n            puVar26[-4] = 0;\n            puVar26[-5]" (assignment_expression "(p_Var1 == p_Var21) ||\n                  (object < (Sized_relobj_file<32,_false> *)p_Var21->_M_node_count)) ||\n                 ((object == (Sized_relobj_file<32,_false> *)p_Var21->_M_node_count &&\n                  (data_shndx < *(uint *)(p_Var21 + 1))))) goto LAB_000d27f0;\n            }\n            __node_gen._M_h = (__hashtable_alloc *)((int)(p_Var21 + 1) + 4);\n            puVar26[-3] = 1;\n            puVar26[-4] = 0" (subscript_expression "(p_Var1 == p_Var21) ||\n                  (object < (Sized_relobj_file<32,_false> *)p_Var21->_M_node_count)) ||\n                 ((object == (Sized_relobj_file<32,_false> *)p_Var21->_M_node_count &&\n                  (data_shndx < *(uint *)(p_Var21 + 1))))) goto LAB_000d27f0;\n            }\n            __node_gen._M_h = (__hashtable_alloc *)((int)(p_Var21 + 1) + 4);\n            puVar26[-3] = 1;\n            puVar26[-4]" (assignment_expression "(p_Var1 == p_Var21) ||\n                  (object < (Sized_relobj_file<32,_false> *)p_Var21->_M_node_count)) ||\n                 ((object == (Sized_relobj_file<32,_false> *)p_Var21->_M_node_count &&\n                  (data_shndx < *(uint *)(p_Var21 + 1))))) goto LAB_000d27f0;\n            }\n            __node_gen._M_h = (__hashtable_alloc *)((int)(p_Var21 + 1) + 4);\n            puVar26[-3] = 1" (subscript_expression "(p_Var1 == p_Var21) ||\n                  (object < (Sized_relobj_file<32,_false> *)p_Var21->_M_node_count)) ||\n                 ((object == (Sized_relobj_file<32,_false> *)p_Var21->_M_node_count &&\n                  (data_shndx < *(uint *)(p_Var21 + 1))))) goto LAB_000d27f0;\n            }\n            __node_gen._M_h = (__hashtable_alloc *)((int)(p_Var21 + 1) + 4);\n            puVar26[-3]" (binary_expression "(p_Var1 == p_Var21) ||\n                  (object < (Sized_relobj_file<32,_false> *)p_Var21->_M_node_count)) ||\n                 ((object == (Sized_relobj_file<32,_false> *)p_Var21->_M_node_count &&\n                  (data_shndx < *(uint *)(p_Var21 + 1))))) goto LAB_000d27f0;\n            }\n            __node_gen._M_h = (__hashtable_alloc *)((int)(p_Var21 + 1) + 4)" (binary_expression "(p_Var1 == p_Var21) ||\n                  (object < (Sized_relobj_file<32,_false> *)p_Var21->_M_node_count))" (parenthesized_expression "(p_Var1 == p_Var21)" ( (binary_expression "p_Var1 == p_Var21" identifier == identifier) )) || (parenthesized_expression "(object < (Sized_relobj_file<32,_false> *)p_Var21->_M_node_count))" ( (binary_expression "object < (Sized_relobj_file<32,_false> *)p_Var21->_M_node_count)" identifier < (parenthesized_expression "(Sized_relobj_file<32,_false> *)p_Var21->_M_node_count)" ( (comma_expression "Sized_relobj_file<32,_false> *)p_Var21->_M_node_count" (binary_expression "Sized_relobj_file<32" identifier < number_literal) , (binary_expression "_false> *)p_Var21->_M_node_count" identifier > (pointer_expression "*)p_Var21->_M_node_count" * (ERROR ")" )) (field_expression "p_Var21->_M_node_count" identifier -> field_identifier)))) ))) ))) || (assignment_expression "((object == (Sized_relobj_file<32,_false> *)p_Var21->_M_node_count &&\n                  (data_shndx < *(uint *)(p_Var21 + 1))))) goto LAB_000d27f0;\n            }\n            __node_gen._M_h = (__hashtable_alloc *)((int)(p_Var21 + 1) + 4)" (field_expression "((object == (Sized_relobj_file<32,_false> *)p_Var21->_M_node_count &&\n                  (data_shndx < *(uint *)(p_Var21 + 1))))) goto LAB_000d27f0;\n            }\n            __node_gen._M_h" (parenthesized_expression "((object == (Sized_relobj_file<32,_false> *)p_Var21->_M_node_count &&\n                  (data_shndx < *(uint *)(p_Var21 + 1)))))" ( (parenthesized_expression "(object == (Sized_relobj_file<32,_false> *)p_Var21->_M_node_count &&\n                  (data_shndx < *(uint *)(p_Var21 + 1))))" ( (binary_expression "object == (Sized_relobj_file<32,_false> *)p_Var21->_M_node_count &&\n                  (data_shndx < *(uint *)(p_Var21 + 1)))" identifier == (parenthesized_expression "(Sized_relobj_file<32,_false> *)p_Var21->_M_node_count &&\n                  (data_shndx < *(uint *)(p_Var21 + 1)))" ( (comma_expression "Sized_relobj_file<32,_false> *)p_Var21->_M_node_count &&\n                  (data_shndx < *(uint *)(p_Var21 + 1))" (binary_expression "Sized_relobj_file<32" identifier < number_literal) , (binary_expression "_false> *)p_Var21->_M_node_count &&\n                  (data_shndx < *(uint *)(p_Var21 + 1))" (binary_expression "_false> *)p_Var21->_M_node_count" identifier > (pointer_expression "*)p_Var21->_M_node_count" * (ERROR ")" )) (field_expression "p_Var21->_M_node_count" identifier -> field_identifier))) && (parenthesized_expression "(data_shndx < *(uint *)(p_Var21 + 1))" ( (binary_expression "data_shndx < *(uint *)(p_Var21 + 1)" identifier < (pointer_expression "*(uint *)(p_Var21 + 1)" * (cast_expression "(uint *)(p_Var21 + 1)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(p_Var21 + 1)" ( (binary_expression "p_Var21 + 1" identifier + number_literal) ))))) )))) ))) )) )) (ERROR "goto LAB_000d27f0;\n            }\n            __node_gen" identifier identifier ; } identifier) . field_identifier) = (cast_expression "(__hashtable_alloc *)((int)(p_Var21 + 1) + 4)" ( (type_descriptor "__hashtable_alloc *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)(p_Var21 + 1) + 4)" ( (binary_expression "(int)(p_Var21 + 1) + 4" (cast_expression "(int)(p_Var21 + 1)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(p_Var21 + 1)" ( (binary_expression "p_Var21 + 1" identifier + number_literal) ))) + number_literal) ))))) (ERROR ";\n            puVar26" ; identifier) [ number_literal ]) = number_literal) (ERROR ";\n            puVar26" ; identifier) [ number_literal ]) = number_literal) (ERROR ";\n            puVar26" ; identifier) [ number_literal ]) = identifier) (ERROR ";\n            puVar26" ; identifier) [ number_literal ]) = (pointer_expression "&dst_id" & identifier)) (ERROR ";\n            puVar26" ; identifier) [ number_literal ]) = (field_expression "__node_gen._M_h" identifier . field_identifier)) (ERROR ";\n            puVar26" ; identifier) [ number_literal ]) = identifier) (ERROR ";\n            puVar26" ; identifier) [ number_literal ]) = number_literal) (ERROR ";\n            std::\n            _Hashtable" ; identifier : : identifier) < identifier) (ERROR "::pair" : : identifier) < identifier) (ERROR "::Relobj" : : identifier) * (ERROR "," ,) identifier) > (ERROR "," ,) identifier) (ERROR "::pair" : : identifier) < identifier) (ERROR "::Relobj" : : identifier) * (ERROR "," ,) identifier) > (ERROR "," ,) identifier) (ERROR "::allocator" : : identifier) < identifier) (ERROR "::pair" : : identifier) < identifier) (ERROR "::Relobj" : : identifier) * (ERROR "," ,) identifier) > identifier) > (ERROR "," ,) identifier) (ERROR "::__detail::_Identity" : : identifier : : identifier) , identifier) (ERROR "::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n            ::\n            _M_insert<const_std::pair<gold::Relobj*,_unsigned_int>&,_std::__detail::_AllocNode<std::allocator<std::__detail::_Hash_node<std::pair<gold::Relobj*,_unsigned_int>,_true>_>_>_>\n                      (" : : identifier < identifier : : identifier < identifier : : identifier * , identifier > identifier > , identifier : : identifier , identifier : : identifier : : identifier , identifier : : identifier : : identifier , identifier : : identifier : : identifier , identifier : : identifier : : identifier < true , identifier , identifier > identifier > : : identifier < identifier : : identifier < identifier : : identifier * , identifier > & , identifier : : identifier : : identifier < identifier : : identifier < identifier : : identifier : : identifier < identifier : : identifier < identifier : : identifier * , identifier > , identifier > identifier > identifier > identifier > () )) )) (expression_statement ";" ;))) (expression_statement "pTVar9 = (*local_dc)->target_;" (assignment_expression "pTVar9 = (*local_dc)->target_" identifier = (field_expression "(*local_dc)->target_" (parenthesized_expression "(*local_dc)" ( (pointer_expression "*local_dc" * identifier) )) -> field_identifier)) ;) (if_statement "if (pTVar9 == (Target *)0x0) {\n              puVar26[-3] = local_b8 + -0x615c4;\n              puVar26[-4] = 0x73;\n              puVar26[-5] = (int)local_b8 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n              puVar26[-6] = 0xd2fad;\n              gold::do_gold_unreachable((char *)puVar26[-5],puVar26[-4],(char *)puVar26[-3]);\n            }" if (parenthesized_expression "(pTVar9 == (Target *)0x0)" ( (binary_expression "pTVar9 == (Target *)0x0" identifier == (cast_expression "(Target *)0x0" ( (type_descriptor "Target *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n              puVar26[-3] = local_b8 + -0x615c4;\n              puVar26[-4] = 0x73;\n              puVar26[-5] = (int)local_b8 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n              puVar26[-6] = 0xd2fad;\n              gold::do_gold_unreachable((char *)puVar26[-5],puVar26[-4],(char *)puVar26[-3]);\n            }" { (expression_statement "puVar26[-3] = local_b8 + -0x615c4;" (assignment_expression "puVar26[-3] = local_b8 + -0x615c4" (subscript_expression "puVar26[-3]" identifier [ number_literal ]) = (binary_expression "local_b8 + -0x615c4" identifier + number_literal)) ;) (expression_statement "puVar26[-4] = 0x73;" (assignment_expression "puVar26[-4] = 0x73" (subscript_expression "puVar26[-4]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar26[-5] = (int)local_b8 + -0x1a1d93;" (assignment_expression "puVar26[-5] = (int)local_b8 + -0x1a1d93" (subscript_expression "puVar26[-5]" identifier [ number_literal ]) = (binary_expression "(int)local_b8 + -0x1a1d93" (cast_expression "(int)local_b8" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) comment (expression_statement "puVar26[-6] = 0xd2fad;" (assignment_expression "puVar26[-6] = 0xd2fad" (subscript_expression "puVar26[-6]" identifier [ number_literal ]) = number_literal) ;) (labeled_statement "gold::do_gold_unreachable((char *)puVar26[-5],puVar26[-4],(char *)puVar26[-3]);" statement_identifier : (ERROR ":" :) (expression_statement "do_gold_unreachable((char *)puVar26[-5],puVar26[-4],(char *)puVar26[-3]);" (call_expression "do_gold_unreachable((char *)puVar26[-5],puVar26[-4],(char *)puVar26[-3])" identifier (argument_list "((char *)puVar26[-5],puVar26[-4],(char *)puVar26[-3])" ( (cast_expression "(char *)puVar26[-5]" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar26[-5]" identifier [ number_literal ])) , (subscript_expression "puVar26[-4]" identifier [ number_literal ]) , (cast_expression "(char *)puVar26[-3]" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar26[-3]" identifier [ number_literal ])) ))) ;)) })) (expression_statement "pp_Var17 = pTVar9->_vptr_Target;" (assignment_expression "pp_Var17 = pTVar9->_vptr_Target" identifier = (field_expression "pTVar9->_vptr_Target" identifier -> field_identifier)) ;) (expression_statement "puVar26[-3] = local_c4;" (assignment_expression "puVar26[-3] = local_c4" (subscript_expression "puVar26[-3]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar26[-4] = local_b4;" (assignment_expression "puVar26[-4] = local_b4" (subscript_expression "puVar26[-4]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar26[-5] = local_c0;" (assignment_expression "puVar26[-5] = local_c0" (subscript_expression "puVar26[-5]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar26[-6] = data_shndx;" (assignment_expression "puVar26[-6] = data_shndx" (subscript_expression "puVar26[-6]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar26[-7] = object;" (assignment_expression "puVar26[-7] = object" (subscript_expression "puVar26[-7]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar26[-8] = symtab;" (assignment_expression "puVar26[-8] = symtab" (subscript_expression "puVar26[-8]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar26[-9] = pTVar9;" (assignment_expression "puVar26[-9] = pTVar9" (subscript_expression "puVar26[-9]" identifier [ number_literal ]) = identifier) ;) (expression_statement "p_Var4 = pp_Var17[0x41];" (assignment_expression "p_Var4 = pp_Var17[0x41]" identifier = (subscript_expression "pp_Var17[0x41]" identifier [ number_literal ])) ;) (expression_statement "puVar26[-10] = 0xd287d;" (assignment_expression "puVar26[-10] = 0xd287d" (subscript_expression "puVar26[-10]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "(*p_Var4)();" (call_expression "(*p_Var4)()" (parenthesized_expression "(*p_Var4)" ( (pointer_expression "*p_Var4" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "pp_Var17 = local_d8;" (assignment_expression "pp_Var17 = local_d8" identifier = identifier) ;) (expression_statement "ppGVar27 = (General_options **)(puVar26 + -1);" (assignment_expression "ppGVar27 = (General_options **)(puVar26 + -1)" identifier = (cast_expression "(General_options **)(puVar26 + -1)" ( (type_descriptor "General_options **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar26 + -1)" ( (binary_expression "puVar26 + -1" identifier + number_literal) )))) ;) (if_statement "if (local_d8 != (_func_int_varargs **)0x0) {\n              local_b4 = (Relobj *)&local_2c;\n              pGVar10 = symtab->gc_;\n              puVar26[-5] = local_d8;\n              local_b0 = (Icf *)&src_id;\n              src_id.first = (Relobj *)&local_2c;\n              puVar26[-6] = 0xd28bd;\n              sVar15 = strlen((char *)puVar26[-5]);\n              pIVar12 = local_b0;\n              puVar26[-2] = 0;\n              puVar26[-3] = (byte *)((int)pp_Var17 + sVar15);\n              puVar26[-4] = pp_Var17;\n              puVar26[-5] = local_b0;\n              puVar26[-6] = 0xd28d2;\n              std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n              _M_construct<char_const*>();\n              puVar26[-3] = pIVar12;\n              puVar26[-4] = &pGVar10->cident_sections_;\n              puVar26[-5] = &local_ac;\n              puVar26[-6] = 0xd28e6;\n              std::\n              _Rb_tree<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>,_std::_Select1st<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>_>,_std::less<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::allocator<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>_>_>\n              ::find((_Rb_tree<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>,_std::_Select1st<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>_>,_std::less<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::allocator<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>_>_>\n                      *)puVar26[-5],\n                     (basic_string<char,_std::char_traits<char>,_std::allocator<char>_> *)\n                     puVar26[-4]);\n              puVar13 = local_ac;\n              if (src_id.first != local_b4) {\n                puVar26[-6] = src_id.first;\n                puVar26[-7] = 0xd2909;\n                operator_delete((void *)puVar26[-6]);\n              }\n              ppGVar27 = (General_options **)(puVar26 + -2);\n              pGVar10 = symtab->gc_;\n              if ((_Rb_tree_header *)puVar13 !=\n                  &(pGVar10->cident_sections_)._M_t._M_impl.super__Rb_tree_header) {\n                p_Var1 = &(pGVar10->section_reloc_map_)._M_t._M_impl.super__Rb_tree_header;\n                src_id.first = (Relobj *)object;\n                src_id.second = data_shndx;\n                p_Var8 = (pGVar10->section_reloc_map_)._M_t._M_impl.super__Rb_tree_header._M_header.\n                         _M_parent;\n                p_Var20 = &p_Var1->_M_header;\n                if (p_Var8 == (_Base_ptr)0x0) {\nLAB_000d2bd8:\n                  puVar26[-6] = &local_84;\n                  local_84 = local_b0;\n                  puVar26[-7] = 0xd2bf6;\n                  std::\n                  _Rb_tree<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>,_std::_Select1st<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>_>,_std::less<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>_>_>\n                  ::\n                  _M_emplace_hint_unique<const_std::piecewise_construct_t&,_std::tuple<const_std::pair<gold::Relobj*,_unsigned_int>&>,_std::tuple<>_>\n                            ((_Rb_tree<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>,_std::_Select1st<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>_>,_std::less<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>_>_>\n                              *)puVar26[-6],(_Base_ptr)puVar26[-5],\n                             (tuple<const_std::pair<gold::Relobj*,_unsigned_int>&> *)puVar26[-4],\n                             (tuple<> *)puVar26[-3],(piecewise_construct_t *)puVar26[-2]);\n                  p_Var21 = local_a8;\n                }\n                else {\n                  do {\n                    while ((p_Var21 = (_Rb_tree_header *)p_Var8,\n                           object <= (Sized_relobj_file<32,_false> *)\n                                     ((_Base_ptr)((int)p_Var21 + 0x10))->_M_color &&\n                           ((object != (Sized_relobj_file<32,_false> *)\n                                       ((_Base_ptr)((int)p_Var21 + 0x10))->_M_color ||\n                            (data_shndx <= ((size_t *)((int)p_Var21 + 0x10))[1]))))) {\n                      p_Var8 = (p_Var21->_M_header)._M_left;\n                      p_Var20 = &p_Var21->_M_header;\n                      if ((p_Var21->_M_header)._M_left == (_Base_ptr)0x0) goto LAB_000d2962;\n                    }\n                    pp_Var2 = &(p_Var21->_M_header)._M_right;\n                    p_Var8 = *pp_Var2;\n                    p_Var21 = (_Rb_tree_header *)p_Var20;\n                  } while (*pp_Var2 != (_Base_ptr)0x0);\nLAB_000d2962:\n                  if (((p_Var21 == p_Var1) ||\n                      (object < (Sized_relobj_file<32,_false> *)p_Var21->_M_node_count)) ||\n                     ((object == (Sized_relobj_file<32,_false> *)p_Var21->_M_node_count &&\n                      (data_shndx < *(uint *)(p_Var21 + 1))))) goto LAB_000d2bd8;\n                }\n                ppGVar27 = (General_options **)(puVar26 + -2);\n                puVar26 = puVar26 + -2;\n                for (puVar11 = *(undefined4 **)(puVar13 + 0x30); puVar11 != (undefined4 *)0x0;\n                    puVar11 = (undefined4 *)*puVar11) {\n                  *(undefined4 *)((int)puVar26 + -0xc) = 1;\n                  *(undefined4 *)((int)puVar26 + -0x10) = 0;\n                  *(__node_gen_type **)((int)puVar26 + -0x14) = &__node_gen_1;\n                  *(undefined4 **)((int)puVar26 + -0x18) = puVar11 + 1;\n                  *(int *)((int)puVar26 + -0x1c) = (int)(p_Var21 + 1) + 4;\n                  *(undefined1 **)((int)puVar26 + -0x20) = local_e0;\n                  *(undefined4 *)((int)puVar26 + -0x24) = 0xd29ae;\n                  __node_gen_1._M_h = (__hashtable_alloc *)((int)(p_Var21 + 1) + 4);\n                  std::\n                  _Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>,_std::__detail::_Identity,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                  ::\n                  _M_insert<const_std::pair<gold::Relobj*,_unsigned_int>&,_std::__detail::_AllocNode<std::allocator<std::__detail::_Hash_node<std::pair<gold::Relobj*,_unsigned_int>,_true>_>_>_>\n                            ();\n                  ppGVar27 = (General_options **)((int)puVar26 + -4);\n                  puVar26 = (undefined4 *)((int)puVar26 + -4);\n                }\n              }\n            }\n          }\n        }\n      }\n      else {\n        if (uVar25 < object->local_symbol_count_) {\n          src_id_1.first = (Relobj *)0x0;\nLAB_000d2a1f:\n          *(undefined ***)((int)ppGVar27 + -8) = local_b8 + -0x615ed;\n          *(undefined4 *)((int)ppGVar27 + -0xc) = 0x11c;\n          *(int *)((int)ppGVar27 + -0x10) = (int)local_b8 + -0x19ca36;\n                    /* WARNING: Subroutine does not return */\n          *(undefined4 *)((int)ppGVar27 + -0x14) = 0xd2a40;\n          gold::do_gold_unreachable\n                    (*(char **)((int)ppGVar27 + -0x10),*(int *)((int)ppGVar27 + -0xc),\n                     *(char **)((int)ppGVar27 + -8));\n        }\n        uVar25 = uVar25 - object->local_symbol_count_;\n        ppSVar7 = (object->symbols_).\n                  super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl._M_start\n        ;\n        local_b0 = (Icf *)(object->symbols_).\n                          super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                          _M_finish;\n        if ((uint)((int)local_b0 - (int)ppSVar7 >> 2) <= uVar25) {\n          *(undefined ***)((int)ppGVar27 + -8) = local_b8 + -0x6156c;\n          *(undefined4 *)((int)ppGVar27 + -0xc) = 0x8ad;\n          *(int *)((int)ppGVar27 + -0x10) = (int)local_b8 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n          *(undefined4 *)((int)ppGVar27 + -0x14) = 0xd2f8f;\n          gold::do_gold_unreachable\n                    (*(char **)((int)ppGVar27 + -0x10),*(int *)((int)ppGVar27 + -0xc),\n                     *(char **)((int)ppGVar27 + -8));\n        }\n        src_id_1.first = (Relobj *)ppSVar7[uVar25];\n        if (src_id_1.first == (Relobj *)0x0) goto LAB_000d2a1f;\n        if ((((src_id_1.first)->super_Object).shnum_ & 0x100000) == 0) {\n          if ((((src_id_1.first)->super_Object).shnum_ & 0x70000) != 0) goto LAB_000d29e2;\nLAB_000d25f7:\n          local_f0 = (Relobj *)((src_id_1.first)->super_Object).xindex_;\n          local_c0 = ((anon_union_4_3_b0f6f408_for_u1_ *)\n                     &((src_id_1.first)->super_Object).name_._M_string_length)->output_segment;\n          local_c4 = (int)&local_bc->first + (int)local_f0;\n          if (((uint)local_c0->output_lists_[3].\n                     super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>.\n                     _M_impl._M_end_of_storage & 1) == 0) {\n            local_b4 = (Relobj *)\n                       ((src_id_1.first)->super_Object).name_.field_2._M_allocated_capacity;\n            bVar22 = (byte)((src_id_1.first)->super_Object).shnum_ & 0xf;\n            bVar23 = *(byte *)((int)&((src_id_1.first)->super_Object).shnum_ + 3) >> 5 & 1;\n            bVar34 = bVar22 < 2;\n            bVar36 = bVar22 == 2;\n            if (bVar36) {\n              bVar34 = false;\n              bVar36 = local_d2 == false;\n              if ((!bVar36) &&\n                 (((bVar23 == 0 || (bVar36 = uVar31 == 0x17, 0x17 < uVar31)) ||\n                  (bVar34 = (0x843f84U >> (uVar6 & 0x1f) & 1) != 0, !bVar34)))) {\n                local_b0 = symtab->icf_;\n                *(undefined4 *)((int)ppGVar27 + -0xc) = 1;\n                *(undefined4 *)((int)ppGVar27 + -0x10) = 0;\n                *(__node_gen_type **)((int)ppGVar27 + -0x14) = &__node_gen_3;\n                *(Output_segment ***)((int)ppGVar27 + -0x18) = &local_78;\n                __node_gen_3._M_h = (__hashtable_alloc *)&local_b0->fptr_section_id_;\n                *(__hashtable_alloc **)((int)ppGVar27 + -0x1c) = __node_gen_3._M_h;\n                *(undefined1 **)((int)ppGVar27 + -0x20) = local_e0;\n                    /* try { // try from 000d2cc6 to 000d2cca has its CatchHandler @ 000d302c */\n                *(undefined4 *)((int)ppGVar27 + -0x24) = 0xd2ccb;\n                local_78 = local_c0;\n                local_74 = local_b4;\n                std::\n                _Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>,_std::__detail::_Identity,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                ::\n                _M_insert<std::pair<gold::Relobj*,_unsigned_int>,_std::__detail::_AllocNode<std::allocator<std::__detail::_Hash_node<std::pair<gold::Relobj*,_unsigned_int>,_true>_>_>_>\n                          ();\n                bVar34 = (undefined1 *)0xffffffe3 < (undefined1 *)((int)ppGVar27 + -0x20);\n                bVar36 = ppGVar27 == (General_options **)0x4;\n                ppGVar27 = (General_options **)((int)ppGVar27 + -4);\n              }\n            }\n          }\n          else {\n            local_b4 = (Relobj *)0x0;\n            bVar34 = false;\n            bVar23 = 0;\n            bVar36 = true;\n            local_c0 = (Output_segment *)0x0;\n          }\n        }\n        else {\n          *(Relobj **)((int)ppGVar27 + -0xc) = src_id_1.first;\n          *(Symbol_table **)((int)ppGVar27 + -0x10) = symtab;\n          *(undefined4 *)((int)ppGVar27 + -0x14) = 0xd29d2;\n          src_id_1.first =\n               (Relobj *)\n               gold::Symbol_table::resolve_forwards\n                         (*(Symbol_table **)((int)ppGVar27 + -0x10),\n                          *(Symbol **)((int)ppGVar27 + -0xc));\n          if ((((src_id_1.first)->super_Object).shnum_ & 0x70000) == 0) goto LAB_000d25f7;\nLAB_000d29e2:\n          local_f0 = (Relobj *)((src_id_1.first)->super_Object).xindex_;\n          bVar23 = 0;\n          local_b4 = (Relobj *)0x0;\n          local_c0 = (Output_segment *)0x0;\n          bVar34 = CARRY4((uint)local_bc,(uint)local_f0);\n          local_c4 = (int)&local_bc->first + (int)local_f0;\n          bVar36 = local_c4 == 0;\n        }\n        pp_Var17 = ((src_id_1.first)->super_Object)._vptr_Object;\n        iVar19 = 8;\n        pbVar29 = (byte *)((int)local_b8 + -0x19ca26);\n        pp_Var32 = pp_Var17;\n        do {\n          if (iVar19 == 0) break;\n          iVar19 = iVar19 + -1;\n          bVar34 = *pbVar29 < *(byte *)pp_Var32;\n          bVar36 = *pbVar29 == *(byte *)pp_Var32;\n          pbVar29 = pbVar29 + (uint)bVar37 * -2 + 1;\n          pp_Var32 = (_func_int_varargs **)((int)pp_Var32 + (uint)bVar37 * -2 + 1);\n        } while (bVar36);\n        bVar35 = false;\n        bVar34 = (!bVar34 && !bVar36) == bVar34;\n        if (bVar34) {\n          local_d8 = pp_Var17 + 2;\n        }\n        else {\n          iVar19 = 7;\n          pbVar29 = (byte *)((int)local_b8 + -0x19ca1d);\n          pp_Var32 = pp_Var17;\n          do {\n            if (iVar19 == 0) break;\n            iVar19 = iVar19 + -1;\n            bVar35 = *pbVar29 < *(byte *)pp_Var32;\n            bVar34 = *pbVar29 == *(byte *)pp_Var32;\n            pbVar29 = pbVar29 + (uint)bVar37 * -2 + 1;\n            pp_Var32 = (_func_int_varargs **)((int)pp_Var32 + (uint)bVar37 * -2 + 1);\n          } while (bVar34);\n          pp_Var17 = (_func_int_varargs **)((int)pp_Var17 + 7);\n          if ((!bVar35 && !bVar34) != bVar35) {\n            pp_Var17 = local_d8;\n          }\n          local_d8 = pp_Var17;\n        }\n        if (local_d1 != '\0') {\n          if (bVar23 == 0) {\n            src_id.first = (Relobj *)0x0;\n            src_id.second = 0;\n          }\n          else {\n            src_id.first = (Relobj *)local_c0;\n            src_id.second = (uint)local_b4;\n          }\n          *(Icf **)((int)ppGVar27 + -0xc) = (Icf *)&src_id;\n          *(mapped_type **)((int)ppGVar27 + -0x10) = local_c8;\n          local_b0 = (Icf *)&src_id;\n          *(undefined4 *)((int)ppGVar27 + -0x14) = 0xd26b9;\n          std::\n          vector<std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>\n          ::emplace_back<std::pair<gold::Relobj*,_unsigned_int>_>\n                    (*(vector<std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>\n                       **)((int)ppGVar27 + -0x10),\n                     *(pair<gold::Relobj*,_unsigned_int> **)((int)ppGVar27 + -0xc));\n          ppSVar7 = (local_cc->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>).\n                    _M_impl._M_finish;\n          if (ppSVar7 ==\n              (local_cc->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>)._M_impl.\n              _M_end_of_storage) {\n            *(Section_id **)((int)ppGVar27 + -8) = &src_id_1;\n            *(pointer *)((int)ppGVar27 + -0xc) = ppSVar7;\n            *(Symbol_info **)((int)ppGVar27 + -0x10) = local_cc;\n            *(undefined4 *)((int)ppGVar27 + -0x14) = 0xd2b4b;\n            std::vector<gold::Symbol*,_std::allocator<gold::Symbol*>_>::\n            _M_realloc_insert<gold::Symbol*_const&>\n                      (*(vector<gold::Symbol*,_std::allocator<gold::Symbol*>_> **)\n                        ((int)ppGVar27 + -0x10),(iterator)*(Symbol ***)((int)ppGVar27 + -0xc),\n                       *(Symbol ***)((int)ppGVar27 + -8));\n          }\n          else {\n            *ppSVar7 = (Symbol *)src_id_1.first;\n            (local_cc->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>)._M_impl.\n            _M_finish = ppSVar7 + 1;\n          }\n          *(Icf **)((int)ppGVar27 + -0xc) = local_b0;\n          *(Addend_info **)((int)ppGVar27 + -0x10) = local_e8;\n          src_id.first = local_f0;\n          src_id.second = 0;\n          local_2c = local_bc;\n          local_28._M_p = (pointer)((int)local_bc >> 0x1f);\n          *(undefined4 *)((int)ppGVar27 + -0x14) = 0xd270d;\n          std::\n          vector<std::pair<long_long_int,_long_long_int>,_std::allocator<std::pair<long_long_int,_long_long_int>_>_>\n          ::emplace_back<std::pair<long_long_int,_long_long_int>_>\n                    (*(vector<std::pair<long_long_int,_long_long_int>,_std::allocator<std::pair<long_long_int,_long_long_int>_>_>\n                       **)((int)ppGVar27 + -0x10),\n                     *(pair<long_long_int,_long_long_int> **)((int)ppGVar27 + -0xc));\n          src_id.second = 0;\n          puVar5 = (local_d0->\n                   super__Vector_base<long_long_unsigned_int,_std::allocator<long_long_unsigned_int>_>\n                   )._M_impl._M_finish;\n          src_id.first = *(Relobj **)prelocs;\n          if (puVar5 == (local_d0->\n                        super__Vector_base<long_long_unsigned_int,_std::allocator<long_long_unsigned_int>_>\n                        )._M_impl._M_end_of_storage) {\n            *(Icf **)((int)ppGVar27 + -8) = local_b0;\n            *(pointer *)((int)ppGVar27 + -0xc) = puVar5;\n            *(Offset_info **)((int)ppGVar27 + -0x10) = local_d0;\n            *(undefined4 *)((int)ppGVar27 + -0x14) = 0xd2bbd;\n            std::vector<long_long_unsigned_int,_std::allocator<long_long_unsigned_int>_>::\n            _M_realloc_insert<long_long_unsigned_int_const&>\n                      (*(vector<long_long_unsigned_int,_std::allocator<long_long_unsigned_int>_> **)\n                        ((int)ppGVar27 + -0x10),(iterator)*(ulonglong **)((int)ppGVar27 + -0xc),\n                       *(ulonglong **)((int)ppGVar27 + -8));\n          }\n          else {\n            *(Relobj **)puVar5 = *(Relobj **)prelocs;\n            *(undefined4 *)((int)puVar5 + 4) = 0;\n            (local_d0->\n            super__Vector_base<long_long_unsigned_int,_std::allocator<long_long_unsigned_int>_>).\n            _M_impl._M_finish = puVar5 + 1;\n          }\n          dst_id.first = (Relobj *)0x0;\n          *(Section_id **)((int)ppGVar27 + -0xc) = &dst_id;\n          *(Reloc_addend_size_info **)((int)ppGVar27 + -0x10) = local_ec;\n          *(undefined4 *)((int)ppGVar27 + -0x14) = 0xd2753;\n          std::vector<unsigned_int,_std::allocator<unsigned_int>_>::emplace_back<unsigned_int>\n                    (*(vector<unsigned_int,_std::allocator<unsigned_int>_> **)\n                      ((int)ppGVar27 + -0x10),*(uint **)((int)ppGVar27 + -0xc));\n        }\n        puVar26 = ppGVar27;\n        if (bVar23 != 0) goto LAB_000d275e;\n      }\nLAB_000d2489:\n      local_e4 = local_e4 + 1;\n      prelocs = prelocs + 0xc;\n    } while (reloc_count != local_e4);\n  }" if (parenthesized_expression "(local_d8 != (_func_int_varargs **)0x0)" ( (binary_expression "local_d8 != (_func_int_varargs **)0x0" identifier != (cast_expression "(_func_int_varargs **)0x0" ( (type_descriptor "_func_int_varargs **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) )) (compound_statement "{\n              local_b4 = (Relobj *)&local_2c;\n              pGVar10 = symtab->gc_;\n              puVar26[-5] = local_d8;\n              local_b0 = (Icf *)&src_id;\n              src_id.first = (Relobj *)&local_2c;\n              puVar26[-6] = 0xd28bd;\n              sVar15 = strlen((char *)puVar26[-5]);\n              pIVar12 = local_b0;\n              puVar26[-2] = 0;\n              puVar26[-3] = (byte *)((int)pp_Var17 + sVar15);\n              puVar26[-4] = pp_Var17;\n              puVar26[-5] = local_b0;\n              puVar26[-6] = 0xd28d2;\n              std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n              _M_construct<char_const*>();\n              puVar26[-3] = pIVar12;\n              puVar26[-4] = &pGVar10->cident_sections_;\n              puVar26[-5] = &local_ac;\n              puVar26[-6] = 0xd28e6;\n              std::\n              _Rb_tree<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>,_std::_Select1st<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>_>,_std::less<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::allocator<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>_>_>\n              ::find((_Rb_tree<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>,_std::_Select1st<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>_>,_std::less<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::allocator<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>_>_>\n                      *)puVar26[-5],\n                     (basic_string<char,_std::char_traits<char>,_std::allocator<char>_> *)\n                     puVar26[-4]);\n              puVar13 = local_ac;\n              if (src_id.first != local_b4) {\n                puVar26[-6] = src_id.first;\n                puVar26[-7] = 0xd2909;\n                operator_delete((void *)puVar26[-6]);\n              }\n              ppGVar27 = (General_options **)(puVar26 + -2);\n              pGVar10 = symtab->gc_;\n              if ((_Rb_tree_header *)puVar13 !=\n                  &(pGVar10->cident_sections_)._M_t._M_impl.super__Rb_tree_header) {\n                p_Var1 = &(pGVar10->section_reloc_map_)._M_t._M_impl.super__Rb_tree_header;\n                src_id.first = (Relobj *)object;\n                src_id.second = data_shndx;\n                p_Var8 = (pGVar10->section_reloc_map_)._M_t._M_impl.super__Rb_tree_header._M_header.\n                         _M_parent;\n                p_Var20 = &p_Var1->_M_header;\n                if (p_Var8 == (_Base_ptr)0x0) {\nLAB_000d2bd8:\n                  puVar26[-6] = &local_84;\n                  local_84 = local_b0;\n                  puVar26[-7] = 0xd2bf6;\n                  std::\n                  _Rb_tree<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>,_std::_Select1st<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>_>,_std::less<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>_>_>\n                  ::\n                  _M_emplace_hint_unique<const_std::piecewise_construct_t&,_std::tuple<const_std::pair<gold::Relobj*,_unsigned_int>&>,_std::tuple<>_>\n                            ((_Rb_tree<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>,_std::_Select1st<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>_>,_std::less<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>_>_>\n                              *)puVar26[-6],(_Base_ptr)puVar26[-5],\n                             (tuple<const_std::pair<gold::Relobj*,_unsigned_int>&> *)puVar26[-4],\n                             (tuple<> *)puVar26[-3],(piecewise_construct_t *)puVar26[-2]);\n                  p_Var21 = local_a8;\n                }\n                else {\n                  do {\n                    while ((p_Var21 = (_Rb_tree_header *)p_Var8,\n                           object <= (Sized_relobj_file<32,_false> *)\n                                     ((_Base_ptr)((int)p_Var21 + 0x10))->_M_color &&\n                           ((object != (Sized_relobj_file<32,_false> *)\n                                       ((_Base_ptr)((int)p_Var21 + 0x10))->_M_color ||\n                            (data_shndx <= ((size_t *)((int)p_Var21 + 0x10))[1]))))) {\n                      p_Var8 = (p_Var21->_M_header)._M_left;\n                      p_Var20 = &p_Var21->_M_header;\n                      if ((p_Var21->_M_header)._M_left == (_Base_ptr)0x0) goto LAB_000d2962;\n                    }\n                    pp_Var2 = &(p_Var21->_M_header)._M_right;\n                    p_Var8 = *pp_Var2;\n                    p_Var21 = (_Rb_tree_header *)p_Var20;\n                  } while (*pp_Var2 != (_Base_ptr)0x0);\nLAB_000d2962:\n                  if (((p_Var21 == p_Var1) ||\n                      (object < (Sized_relobj_file<32,_false> *)p_Var21->_M_node_count)) ||\n                     ((object == (Sized_relobj_file<32,_false> *)p_Var21->_M_node_count &&\n                      (data_shndx < *(uint *)(p_Var21 + 1))))) goto LAB_000d2bd8;\n                }\n                ppGVar27 = (General_options **)(puVar26 + -2);\n                puVar26 = puVar26 + -2;\n                for (puVar11 = *(undefined4 **)(puVar13 + 0x30); puVar11 != (undefined4 *)0x0;\n                    puVar11 = (undefined4 *)*puVar11) {\n                  *(undefined4 *)((int)puVar26 + -0xc) = 1;\n                  *(undefined4 *)((int)puVar26 + -0x10) = 0;\n                  *(__node_gen_type **)((int)puVar26 + -0x14) = &__node_gen_1;\n                  *(undefined4 **)((int)puVar26 + -0x18) = puVar11 + 1;\n                  *(int *)((int)puVar26 + -0x1c) = (int)(p_Var21 + 1) + 4;\n                  *(undefined1 **)((int)puVar26 + -0x20) = local_e0;\n                  *(undefined4 *)((int)puVar26 + -0x24) = 0xd29ae;\n                  __node_gen_1._M_h = (__hashtable_alloc *)((int)(p_Var21 + 1) + 4);\n                  std::\n                  _Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>,_std::__detail::_Identity,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                  ::\n                  _M_insert<const_std::pair<gold::Relobj*,_unsigned_int>&,_std::__detail::_AllocNode<std::allocator<std::__detail::_Hash_node<std::pair<gold::Relobj*,_unsigned_int>,_true>_>_>_>\n                            ();\n                  ppGVar27 = (General_options **)((int)puVar26 + -4);\n                  puVar26 = (undefined4 *)((int)puVar26 + -4);\n                }\n              }\n            }\n          }\n        }\n      }\n      else {\n        if (uVar25 < object->local_symbol_count_) {\n          src_id_1.first = (Relobj *)0x0;\nLAB_000d2a1f:\n          *(undefined ***)((int)ppGVar27 + -8) = local_b8 + -0x615ed;\n          *(undefined4 *)((int)ppGVar27 + -0xc) = 0x11c;\n          *(int *)((int)ppGVar27 + -0x10) = (int)local_b8 + -0x19ca36;\n                    /* WARNING: Subroutine does not return */\n          *(undefined4 *)((int)ppGVar27 + -0x14) = 0xd2a40;\n          gold::do_gold_unreachable\n                    (*(char **)((int)ppGVar27 + -0x10),*(int *)((int)ppGVar27 + -0xc),\n                     *(char **)((int)ppGVar27 + -8));\n        }\n        uVar25 = uVar25 - object->local_symbol_count_;\n        ppSVar7 = (object->symbols_).\n                  super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl._M_start\n        ;\n        local_b0 = (Icf *)(object->symbols_).\n                          super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                          _M_finish;\n        if ((uint)((int)local_b0 - (int)ppSVar7 >> 2) <= uVar25) {\n          *(undefined ***)((int)ppGVar27 + -8) = local_b8 + -0x6156c;\n          *(undefined4 *)((int)ppGVar27 + -0xc) = 0x8ad;\n          *(int *)((int)ppGVar27 + -0x10) = (int)local_b8 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n          *(undefined4 *)((int)ppGVar27 + -0x14) = 0xd2f8f;\n          gold::do_gold_unreachable\n                    (*(char **)((int)ppGVar27 + -0x10),*(int *)((int)ppGVar27 + -0xc),\n                     *(char **)((int)ppGVar27 + -8));\n        }\n        src_id_1.first = (Relobj *)ppSVar7[uVar25];\n        if (src_id_1.first == (Relobj *)0x0) goto LAB_000d2a1f;\n        if ((((src_id_1.first)->super_Object).shnum_ & 0x100000) == 0) {\n          if ((((src_id_1.first)->super_Object).shnum_ & 0x70000) != 0) goto LAB_000d29e2;\nLAB_000d25f7:\n          local_f0 = (Relobj *)((src_id_1.first)->super_Object).xindex_;\n          local_c0 = ((anon_union_4_3_b0f6f408_for_u1_ *)\n                     &((src_id_1.first)->super_Object).name_._M_string_length)->output_segment;\n          local_c4 = (int)&local_bc->first + (int)local_f0;\n          if (((uint)local_c0->output_lists_[3].\n                     super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>.\n                     _M_impl._M_end_of_storage & 1) == 0) {\n            local_b4 = (Relobj *)\n                       ((src_id_1.first)->super_Object).name_.field_2._M_allocated_capacity;\n            bVar22 = (byte)((src_id_1.first)->super_Object).shnum_ & 0xf;\n            bVar23 = *(byte *)((int)&((src_id_1.first)->super_Object).shnum_ + 3) >> 5 & 1;\n            bVar34 = bVar22 < 2;\n            bVar36 = bVar22 == 2;\n            if (bVar36) {\n              bVar34 = false;\n              bVar36 = local_d2 == false;\n              if ((!bVar36) &&\n                 (((bVar23 == 0 || (bVar36 = uVar31 == 0x17, 0x17 < uVar31)) ||\n                  (bVar34 = (0x843f84U >> (uVar6 & 0x1f) & 1) != 0, !bVar34)))) {\n                local_b0 = symtab->icf_;\n                *(undefined4 *)((int)ppGVar27 + -0xc) = 1;\n                *(undefined4 *)((int)ppGVar27 + -0x10) = 0;\n                *(__node_gen_type **)((int)ppGVar27 + -0x14) = &__node_gen_3;\n                *(Output_segment ***)((int)ppGVar27 + -0x18) = &local_78;\n                __node_gen_3._M_h = (__hashtable_alloc *)&local_b0->fptr_section_id_;\n                *(__hashtable_alloc **)((int)ppGVar27 + -0x1c) = __node_gen_3._M_h;\n                *(undefined1 **)((int)ppGVar27 + -0x20) = local_e0;\n                    /* try { // try from 000d2cc6 to 000d2cca has its CatchHandler @ 000d302c */\n                *(undefined4 *)((int)ppGVar27 + -0x24) = 0xd2ccb;\n                local_78 = local_c0;\n                local_74 = local_b4;\n                std::\n                _Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>,_std::__detail::_Identity,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                ::\n                _M_insert<std::pair<gold::Relobj*,_unsigned_int>,_std::__detail::_AllocNode<std::allocator<std::__detail::_Hash_node<std::pair<gold::Relobj*,_unsigned_int>,_true>_>_>_>\n                          ();\n                bVar34 = (undefined1 *)0xffffffe3 < (undefined1 *)((int)ppGVar27 + -0x20);\n                bVar36 = ppGVar27 == (General_options **)0x4;\n                ppGVar27 = (General_options **)((int)ppGVar27 + -4);\n              }\n            }\n          }\n          else {\n            local_b4 = (Relobj *)0x0;\n            bVar34 = false;\n            bVar23 = 0;\n            bVar36 = true;\n            local_c0 = (Output_segment *)0x0;\n          }\n        }\n        else {\n          *(Relobj **)((int)ppGVar27 + -0xc) = src_id_1.first;\n          *(Symbol_table **)((int)ppGVar27 + -0x10) = symtab;\n          *(undefined4 *)((int)ppGVar27 + -0x14) = 0xd29d2;\n          src_id_1.first =\n               (Relobj *)\n               gold::Symbol_table::resolve_forwards\n                         (*(Symbol_table **)((int)ppGVar27 + -0x10),\n                          *(Symbol **)((int)ppGVar27 + -0xc));\n          if ((((src_id_1.first)->super_Object).shnum_ & 0x70000) == 0) goto LAB_000d25f7;\nLAB_000d29e2:\n          local_f0 = (Relobj *)((src_id_1.first)->super_Object).xindex_;\n          bVar23 = 0;\n          local_b4 = (Relobj *)0x0;\n          local_c0 = (Output_segment *)0x0;\n          bVar34 = CARRY4((uint)local_bc,(uint)local_f0);\n          local_c4 = (int)&local_bc->first + (int)local_f0;\n          bVar36 = local_c4 == 0;\n        }\n        pp_Var17 = ((src_id_1.first)->super_Object)._vptr_Object;\n        iVar19 = 8;\n        pbVar29 = (byte *)((int)local_b8 + -0x19ca26);\n        pp_Var32 = pp_Var17;\n        do {\n          if (iVar19 == 0) break;\n          iVar19 = iVar19 + -1;\n          bVar34 = *pbVar29 < *(byte *)pp_Var32;\n          bVar36 = *pbVar29 == *(byte *)pp_Var32;\n          pbVar29 = pbVar29 + (uint)bVar37 * -2 + 1;\n          pp_Var32 = (_func_int_varargs **)((int)pp_Var32 + (uint)bVar37 * -2 + 1);\n        } while (bVar36);\n        bVar35 = false;\n        bVar34 = (!bVar34 && !bVar36) == bVar34;\n        if (bVar34) {\n          local_d8 = pp_Var17 + 2;\n        }\n        else {\n          iVar19 = 7;\n          pbVar29 = (byte *)((int)local_b8 + -0x19ca1d);\n          pp_Var32 = pp_Var17;\n          do {\n            if (iVar19 == 0) break;\n            iVar19 = iVar19 + -1;\n            bVar35 = *pbVar29 < *(byte *)pp_Var32;\n            bVar34 = *pbVar29 == *(byte *)pp_Var32;\n            pbVar29 = pbVar29 + (uint)bVar37 * -2 + 1;\n            pp_Var32 = (_func_int_varargs **)((int)pp_Var32 + (uint)bVar37 * -2 + 1);\n          } while (bVar34);\n          pp_Var17 = (_func_int_varargs **)((int)pp_Var17 + 7);\n          if ((!bVar35 && !bVar34) != bVar35) {\n            pp_Var17 = local_d8;\n          }\n          local_d8 = pp_Var17;\n        }\n        if (local_d1 != '\0') {\n          if (bVar23 == 0) {\n            src_id.first = (Relobj *)0x0;\n            src_id.second = 0;\n          }\n          else {\n            src_id.first = (Relobj *)local_c0;\n            src_id.second = (uint)local_b4;\n          }\n          *(Icf **)((int)ppGVar27 + -0xc) = (Icf *)&src_id;\n          *(mapped_type **)((int)ppGVar27 + -0x10) = local_c8;\n          local_b0 = (Icf *)&src_id;\n          *(undefined4 *)((int)ppGVar27 + -0x14) = 0xd26b9;\n          std::\n          vector<std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>\n          ::emplace_back<std::pair<gold::Relobj*,_unsigned_int>_>\n                    (*(vector<std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>\n                       **)((int)ppGVar27 + -0x10),\n                     *(pair<gold::Relobj*,_unsigned_int> **)((int)ppGVar27 + -0xc));\n          ppSVar7 = (local_cc->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>).\n                    _M_impl._M_finish;\n          if (ppSVar7 ==\n              (local_cc->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>)._M_impl.\n              _M_end_of_storage) {\n            *(Section_id **)((int)ppGVar27 + -8) = &src_id_1;\n            *(pointer *)((int)ppGVar27 + -0xc) = ppSVar7;\n            *(Symbol_info **)((int)ppGVar27 + -0x10) = local_cc;\n            *(undefined4 *)((int)ppGVar27 + -0x14) = 0xd2b4b;\n            std::vector<gold::Symbol*,_std::allocator<gold::Symbol*>_>::\n            _M_realloc_insert<gold::Symbol*_const&>\n                      (*(vector<gold::Symbol*,_std::allocator<gold::Symbol*>_> **)\n                        ((int)ppGVar27 + -0x10),(iterator)*(Symbol ***)((int)ppGVar27 + -0xc),\n                       *(Symbol ***)((int)ppGVar27 + -8));\n          }\n          else {\n            *ppSVar7 = (Symbol *)src_id_1.first;\n            (local_cc->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>)._M_impl.\n            _M_finish = ppSVar7 + 1;\n          }\n          *(Icf **)((int)ppGVar27 + -0xc) = local_b0;\n          *(Addend_info **)((int)ppGVar27 + -0x10) = local_e8;\n          src_id.first = local_f0;\n          src_id.second = 0;\n          local_2c = local_bc;\n          local_28._M_p = (pointer)((int)local_bc >> 0x1f);\n          *(undefined4 *)((int)ppGVar27 + -0x14) = 0xd270d;\n          std::\n          vector<std::pair<long_long_int,_long_long_int>,_std::allocator<std::pair<long_long_int,_long_long_int>_>_>\n          ::emplace_back<std::pair<long_long_int,_long_long_int>_>\n                    (*(vector<std::pair<long_long_int,_long_long_int>,_std::allocator<std::pair<long_long_int,_long_long_int>_>_>\n                       **)((int)ppGVar27 + -0x10),\n                     *(pair<long_long_int,_long_long_int> **)((int)ppGVar27 + -0xc));\n          src_id.second = 0;\n          puVar5 = (local_d0->\n                   super__Vector_base<long_long_unsigned_int,_std::allocator<long_long_unsigned_int>_>\n                   )._M_impl._M_finish;\n          src_id.first = *(Relobj **)prelocs;\n          if (puVar5 == (local_d0->\n                        super__Vector_base<long_long_unsigned_int,_std::allocator<long_long_unsigned_int>_>\n                        )._M_impl._M_end_of_storage) {\n            *(Icf **)((int)ppGVar27 + -8) = local_b0;\n            *(pointer *)((int)ppGVar27 + -0xc) = puVar5;\n            *(Offset_info **)((int)ppGVar27 + -0x10) = local_d0;\n            *(undefined4 *)((int)ppGVar27 + -0x14) = 0xd2bbd;\n            std::vector<long_long_unsigned_int,_std::allocator<long_long_unsigned_int>_>::\n            _M_realloc_insert<long_long_unsigned_int_const&>\n                      (*(vector<long_long_unsigned_int,_std::allocator<long_long_unsigned_int>_> **)\n                        ((int)ppGVar27 + -0x10),(iterator)*(ulonglong **)((int)ppGVar27 + -0xc),\n                       *(ulonglong **)((int)ppGVar27 + -8));\n          }\n          else {\n            *(Relobj **)puVar5 = *(Relobj **)prelocs;\n            *(undefined4 *)((int)puVar5 + 4) = 0;\n            (local_d0->\n            super__Vector_base<long_long_unsigned_int,_std::allocator<long_long_unsigned_int>_>).\n            _M_impl._M_finish = puVar5 + 1;\n          }\n          dst_id.first = (Relobj *)0x0;\n          *(Section_id **)((int)ppGVar27 + -0xc) = &dst_id;\n          *(Reloc_addend_size_info **)((int)ppGVar27 + -0x10) = local_ec;\n          *(undefined4 *)((int)ppGVar27 + -0x14) = 0xd2753;\n          std::vector<unsigned_int,_std::allocator<unsigned_int>_>::emplace_back<unsigned_int>\n                    (*(vector<unsigned_int,_std::allocator<unsigned_int>_> **)\n                      ((int)ppGVar27 + -0x10),*(uint **)((int)ppGVar27 + -0xc));\n        }\n        puVar26 = ppGVar27;\n        if (bVar23 != 0) goto LAB_000d275e;\n      }\nLAB_000d2489:\n      local_e4 = local_e4 + 1;\n      prelocs = prelocs + 0xc;\n    } while (reloc_count != local_e4);\n  }" { (expression_statement "local_b4 = (Relobj *)&local_2c;" (assignment_expression "local_b4 = (Relobj *)&local_2c" identifier = (cast_expression "(Relobj *)&local_2c" ( (type_descriptor "Relobj *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&local_2c" & identifier))) ;) (expression_statement "pGVar10 = symtab->gc_;" (assignment_expression "pGVar10 = symtab->gc_" identifier = (field_expression "symtab->gc_" identifier -> field_identifier)) ;) (expression_statement "puVar26[-5] = local_d8;" (assignment_expression "puVar26[-5] = local_d8" (subscript_expression "puVar26[-5]" identifier [ number_literal ]) = identifier) ;) (expression_statement "local_b0 = (Icf *)&src_id;" (assignment_expression "local_b0 = (Icf *)&src_id" identifier = (cast_expression "(Icf *)&src_id" ( (type_descriptor "Icf *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&src_id" & identifier))) ;) (expression_statement "src_id.first = (Relobj *)&local_2c;" (assignment_expression "src_id.first = (Relobj *)&local_2c" (field_expression "src_id.first" identifier . field_identifier) = (cast_expression "(Relobj *)&local_2c" ( (type_descriptor "Relobj *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&local_2c" & identifier))) ;) (expression_statement "puVar26[-6] = 0xd28bd;" (assignment_expression "puVar26[-6] = 0xd28bd" (subscript_expression "puVar26[-6]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "sVar15 = strlen((char *)puVar26[-5]);" (assignment_expression "sVar15 = strlen((char *)puVar26[-5])" identifier = (call_expression "strlen((char *)puVar26[-5])" identifier (argument_list "((char *)puVar26[-5])" ( (cast_expression "(char *)puVar26[-5]" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar26[-5]" identifier [ number_literal ])) )))) ;) (expression_statement "pIVar12 = local_b0;" (assignment_expression "pIVar12 = local_b0" identifier = identifier) ;) (expression_statement "puVar26[-2] = 0;" (assignment_expression "puVar26[-2] = 0" (subscript_expression "puVar26[-2]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar26[-3] = (byte *)((int)pp_Var17 + sVar15);" (assignment_expression "puVar26[-3] = (byte *)((int)pp_Var17 + sVar15)" (subscript_expression "puVar26[-3]" identifier [ number_literal ]) = (cast_expression "(byte *)((int)pp_Var17 + sVar15)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pp_Var17 + sVar15)" ( (binary_expression "(int)pp_Var17 + sVar15" (cast_expression "(int)pp_Var17" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) )))) ;) (expression_statement "puVar26[-4] = pp_Var17;" (assignment_expression "puVar26[-4] = pp_Var17" (subscript_expression "puVar26[-4]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar26[-5] = local_b0;" (assignment_expression "puVar26[-5] = local_b0" (subscript_expression "puVar26[-5]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar26[-6] = 0xd28d2;" (assignment_expression "puVar26[-6] = 0xd28d2" (subscript_expression "puVar26[-6]" identifier [ number_literal ]) = number_literal) ;) (labeled_statement "std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n              _M_construct<char_const*>();" statement_identifier (ERROR "::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>:" : : (comma_expression "__cxx11::basic_string<char,_std::char_traits<char>,_std" identifier (ERROR "::basic_string<char,_std::char_traits<char>" : : (comma_expression "basic_string<char,_std" (binary_expression "basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char" identifier < identifier) >) , identifier) : : (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > :) : (expression_statement "_M_construct<char_const*>();" (binary_expression "_M_construct<char_const" identifier < identifier) (ERROR "*>()" * > ( )) ;)) (expression_statement "puVar26[-3] = pIVar12;" (assignment_expression "puVar26[-3] = pIVar12" (subscript_expression "puVar26[-3]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar26[-4] = &pGVar10->cident_sections_;" (assignment_expression "puVar26[-4] = &pGVar10->cident_sections_" (subscript_expression "puVar26[-4]" identifier [ number_literal ]) = (pointer_expression "&pGVar10->cident_sections_" & (field_expression "pGVar10->cident_sections_" identifier -> field_identifier))) ;) (expression_statement "puVar26[-5] = &local_ac;" (assignment_expression "puVar26[-5] = &local_ac" (subscript_expression "puVar26[-5]" identifier [ number_literal ]) = (pointer_expression "&local_ac" & identifier)) ;) (expression_statement "puVar26[-6] = 0xd28e6;" (assignment_expression "puVar26[-6] = 0xd28e6" (subscript_expression "puVar26[-6]" identifier [ number_literal ]) = number_literal) ;) (ERROR "std::\n              _Rb_tree<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>,_std::_Select1st<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>_>,_std::less<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::allocator<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::" (comma_expression "std::\n              _Rb_tree<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std" identifier (ERROR "::\n              _Rb_tree<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>" : : (binary_expression "_Rb_tree<std" identifier < identifier) : : (comma_expression "__cxx11::basic_string<char,_std::char_traits<char>,_std" identifier (ERROR "::basic_string<char,_std::char_traits<char>" : : (comma_expression "basic_string<char,_std" (binary_expression "basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char" identifier < identifier) >) , identifier) : : (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) >) , identifier) : : (binary_expression "pair<const_std" identifier < identifier) : : (comma_expression "__cxx11::basic_string<char,_std::char_traits<char>,_std" identifier (ERROR "::basic_string<char,_std::char_traits<char>" : : (comma_expression "basic_string<char,_std" (binary_expression "basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char" identifier < identifier) >) , identifier) : : (binary_expression "allocator<char>_>,_std" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > (ERROR "," ,) identifier) : : (binary_expression "unordered_set<std" identifier < identifier) : : (binary_expression "pair<gold" identifier < identifier) : : (binary_expression "Relobj*,_unsigned_int>,_gold" (binary_expression "Relobj*,_unsigned_int" identifier * (ERROR "," ,) identifier) > (ERROR "," ,) identifier) : : (comma_expression "Section_id_hash,_std" identifier , identifier) : : (binary_expression "equal_to<std" identifier < identifier) : : (binary_expression "pair<gold" identifier < identifier) : : (binary_expression "Relobj*,_unsigned_int>_>,_std" (binary_expression "Relobj*,_unsigned_int>_" (binary_expression "Relobj*,_unsigned_int" identifier * (ERROR "," ,) identifier) > identifier) > (ERROR "," ,) identifier) : : (binary_expression "allocator<std" identifier < identifier) : : (binary_expression "pair<gold" identifier < identifier) : : (binary_expression "Relobj*,_unsigned_int>_>_>_>,_std" (binary_expression "Relobj*,_unsigned_int>_>_>_" (binary_expression "Relobj*,_unsigned_int>_>_" (binary_expression "Relobj*,_unsigned_int>_" (binary_expression "Relobj*,_unsigned_int" identifier * (ERROR "," ,) identifier) > identifier) > identifier) > identifier) > (ERROR "," ,) identifier) : : (binary_expression "_Select1st<std" identifier < identifier) : : (binary_expression "pair<const_std" identifier < identifier) : : (comma_expression "__cxx11::basic_string<char,_std::char_traits<char>,_std" identifier (ERROR "::basic_string<char,_std::char_traits<char>" : : (comma_expression "basic_string<char,_std" (binary_expression "basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char" identifier < identifier) >) , identifier) : : (binary_expression "allocator<char>_>,_std" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > (ERROR "," ,) identifier) : : (binary_expression "unordered_set<std" identifier < identifier) : : (binary_expression "pair<gold" identifier < identifier) : : (binary_expression "Relobj*,_unsigned_int>,_gold" (binary_expression "Relobj*,_unsigned_int" identifier * (ERROR "," ,) identifier) > (ERROR "," ,) identifier) : : (comma_expression "Section_id_hash,_std" identifier , identifier) : : (binary_expression "equal_to<std" identifier < identifier) : : (binary_expression "pair<gold" identifier < identifier) : : (binary_expression "Relobj*,_unsigned_int>_>,_std" (binary_expression "Relobj*,_unsigned_int>_" (binary_expression "Relobj*,_unsigned_int" identifier * (ERROR "," ,) identifier) > identifier) > (ERROR "," ,) identifier) : : (binary_expression "allocator<std" identifier < identifier) : : (binary_expression "pair<gold" identifier < identifier) : : (binary_expression "Relobj*,_unsigned_int>_>_>_>_>,_std" (binary_expression "Relobj*,_unsigned_int>_>_>_>_" (binary_expression "Relobj*,_unsigned_int>_>_>_" (binary_expression "Relobj*,_unsigned_int>_>_" (binary_expression "Relobj*,_unsigned_int>_" (binary_expression "Relobj*,_unsigned_int" identifier * (ERROR "," ,) identifier) > identifier) > identifier) > identifier) > identifier) > (ERROR "," ,) identifier) : : (binary_expression "less<std" identifier < identifier) : : (comma_expression "__cxx11::basic_string<char,_std::char_traits<char>,_std" identifier (ERROR "::basic_string<char,_std::char_traits<char>" : : (comma_expression "basic_string<char,_std" (binary_expression "basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char" identifier < identifier) >) , identifier) : : (binary_expression "allocator<char>_>_>,_std" (binary_expression "allocator<char>_>_" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > identifier) > (ERROR "," ,) identifier) : : (binary_expression "allocator<std" identifier < identifier) : : (binary_expression "pair<const_std" identifier < identifier) : : (comma_expression "__cxx11::basic_string<char,_std::char_traits<char>,_std" identifier (ERROR "::basic_string<char,_std::char_traits<char>" : : (comma_expression "basic_string<char,_std" (binary_expression "basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char" identifier < identifier) >) , identifier) : : (binary_expression "allocator<char>_>,_std" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > (ERROR "," ,) identifier) : : (binary_expression "unordered_set<std" identifier < identifier) : : (binary_expression "pair<gold" identifier < identifier) : : (binary_expression "Relobj*,_unsigned_int>,_gold" (binary_expression "Relobj*,_unsigned_int" identifier * (ERROR "," ,) identifier) > (ERROR "," ,) identifier) : : (comma_expression "Section_id_hash,_std" identifier , identifier) : : (binary_expression "equal_to<std" identifier < identifier) : : (binary_expression "pair<gold" identifier < identifier) : : (binary_expression "Relobj*,_unsigned_int>_>,_std" (binary_expression "Relobj*,_unsigned_int>_" (binary_expression "Relobj*,_unsigned_int" identifier * (ERROR "," ,) identifier) > identifier) > (ERROR "," ,) identifier) : : (binary_expression "allocator<std" identifier < identifier) : : (binary_expression "pair<gold" identifier < identifier) : :) (expression_statement "Relobj*,_unsigned_int>_>_>_>_>_>\n              ::find((_Rb_tree<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>,_std::_Select1st<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>_>,_std::less<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::allocator<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>_>_>\n                      *)puVar26[-5],\n                     (basic_string<char,_std::char_traits<char>,_std::allocator<char>_> *)\n                     puVar26[-4]);\n              puVar13 = local_ac;\n              if (src_id.first != local_b4) {\n                puVar26[-6] = src_id.first;\n                puVar26[-7] = 0xd2909;\n                operator_delete((void *)puVar26[-6]);\n              }\n              ppGVar27 = (General_options **)(puVar26 + -2);\n              pGVar10 = symtab->gc_;\n              if ((_Rb_tree_header *)puVar13 !=\n                  &(pGVar10->cident_sections_)._M_t._M_impl.super__Rb_tree_header) {\n                p_Var1 = &(pGVar10->section_reloc_map_)._M_t._M_impl.super__Rb_tree_header;\n                src_id.first = (Relobj *)object;\n                src_id.second = data_shndx;\n                p_Var8 = (pGVar10->section_reloc_map_)._M_t._M_impl.super__Rb_tree_header._M_header.\n                         _M_parent;\n                p_Var20 = &p_Var1->_M_header;\n                if (p_Var8 == (_Base_ptr)0x0) {\nLAB_000d2bd8:\n                  puVar26[-6] = &local_84;\n                  local_84 = local_b0;\n                  puVar26[-7] = 0xd2bf6;\n                  std::\n                  _Rb_tree<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>,_std::_Select1st<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>_>,_std::less<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>_>_>\n                  ::\n                  _M_emplace_hint_unique<const_std::piecewise_construct_t&,_std::tuple<const_std::pair<gold::Relobj*,_unsigned_int>&>,_std::tuple<>_>\n                            ((_Rb_tree<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>,_std::_Select1st<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>_>,_std::less<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>_>_>\n                              *)puVar26[-6],(_Base_ptr)puVar26[-5],\n                             (tuple<const_std::pair<gold::Relobj*,_unsigned_int>&> *)puVar26[-4],\n                             (tuple<> *)puVar26[-3],(piecewise_construct_t *)puVar26[-2]);\n                  p_Var21 = local_a8;\n                }\n                else {\n                  do {\n                    while ((p_Var21 = (_Rb_tree_header *)p_Var8,\n                           object <= (Sized_relobj_file<32,_false> *)\n                                     ((_Base_ptr)((int)p_Var21 + 0x10))->_M_color &&\n                           ((object != (Sized_relobj_file<32,_false> *)\n                                       ((_Base_ptr)((int)p_Var21 + 0x10))->_M_color ||\n                            (data_shndx <= ((size_t *)((int)p_Var21 + 0x10))[1]))))) {\n                      p_Var8 = (p_Var21->_M_header)._M_left;\n                      p_Var20 = &p_Var21->_M_header;\n                      if ((p_Var21->_M_header)._M_left == (_Base_ptr)0x0) goto LAB_000d2962;\n                    }\n                    pp_Var2 = &(p_Var21->_M_header)._M_right;\n                    p_Var8 = *pp_Var2;\n                    p_Var21 = (_Rb_tree_header *)p_Var20;\n                  } while (*pp_Var2 != (_Base_ptr)0x0);\nLAB_000d2962:\n                  if (((p_Var21 == p_Var1) ||\n                      (object < (Sized_relobj_file<32,_false> *)p_Var21->_M_node_count)) ||\n                     ((object == (Sized_relobj_file<32,_false> *)p_Var21->_M_node_count &&\n                      (data_shndx < *(uint *)(p_Var21 + 1))))) goto LAB_000d2bd8;\n                }\n                ppGVar27 = (General_options **)(puVar26 + -2);\n                puVar26 = puVar26 + -2;\n                for (puVar11 = *(undefined4 **)(puVar13 + 0x30); puVar11 != (undefined4 *)0x0;\n                    puVar11 = (undefined4 *)*puVar11) {\n                  *(undefined4 *)((int)puVar26 + -0xc) = 1;\n                  *(undefined4 *)((int)puVar26 + -0x10) = 0;\n                  *(__node_gen_type **)((int)puVar26 + -0x14) = &__node_gen_1;\n                  *(undefined4 **)((int)puVar26 + -0x18) = puVar11 + 1;\n                  *(int *)((int)puVar26 + -0x1c) = (int)(p_Var21 + 1) + 4;\n                  *(undefined1 **)((int)puVar26 + -0x20) = local_e0;\n                  *(undefined4 *)((int)puVar26 + -0x24) = 0xd29ae;\n                  __node_gen_1._M_h = (__hashtable_alloc *)((int)(p_Var21 + 1) + 4);\n                  std::\n                  _Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>,_std::__detail::_Identity,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                  ::\n                  _M_insert<const_std::pair<gold::Relobj*,_unsigned_int>&,_std::__detail::_AllocNode<std::allocator<std::__detail::_Hash_node<std::pair<gold::Relobj*,_unsigned_int>,_true>_>_>_>\n                            ();\n                  ppGVar27 = (General_options **)((int)puVar26 + -4);\n                  puVar26 = (undefined4 *)((int)puVar26 + -4);\n                }\n              }\n            }\n          }\n        }\n      }\n      else {\n        if (uVar25 < object->local_symbol_count_) {\n          src_id_1.first = (Relobj *)0x0;\nLAB_000d2a1f:\n          *(undefined ***)((int)ppGVar27 + -8) = local_b8 + -0x615ed;\n          *(undefined4 *)((int)ppGVar27 + -0xc) = 0x11c;\n          *(int *)((int)ppGVar27 + -0x10) = (int)local_b8 + -0x19ca36;\n                    /* WARNING: Subroutine does not return */\n          *(undefined4 *)((int)ppGVar27 + -0x14) = 0xd2a40;\n          gold::do_gold_unreachable\n                    (*(char **)((int)ppGVar27 + -0x10),*(int *)((int)ppGVar27 + -0xc),\n                     *(char **)((int)ppGVar27 + -8));\n        }\n        uVar25 = uVar25 - object->local_symbol_count_;\n        ppSVar7 = (object->symbols_).\n                  super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl._M_start\n        ;\n        local_b0 = (Icf *)(object->symbols_).\n                          super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                          _M_finish;\n        if ((uint)((int)local_b0 - (int)ppSVar7 >> 2) <= uVar25) {\n          *(undefined ***)((int)ppGVar27 + -8) = local_b8 + -0x6156c;\n          *(undefined4 *)((int)ppGVar27 + -0xc) = 0x8ad;\n          *(int *)((int)ppGVar27 + -0x10) = (int)local_b8 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n          *(undefined4 *)((int)ppGVar27 + -0x14) = 0xd2f8f;\n          gold::do_gold_unreachable\n                    (*(char **)((int)ppGVar27 + -0x10),*(int *)((int)ppGVar27 + -0xc),\n                     *(char **)((int)ppGVar27 + -8));\n        }\n        src_id_1.first = (Relobj *)ppSVar7[uVar25];\n        if (src_id_1.first == (Relobj *)0x0) goto LAB_000d2a1f;\n        if ((((src_id_1.first)->super_Object).shnum_ & 0x100000) == 0) {\n          if ((((src_id_1.first)->super_Object).shnum_ & 0x70000) != 0) goto LAB_000d29e2;\nLAB_000d25f7:\n          local_f0 = (Relobj *)((src_id_1.first)->super_Object).xindex_;\n          local_c0 = ((anon_union_4_3_b0f6f408_for_u1_ *)\n                     &((src_id_1.first)->super_Object).name_._M_string_length)->output_segment;\n          local_c4 = (int)&local_bc->first + (int)local_f0;\n          if (((uint)local_c0->output_lists_[3].\n                     super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>.\n                     _M_impl._M_end_of_storage & 1) == 0) {\n            local_b4 = (Relobj *)\n                       ((src_id_1.first)->super_Object).name_.field_2._M_allocated_capacity;\n            bVar22 = (byte)((src_id_1.first)->super_Object).shnum_ & 0xf;\n            bVar23 = *(byte *)((int)&((src_id_1.first)->super_Object).shnum_ + 3) >> 5 & 1;\n            bVar34 = bVar22 < 2;\n            bVar36 = bVar22 == 2;\n            if (bVar36) {\n              bVar34 = false;\n              bVar36 = local_d2 == false;\n              if ((!bVar36) &&\n                 (((bVar23 == 0 || (bVar36 = uVar31 == 0x17, 0x17 < uVar31)) ||\n                  (bVar34 = (0x843f84U >> (uVar6 & 0x1f) & 1) != 0, !bVar34)))) {\n                local_b0 = symtab->icf_;\n                *(undefined4 *)((int)ppGVar27 + -0xc) = 1;\n                *(undefined4 *)((int)ppGVar27 + -0x10) = 0;\n                *(__node_gen_type **)((int)ppGVar27 + -0x14) = &__node_gen_3;\n                *(Output_segment ***)((int)ppGVar27 + -0x18) = &local_78;\n                __node_gen_3._M_h = (__hashtable_alloc *)&local_b0->fptr_section_id_;\n                *(__hashtable_alloc **)((int)ppGVar27 + -0x1c) = __node_gen_3._M_h;\n                *(undefined1 **)((int)ppGVar27 + -0x20) = local_e0;\n                    /* try { // try from 000d2cc6 to 000d2cca has its CatchHandler @ 000d302c */\n                *(undefined4 *)((int)ppGVar27 + -0x24) = 0xd2ccb;\n                local_78 = local_c0;\n                local_74 = local_b4;\n                std::\n                _Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>,_std::__detail::_Identity,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                ::\n                _M_insert<std::pair<gold::Relobj*,_unsigned_int>,_std::__detail::_AllocNode<std::allocator<std::__detail::_Hash_node<std::pair<gold::Relobj*,_unsigned_int>,_true>_>_>_>\n                          ();\n                bVar34 = (undefined1 *)0xffffffe3 < (undefined1 *)((int)ppGVar27 + -0x20);\n                bVar36 = ppGVar27 == (General_options **)0x4;\n                ppGVar27 = (General_options **)((int)ppGVar27 + -4);\n              }\n            }\n          }\n          else {\n            local_b4 = (Relobj *)0x0;\n            bVar34 = false;\n            bVar23 = 0;\n            bVar36 = true;\n            local_c0 = (Output_segment *)0x0;\n          }\n        }\n        else {\n          *(Relobj **)((int)ppGVar27 + -0xc) = src_id_1.first;\n          *(Symbol_table **)((int)ppGVar27 + -0x10) = symtab;\n          *(undefined4 *)((int)ppGVar27 + -0x14) = 0xd29d2;\n          src_id_1.first =\n               (Relobj *)\n               gold::Symbol_table::resolve_forwards\n                         (*(Symbol_table **)((int)ppGVar27 + -0x10),\n                          *(Symbol **)((int)ppGVar27 + -0xc));\n          if ((((src_id_1.first)->super_Object).shnum_ & 0x70000) == 0) goto LAB_000d25f7;\nLAB_000d29e2:\n          local_f0 = (Relobj *)((src_id_1.first)->super_Object).xindex_;\n          bVar23 = 0;\n          local_b4 = (Relobj *)0x0;\n          local_c0 = (Output_segment *)0x0;\n          bVar34 = CARRY4((uint)local_bc,(uint)local_f0);\n          local_c4 = (int)&local_bc->first + (int)local_f0;\n          bVar36 = local_c4 == 0;\n        }\n        pp_Var17 = ((src_id_1.first)->super_Object)._vptr_Object;\n        iVar19 = 8;\n        pbVar29 = (byte *)((int)local_b8 + -0x19ca26);\n        pp_Var32 = pp_Var17;\n        do {\n          if (iVar19 == 0) break;\n          iVar19 = iVar19 + -1;\n          bVar34 = *pbVar29 < *(byte *)pp_Var32;\n          bVar36 = *pbVar29 == *(byte *)pp_Var32;\n          pbVar29 = pbVar29 + (uint)bVar37 * -2 + 1;\n          pp_Var32 = (_func_int_varargs **)((int)pp_Var32 + (uint)bVar37 * -2 + 1);\n        } while (bVar36);\n        bVar35 = false;\n        bVar34 = (!bVar34 && !bVar36) == bVar34;\n        if (bVar34) {\n          local_d8 = pp_Var17 + 2;\n        }\n        else {\n          iVar19 = 7;\n          pbVar29 = (byte *)((int)local_b8 + -0x19ca1d);\n          pp_Var32 = pp_Var17;\n          do {\n            if (iVar19 == 0) break;\n            iVar19 = iVar19 + -1;\n            bVar35 = *pbVar29 < *(byte *)pp_Var32;\n            bVar34 = *pbVar29 == *(byte *)pp_Var32;\n            pbVar29 = pbVar29 + (uint)bVar37 * -2 + 1;\n            pp_Var32 = (_func_int_varargs **)((int)pp_Var32 + (uint)bVar37 * -2 + 1);\n          } while (bVar34);\n          pp_Var17 = (_func_int_varargs **)((int)pp_Var17 + 7);\n          if ((!bVar35 && !bVar34) != bVar35) {\n            pp_Var17 = local_d8;\n          }\n          local_d8 = pp_Var17;\n        }\n        if (local_d1 != '\0') {\n          if (bVar23 == 0) {\n            src_id.first = (Relobj *)0x0;\n            src_id.second = 0;\n          }\n          else {\n            src_id.first = (Relobj *)local_c0;\n            src_id.second = (uint)local_b4;\n          }\n          *(Icf **)((int)ppGVar27 + -0xc) = (Icf *)&src_id;\n          *(mapped_type **)((int)ppGVar27 + -0x10) = local_c8;\n          local_b0 = (Icf *)&src_id;\n          *(undefined4 *)((int)ppGVar27 + -0x14) = 0xd26b9;\n          std::\n          vector<std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>\n          ::emplace_back<std::pair<gold::Relobj*,_unsigned_int>_>\n                    (*(vector<std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>\n                       **)((int)ppGVar27 + -0x10),\n                     *(pair<gold::Relobj*,_unsigned_int> **)((int)ppGVar27 + -0xc));\n          ppSVar7 = (local_cc->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>).\n                    _M_impl._M_finish;\n          if (ppSVar7 ==\n              (local_cc->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>)._M_impl.\n              _M_end_of_storage) {\n            *(Section_id **)((int)ppGVar27 + -8) = &src_id_1;\n            *(pointer *)((int)ppGVar27 + -0xc) = ppSVar7;\n            *(Symbol_info **)((int)ppGVar27 + -0x10) = local_cc;\n            *(undefined4 *)((int)ppGVar27 + -0x14) = 0xd2b4b;\n            std::vector<gold::Symbol*,_std::allocator<gold::Symbol*>_>::\n            _M_realloc_insert<gold::Symbol*_const&>\n                      (*(vector<gold::Symbol*,_std::allocator<gold::Symbol*>_> **)\n                        ((int)ppGVar27 + -0x10),(iterator)*(Symbol ***)((int)ppGVar27 + -0xc),\n                       *(Symbol ***)((int)ppGVar27 + -8));\n          }\n          else {\n            *ppSVar7 = (Symbol *)src_id_1.first;\n            (local_cc->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>)._M_impl.\n            _M_finish = ppSVar7 + 1;\n          }\n          *(Icf **)((int)ppGVar27 + -0xc) = local_b0;\n          *(Addend_info **)((int)ppGVar27 + -0x10) = local_e8;\n          src_id.first = local_f0;\n          src_id.second = 0;\n          local_2c = local_bc;\n          local_28._M_p = (pointer)((int)local_bc >> 0x1f);\n          *(undefined4 *)((int)ppGVar27 + -0x14) = 0xd270d;\n          std::\n          vector<std::pair<long_long_int,_long_long_int>,_std::allocator<std::pair<long_long_int,_long_long_int>_>_>\n          ::emplace_back<std::pair<long_long_int,_long_long_int>_>\n                    (*(vector<std::pair<long_long_int,_long_long_int>,_std::allocator<std::pair<long_long_int,_long_long_int>_>_>\n                       **)((int)ppGVar27 + -0x10),\n                     *(pair<long_long_int,_long_long_int> **)((int)ppGVar27 + -0xc));\n          src_id.second = 0;\n          puVar5 = (local_d0->\n                   super__Vector_base<long_long_unsigned_int,_std::allocator<long_long_unsigned_int>_>\n                   )._M_impl._M_finish;\n          src_id.first = *(Relobj **)prelocs;\n          if (puVar5 == (local_d0->\n                        super__Vector_base<long_long_unsigned_int,_std::allocator<long_long_unsigned_int>_>\n                        )._M_impl._M_end_of_storage) {\n            *(Icf **)((int)ppGVar27 + -8) = local_b0;\n            *(pointer *)((int)ppGVar27 + -0xc) = puVar5;\n            *(Offset_info **)((int)ppGVar27 + -0x10) = local_d0;\n            *(undefined4 *)((int)ppGVar27 + -0x14) = 0xd2bbd;\n            std::vector<long_long_unsigned_int,_std::allocator<long_long_unsigned_int>_>::\n            _M_realloc_insert<long_long_unsigned_int_const&>\n                      (*(vector<long_long_unsigned_int,_std::allocator<long_long_unsigned_int>_> **)\n                        ((int)ppGVar27 + -0x10),(iterator)*(ulonglong **)((int)ppGVar27 + -0xc),\n                       *(ulonglong **)((int)ppGVar27 + -8));\n          }\n          else {\n            *(Relobj **)puVar5 = *(Relobj **)prelocs;\n            *(undefined4 *)((int)puVar5 + 4) = 0;\n            (local_d0->\n            super__Vector_base<long_long_unsigned_int,_std::allocator<long_long_unsigned_int>_>).\n            _M_impl._M_finish = puVar5 + 1;\n          }\n          dst_id.first = (Relobj *)0x0;\n          *(Section_id **)((int)ppGVar27 + -0xc) = &dst_id;\n          *(Reloc_addend_size_info **)((int)ppGVar27 + -0x10) = local_ec;\n          *(undefined4 *)((int)ppGVar27 + -0x14) = 0xd2753;\n          std::vector<unsigned_int,_std::allocator<unsigned_int>_>::emplace_back<unsigned_int>\n                    (*(vector<unsigned_int,_std::allocator<unsigned_int>_> **)\n                      ((int)ppGVar27 + -0x10),*(uint **)((int)ppGVar27 + -0xc));\n        }\n        puVar26 = ppGVar27;\n        if (bVar23 != 0) goto LAB_000d275e;\n      }\nLAB_000d2489:\n      local_e4 = local_e4 + 1;\n      prelocs = prelocs + 0xc;\n    } while (reloc_count != local_e4);" (binary_expression "Relobj*,_unsigned_int>_>_>_>_>_>\n              ::find((_Rb_tree<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>,_std::_Select1st<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>_>,_std::less<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::allocator<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>_>_>\n                      *)puVar26[-5],\n                     (basic_string<char,_std::char_traits<char>,_std::allocator<char>_> *)\n                     puVar26[-4]);\n              puVar13 = local_ac;\n              if (src_id.first != local_b4) {\n                puVar26[-6] = src_id.first;\n                puVar26[-7] = 0xd2909;\n                operator_delete((void *)puVar26[-6]);\n              }\n              ppGVar27 = (General_options **)(puVar26 + -2);\n              pGVar10 = symtab->gc_;\n              if ((_Rb_tree_header *)puVar13 !=\n                  &(pGVar10->cident_sections_)._M_t._M_impl.super__Rb_tree_header) {\n                p_Var1 = &(pGVar10->section_reloc_map_)._M_t._M_impl.super__Rb_tree_header;\n                src_id.first = (Relobj *)object;\n                src_id.second = data_shndx;\n                p_Var8 = (pGVar10->section_reloc_map_)._M_t._M_impl.super__Rb_tree_header._M_header.\n                         _M_parent;\n                p_Var20 = &p_Var1->_M_header;\n                if (p_Var8 == (_Base_ptr)0x0) {\nLAB_000d2bd8:\n                  puVar26[-6] = &local_84;\n                  local_84 = local_b0;\n                  puVar26[-7] = 0xd2bf6;\n                  std::\n                  _Rb_tree<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>,_std::_Select1st<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>_>,_std::less<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>_>_>\n                  ::\n                  _M_emplace_hint_unique<const_std::piecewise_construct_t&,_std::tuple<const_std::pair<gold::Relobj*,_unsigned_int>&>,_std::tuple<>_>\n                            ((_Rb_tree<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>,_std::_Select1st<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>_>,_std::less<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>_>_>\n                              *)puVar26[-6],(_Base_ptr)puVar26[-5],\n                             (tuple<const_std::pair<gold::Relobj*,_unsigned_int>&> *)puVar26[-4],\n                             (tuple<> *)puVar26[-3],(piecewise_construct_t *)puVar26[-2]);\n                  p_Var21 = local_a8;\n                }\n                else {\n                  do {\n                    while ((p_Var21 = (_Rb_tree_header *)p_Var8,\n                           object <= (Sized_relobj_file<32,_false> *)\n                                     ((_Base_ptr)((int)p_Var21 + 0x10))->_M_color &&\n                           ((object != (Sized_relobj_file<32,_false> *)\n                                       ((_Base_ptr)((int)p_Var21 + 0x10))->_M_color ||\n                            (data_shndx <= ((size_t *)((int)p_Var21 + 0x10))[1]))))) {\n                      p_Var8 = (p_Var21->_M_header)._M_left;\n                      p_Var20 = &p_Var21->_M_header;\n                      if ((p_Var21->_M_header)._M_left == (_Base_ptr)0x0) goto LAB_000d2962;\n                    }\n                    pp_Var2 = &(p_Var21->_M_header)._M_right;\n                    p_Var8 = *pp_Var2;\n                    p_Var21 = (_Rb_tree_header *)p_Var20;\n                  } while (*pp_Var2 != (_Base_ptr)0x0);\nLAB_000d2962:\n                  if (((p_Var21 == p_Var1) ||\n                      (object < (Sized_relobj_file<32,_false> *)p_Var21->_M_node_count)) ||\n                     ((object == (Sized_relobj_file<32,_false> *)p_Var21->_M_node_count &&\n                      (data_shndx < *(uint *)(p_Var21 + 1))))) goto LAB_000d2bd8;\n                }\n                ppGVar27 = (General_options **)(puVar26 + -2);\n                puVar26 = puVar26 + -2;\n                for (puVar11 = *(undefined4 **)(puVar13 + 0x30); puVar11 != (undefined4 *)0x0;\n                    puVar11 = (undefined4 *)*puVar11) {\n                  *(undefined4 *)((int)puVar26 + -0xc) = 1;\n                  *(undefined4 *)((int)puVar26 + -0x10) = 0;\n                  *(__node_gen_type **)((int)puVar26 + -0x14) = &__node_gen_1;\n                  *(undefined4 **)((int)puVar26 + -0x18) = puVar11 + 1;\n                  *(int *)((int)puVar26 + -0x1c) = (int)(p_Var21 + 1) + 4;\n                  *(undefined1 **)((int)puVar26 + -0x20) = local_e0;\n                  *(undefined4 *)((int)puVar26 + -0x24) = 0xd29ae;\n                  __node_gen_1._M_h = (__hashtable_alloc *)((int)(p_Var21 + 1) + 4);\n                  std::\n                  _Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>,_std::__detail::_Identity,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                  ::\n                  _M_insert<const_std::pair<gold::Relobj*,_unsigned_int>&,_std::__detail::_AllocNode<std::allocator<std::__detail::_Hash_node<std::pair<gold::Relobj*,_unsigned_int>,_true>_>_>_>\n                            ();\n                  ppGVar27 = (General_options **)((int)puVar26 + -4);\n                  puVar26 = (undefined4 *)((int)puVar26 + -4);\n                }\n              }\n            }\n          }\n        }\n      }\n      else {\n        if (uVar25 < object->local_symbol_count_) {\n          src_id_1.first = (Relobj *)0x0;\nLAB_000d2a1f:\n          *(undefined ***)((int)ppGVar27 + -8) = local_b8 + -0x615ed;\n          *(undefined4 *)((int)ppGVar27 + -0xc) = 0x11c;\n          *(int *)((int)ppGVar27 + -0x10) = (int)local_b8 + -0x19ca36;\n                    /* WARNING: Subroutine does not return */\n          *(undefined4 *)((int)ppGVar27 + -0x14) = 0xd2a40;\n          gold::do_gold_unreachable\n                    (*(char **)((int)ppGVar27 + -0x10),*(int *)((int)ppGVar27 + -0xc),\n                     *(char **)((int)ppGVar27 + -8));\n        }\n        uVar25 = uVar25 - object->local_symbol_count_;\n        ppSVar7 = (object->symbols_).\n                  super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl._M_start\n        ;\n        local_b0 = (Icf *)(object->symbols_).\n                          super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                          _M_finish;\n        if ((uint)((int)local_b0 - (int)ppSVar7 >> 2) <= uVar25) {\n          *(undefined ***)((int)ppGVar27 + -8) = local_b8 + -0x6156c;\n          *(undefined4 *)((int)ppGVar27 + -0xc) = 0x8ad;\n          *(int *)((int)ppGVar27 + -0x10) = (int)local_b8 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n          *(undefined4 *)((int)ppGVar27 + -0x14) = 0xd2f8f;\n          gold::do_gold_unreachable\n                    (*(char **)((int)ppGVar27 + -0x10),*(int *)((int)ppGVar27 + -0xc),\n                     *(char **)((int)ppGVar27 + -8));\n        }\n        src_id_1.first = (Relobj *)ppSVar7[uVar25];\n        if (src_id_1.first == (Relobj *)0x0) goto LAB_000d2a1f;\n        if ((((src_id_1.first)->super_Object).shnum_ & 0x100000) == 0) {\n          if ((((src_id_1.first)->super_Object).shnum_ & 0x70000) != 0) goto LAB_000d29e2;\nLAB_000d25f7:\n          local_f0 = (Relobj *)((src_id_1.first)->super_Object).xindex_;\n          local_c0 = ((anon_union_4_3_b0f6f408_for_u1_ *)\n                     &((src_id_1.first)->super_Object).name_._M_string_length)->output_segment;\n          local_c4 = (int)&local_bc->first + (int)local_f0;\n          if (((uint)local_c0->output_lists_[3].\n                     super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>.\n                     _M_impl._M_end_of_storage & 1) == 0) {\n            local_b4 = (Relobj *)\n                       ((src_id_1.first)->super_Object).name_.field_2._M_allocated_capacity;\n            bVar22 = (byte)((src_id_1.first)->super_Object).shnum_ & 0xf;\n            bVar23 = *(byte *)((int)&((src_id_1.first)->super_Object).shnum_ + 3) >> 5 & 1;\n            bVar34 = bVar22 < 2;\n            bVar36 = bVar22 == 2;\n            if (bVar36) {\n              bVar34 = false;\n              bVar36 = local_d2 == false;\n              if ((!bVar36) &&\n                 (((bVar23 == 0 || (bVar36 = uVar31 == 0x17, 0x17 < uVar31)) ||\n                  (bVar34 = (0x843f84U >> (uVar6 & 0x1f) & 1) != 0, !bVar34)))) {\n                local_b0 = symtab->icf_;\n                *(undefined4 *)((int)ppGVar27 + -0xc) = 1;\n                *(undefined4 *)((int)ppGVar27 + -0x10) = 0;\n                *(__node_gen_type **)((int)ppGVar27 + -0x14) = &__node_gen_3;\n                *(Output_segment ***)((int)ppGVar27 + -0x18) = &local_78;\n                __node_gen_3._M_h = (__hashtable_alloc *)&local_b0->fptr_section_id_;\n                *(__hashtable_alloc **)((int)ppGVar27 + -0x1c) = __node_gen_3._M_h;\n                *(undefined1 **)((int)ppGVar27 + -0x20) = local_e0;\n                    /* try { // try from 000d2cc6 to 000d2cca has its CatchHandler @ 000d302c */\n                *(undefined4 *)((int)ppGVar27 + -0x24) = 0xd2ccb;\n                local_78 = local_c0;\n                local_74 = local_b4;\n                std::\n                _Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>,_std::__detail::_Identity,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                ::\n                _M_insert<std::pair<gold::Relobj*,_unsigned_int>,_std::__detail::_AllocNode<std::allocator<std::__detail::_Hash_node<std::pair<gold::Relobj*,_unsigned_int>,_true>_>_>_>\n                          ();\n                bVar34 = (undefined1 *)0xffffffe3 < (undefined1 *)((int)ppGVar27 + -0x20);\n                bVar36 = ppGVar27 == (General_options **)0x4;\n                ppGVar27 = (General_options **)((int)ppGVar27 + -4);\n              }\n            }\n          }\n          else {\n            local_b4 = (Relobj *)0x0;\n            bVar34 = false;\n            bVar23 = 0;\n            bVar36 = true;\n            local_c0 = (Output_segment *)0x0;\n          }\n        }\n        else {\n          *(Relobj **)((int)ppGVar27 + -0xc) = src_id_1.first;\n          *(Symbol_table **)((int)ppGVar27 + -0x10) = symtab;\n          *(undefined4 *)((int)ppGVar27 + -0x14) = 0xd29d2;\n          src_id_1.first =\n               (Relobj *)\n               gold::Symbol_table::resolve_forwards\n                         (*(Symbol_table **)((int)ppGVar27 + -0x10),\n                          *(Symbol **)((int)ppGVar27 + -0xc));\n          if ((((src_id_1.first)->super_Object).shnum_ & 0x70000) == 0) goto LAB_000d25f7;\nLAB_000d29e2:\n          local_f0 = (Relobj *)((src_id_1.first)->super_Object).xindex_;\n          bVar23 = 0;\n          local_b4 = (Relobj *)0x0;\n          local_c0 = (Output_segment *)0x0;\n          bVar34 = CARRY4((uint)local_bc,(uint)local_f0);\n          local_c4 = (int)&local_bc->first + (int)local_f0;\n          bVar36 = local_c4 == 0;\n        }\n        pp_Var17 = ((src_id_1.first)->super_Object)._vptr_Object;\n        iVar19 = 8;\n        pbVar29 = (byte *)((int)local_b8 + -0x19ca26);\n        pp_Var32 = pp_Var17;\n        do {\n          if (iVar19 == 0) break;\n          iVar19 = iVar19 + -1;\n          bVar34 = *pbVar29 < *(byte *)pp_Var32;\n          bVar36 = *pbVar29 == *(byte *)pp_Var32;\n          pbVar29 = pbVar29 + (uint)bVar37 * -2 + 1;\n          pp_Var32 = (_func_int_varargs **)((int)pp_Var32 + (uint)bVar37 * -2 + 1);\n        } while (bVar36);\n        bVar35 = false;\n        bVar34 = (!bVar34 && !bVar36) == bVar34;\n        if (bVar34) {\n          local_d8 = pp_Var17 + 2;\n        }\n        else {\n          iVar19 = 7;\n          pbVar29 = (byte *)((int)local_b8 + -0x19ca1d);\n          pp_Var32 = pp_Var17;\n          do {\n            if (iVar19 == 0) break;\n            iVar19 = iVar19 + -1;\n            bVar35 = *pbVar29 < *(byte *)pp_Var32;\n            bVar34 = *pbVar29 == *(byte *)pp_Var32;\n            pbVar29 = pbVar29 + (uint)bVar37 * -2 + 1;\n            pp_Var32 = (_func_int_varargs **)((int)pp_Var32 + (uint)bVar37 * -2 + 1);\n          } while (bVar34);\n          pp_Var17 = (_func_int_varargs **)((int)pp_Var17 + 7);\n          if ((!bVar35 && !bVar34) != bVar35) {\n            pp_Var17 = local_d8;\n          }\n          local_d8 = pp_Var17;\n        }\n        if (local_d1 != '\0') {\n          if (bVar23 == 0) {\n            src_id.first = (Relobj *)0x0;\n            src_id.second = 0;\n          }\n          else {\n            src_id.first = (Relobj *)local_c0;\n            src_id.second = (uint)local_b4;\n          }\n          *(Icf **)((int)ppGVar27 + -0xc) = (Icf *)&src_id;\n          *(mapped_type **)((int)ppGVar27 + -0x10) = local_c8;\n          local_b0 = (Icf *)&src_id;\n          *(undefined4 *)((int)ppGVar27 + -0x14) = 0xd26b9;\n          std::\n          vector<std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>\n          ::emplace_back<std::pair<gold::Relobj*,_unsigned_int>_>\n                    (*(vector<std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>\n                       **)((int)ppGVar27 + -0x10),\n                     *(pair<gold::Relobj*,_unsigned_int> **)((int)ppGVar27 + -0xc));\n          ppSVar7 = (local_cc->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>).\n                    _M_impl._M_finish;\n          if (ppSVar7 ==\n              (local_cc->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>)._M_impl.\n              _M_end_of_storage) {\n            *(Section_id **)((int)ppGVar27 + -8) = &src_id_1;\n            *(pointer *)((int)ppGVar27 + -0xc) = ppSVar7;\n            *(Symbol_info **)((int)ppGVar27 + -0x10) = local_cc;\n            *(undefined4 *)((int)ppGVar27 + -0x14) = 0xd2b4b;\n            std::vector<gold::Symbol*,_std::allocator<gold::Symbol*>_>::\n            _M_realloc_insert<gold::Symbol*_const&>\n                      (*(vector<gold::Symbol*,_std::allocator<gold::Symbol*>_> **)\n                        ((int)ppGVar27 + -0x10),(iterator)*(Symbol ***)((int)ppGVar27 + -0xc),\n                       *(Symbol ***)((int)ppGVar27 + -8));\n          }\n          else {\n            *ppSVar7 = (Symbol *)src_id_1.first;\n            (local_cc->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>)._M_impl.\n            _M_finish = ppSVar7 + 1;\n          }\n          *(Icf **)((int)ppGVar27 + -0xc) = local_b0;\n          *(Addend_info **)((int)ppGVar27 + -0x10) = local_e8;\n          src_id.first = local_f0;\n          src_id.second = 0;\n          local_2c = local_bc;\n          local_28._M_p = (pointer)((int)local_bc >> 0x1f);\n          *(undefined4 *)((int)ppGVar27 + -0x14) = 0xd270d;\n          std::\n          vector<std::pair<long_long_int,_long_long_int>,_std::allocator<std::pair<long_long_int,_long_long_int>_>_>\n          ::emplace_back<std::pair<long_long_int,_long_long_int>_>\n                    (*(vector<std::pair<long_long_int,_long_long_int>,_std::allocator<std::pair<long_long_int,_long_long_int>_>_>\n                       **)((int)ppGVar27 + -0x10),\n                     *(pair<long_long_int,_long_long_int> **)((int)ppGVar27 + -0xc));\n          src_id.second = 0;\n          puVar5 = (local_d0->\n                   super__Vector_base<long_long_unsigned_int,_std::allocator<long_long_unsigned_int>_>\n                   )._M_impl._M_finish;\n          src_id.first = *(Relobj **)prelocs;\n          if (puVar5 == (local_d0->\n                        super__Vector_base<long_long_unsigned_int,_std::allocator<long_long_unsigned_int>_>\n                        )._M_impl._M_end_of_storage) {\n            *(Icf **)((int)ppGVar27 + -8) = local_b0;\n            *(pointer *)((int)ppGVar27 + -0xc) = puVar5;\n            *(Offset_info **)((int)ppGVar27 + -0x10) = local_d0;\n            *(undefined4 *)((int)ppGVar27 + -0x14) = 0xd2bbd;\n            std::vector<long_long_unsigned_int,_std::allocator<long_long_unsigned_int>_>::\n            _M_realloc_insert<long_long_unsigned_int_const&>\n                      (*(vector<long_long_unsigned_int,_std::allocator<long_long_unsigned_int>_> **)\n                        ((int)ppGVar27 + -0x10),(iterator)*(ulonglong **)((int)ppGVar27 + -0xc),\n                       *(ulonglong **)((int)ppGVar27 + -8));\n          }\n          else {\n            *(Relobj **)puVar5 = *(Relobj **)prelocs;\n            *(undefined4 *)((int)puVar5 + 4) = 0;\n            (local_d0->\n            super__Vector_base<long_long_unsigned_int,_std::allocator<long_long_unsigned_int>_>).\n            _M_impl._M_finish = puVar5 + 1;\n          }\n          dst_id.first = (Relobj *)0x0;\n          *(Section_id **)((int)ppGVar27 + -0xc) = &dst_id;\n          *(Reloc_addend_size_info **)((int)ppGVar27 + -0x10) = local_ec;\n          *(undefined4 *)((int)ppGVar27 + -0x14) = 0xd2753;\n          std::vector<unsigned_int,_std::allocator<unsigned_int>_>::emplace_back<unsigned_int>\n                    (*(vector<unsigned_int,_std::allocator<unsigned_int>_> **)\n                      ((int)ppGVar27 + -0x10),*(uint **)((int)ppGVar27 + -0xc));\n        }\n        puVar26 = ppGVar27;\n        if (bVar23 != 0) goto LAB_000d275e;\n      }\nLAB_000d2489:\n      local_e4 = local_e4 + 1;\n      prelocs = prelocs + 0xc;\n    } while (reloc_count != local_e4)" (binary_expression "Relobj*,_unsigned_int>_>_>_>_>_" (binary_expression "Relobj*,_unsigned_int>_>_>_>_" (binary_expression "Relobj*,_unsigned_int>_>_>_" (binary_expression "Relobj*,_unsigned_int>_>_" (binary_expression "Relobj*,_unsigned_int>_" (binary_expression "Relobj*,_unsigned_int" identifier * (ERROR "," ,) identifier) > identifier) > identifier) > identifier) > identifier) > identifier) > (ERROR "::" : :) (call_expression "find((_Rb_tree<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>,_std::_Select1st<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>_>,_std::less<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::allocator<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>_>_>\n                      *)puVar26[-5],\n                     (basic_string<char,_std::char_traits<char>,_std::allocator<char>_> *)\n                     puVar26[-4]);\n              puVar13 = local_ac;\n              if (src_id.first != local_b4) {\n                puVar26[-6] = src_id.first;\n                puVar26[-7] = 0xd2909;\n                operator_delete((void *)puVar26[-6]);\n              }\n              ppGVar27 = (General_options **)(puVar26 + -2);\n              pGVar10 = symtab->gc_;\n              if ((_Rb_tree_header *)puVar13 !=\n                  &(pGVar10->cident_sections_)._M_t._M_impl.super__Rb_tree_header) {\n                p_Var1 = &(pGVar10->section_reloc_map_)._M_t._M_impl.super__Rb_tree_header;\n                src_id.first = (Relobj *)object;\n                src_id.second = data_shndx;\n                p_Var8 = (pGVar10->section_reloc_map_)._M_t._M_impl.super__Rb_tree_header._M_header.\n                         _M_parent;\n                p_Var20 = &p_Var1->_M_header;\n                if (p_Var8 == (_Base_ptr)0x0) {\nLAB_000d2bd8:\n                  puVar26[-6] = &local_84;\n                  local_84 = local_b0;\n                  puVar26[-7] = 0xd2bf6;\n                  std::\n                  _Rb_tree<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>,_std::_Select1st<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>_>,_std::less<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>_>_>\n                  ::\n                  _M_emplace_hint_unique<const_std::piecewise_construct_t&,_std::tuple<const_std::pair<gold::Relobj*,_unsigned_int>&>,_std::tuple<>_>\n                            ((_Rb_tree<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>,_std::_Select1st<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>_>,_std::less<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>_>_>\n                              *)puVar26[-6],(_Base_ptr)puVar26[-5],\n                             (tuple<const_std::pair<gold::Relobj*,_unsigned_int>&> *)puVar26[-4],\n                             (tuple<> *)puVar26[-3],(piecewise_construct_t *)puVar26[-2]);\n                  p_Var21 = local_a8;\n                }\n                else {\n                  do {\n                    while ((p_Var21 = (_Rb_tree_header *)p_Var8,\n                           object <= (Sized_relobj_file<32,_false> *)\n                                     ((_Base_ptr)((int)p_Var21 + 0x10))->_M_color &&\n                           ((object != (Sized_relobj_file<32,_false> *)\n                                       ((_Base_ptr)((int)p_Var21 + 0x10))->_M_color ||\n                            (data_shndx <= ((size_t *)((int)p_Var21 + 0x10))[1]))))) {\n                      p_Var8 = (p_Var21->_M_header)._M_left;\n                      p_Var20 = &p_Var21->_M_header;\n                      if ((p_Var21->_M_header)._M_left == (_Base_ptr)0x0) goto LAB_000d2962;\n                    }\n                    pp_Var2 = &(p_Var21->_M_header)._M_right;\n                    p_Var8 = *pp_Var2;\n                    p_Var21 = (_Rb_tree_header *)p_Var20;\n                  } while (*pp_Var2 != (_Base_ptr)0x0);\nLAB_000d2962:\n                  if (((p_Var21 == p_Var1) ||\n                      (object < (Sized_relobj_file<32,_false> *)p_Var21->_M_node_count)) ||\n                     ((object == (Sized_relobj_file<32,_false> *)p_Var21->_M_node_count &&\n                      (data_shndx < *(uint *)(p_Var21 + 1))))) goto LAB_000d2bd8;\n                }\n                ppGVar27 = (General_options **)(puVar26 + -2);\n                puVar26 = puVar26 + -2;\n                for (puVar11 = *(undefined4 **)(puVar13 + 0x30); puVar11 != (undefined4 *)0x0;\n                    puVar11 = (undefined4 *)*puVar11) {\n                  *(undefined4 *)((int)puVar26 + -0xc) = 1;\n                  *(undefined4 *)((int)puVar26 + -0x10) = 0;\n                  *(__node_gen_type **)((int)puVar26 + -0x14) = &__node_gen_1;\n                  *(undefined4 **)((int)puVar26 + -0x18) = puVar11 + 1;\n                  *(int *)((int)puVar26 + -0x1c) = (int)(p_Var21 + 1) + 4;\n                  *(undefined1 **)((int)puVar26 + -0x20) = local_e0;\n                  *(undefined4 *)((int)puVar26 + -0x24) = 0xd29ae;\n                  __node_gen_1._M_h = (__hashtable_alloc *)((int)(p_Var21 + 1) + 4);\n                  std::\n                  _Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>,_std::__detail::_Identity,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                  ::\n                  _M_insert<const_std::pair<gold::Relobj*,_unsigned_int>&,_std::__detail::_AllocNode<std::allocator<std::__detail::_Hash_node<std::pair<gold::Relobj*,_unsigned_int>,_true>_>_>_>\n                            ();\n                  ppGVar27 = (General_options **)((int)puVar26 + -4);\n                  puVar26 = (undefined4 *)((int)puVar26 + -4);\n                }\n              }\n            }\n          }\n        }\n      }\n      else {\n        if (uVar25 < object->local_symbol_count_) {\n          src_id_1.first = (Relobj *)0x0;\nLAB_000d2a1f:\n          *(undefined ***)((int)ppGVar27 + -8) = local_b8 + -0x615ed;\n          *(undefined4 *)((int)ppGVar27 + -0xc) = 0x11c;\n          *(int *)((int)ppGVar27 + -0x10) = (int)local_b8 + -0x19ca36;\n                    /* WARNING: Subroutine does not return */\n          *(undefined4 *)((int)ppGVar27 + -0x14) = 0xd2a40;\n          gold::do_gold_unreachable\n                    (*(char **)((int)ppGVar27 + -0x10),*(int *)((int)ppGVar27 + -0xc),\n                     *(char **)((int)ppGVar27 + -8));\n        }\n        uVar25 = uVar25 - object->local_symbol_count_;\n        ppSVar7 = (object->symbols_).\n                  super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl._M_start\n        ;\n        local_b0 = (Icf *)(object->symbols_).\n                          super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                          _M_finish;\n        if ((uint)((int)local_b0 - (int)ppSVar7 >> 2) <= uVar25) {\n          *(undefined ***)((int)ppGVar27 + -8) = local_b8 + -0x6156c;\n          *(undefined4 *)((int)ppGVar27 + -0xc) = 0x8ad;\n          *(int *)((int)ppGVar27 + -0x10) = (int)local_b8 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n          *(undefined4 *)((int)ppGVar27 + -0x14) = 0xd2f8f;\n          gold::do_gold_unreachable\n                    (*(char **)((int)ppGVar27 + -0x10),*(int *)((int)ppGVar27 + -0xc),\n                     *(char **)((int)ppGVar27 + -8));\n        }\n        src_id_1.first = (Relobj *)ppSVar7[uVar25];\n        if (src_id_1.first == (Relobj *)0x0) goto LAB_000d2a1f;\n        if ((((src_id_1.first)->super_Object).shnum_ & 0x100000) == 0) {\n          if ((((src_id_1.first)->super_Object).shnum_ & 0x70000) != 0) goto LAB_000d29e2;\nLAB_000d25f7:\n          local_f0 = (Relobj *)((src_id_1.first)->super_Object).xindex_;\n          local_c0 = ((anon_union_4_3_b0f6f408_for_u1_ *)\n                     &((src_id_1.first)->super_Object).name_._M_string_length)->output_segment;\n          local_c4 = (int)&local_bc->first + (int)local_f0;\n          if (((uint)local_c0->output_lists_[3].\n                     super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>.\n                     _M_impl._M_end_of_storage & 1) == 0) {\n            local_b4 = (Relobj *)\n                       ((src_id_1.first)->super_Object).name_.field_2._M_allocated_capacity;\n            bVar22 = (byte)((src_id_1.first)->super_Object).shnum_ & 0xf;\n            bVar23 = *(byte *)((int)&((src_id_1.first)->super_Object).shnum_ + 3) >> 5 & 1;\n            bVar34 = bVar22 < 2;\n            bVar36 = bVar22 == 2;\n            if (bVar36) {\n              bVar34 = false;\n              bVar36 = local_d2 == false;\n              if ((!bVar36) &&\n                 (((bVar23 == 0 || (bVar36 = uVar31 == 0x17, 0x17 < uVar31)) ||\n                  (bVar34 = (0x843f84U >> (uVar6 & 0x1f) & 1) != 0, !bVar34)))) {\n                local_b0 = symtab->icf_;\n                *(undefined4 *)((int)ppGVar27 + -0xc) = 1;\n                *(undefined4 *)((int)ppGVar27 + -0x10) = 0;\n                *(__node_gen_type **)((int)ppGVar27 + -0x14) = &__node_gen_3;\n                *(Output_segment ***)((int)ppGVar27 + -0x18) = &local_78;\n                __node_gen_3._M_h = (__hashtable_alloc *)&local_b0->fptr_section_id_;\n                *(__hashtable_alloc **)((int)ppGVar27 + -0x1c) = __node_gen_3._M_h;\n                *(undefined1 **)((int)ppGVar27 + -0x20) = local_e0;\n                    /* try { // try from 000d2cc6 to 000d2cca has its CatchHandler @ 000d302c */\n                *(undefined4 *)((int)ppGVar27 + -0x24) = 0xd2ccb;\n                local_78 = local_c0;\n                local_74 = local_b4;\n                std::\n                _Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>,_std::__detail::_Identity,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                ::\n                _M_insert<std::pair<gold::Relobj*,_unsigned_int>,_std::__detail::_AllocNode<std::allocator<std::__detail::_Hash_node<std::pair<gold::Relobj*,_unsigned_int>,_true>_>_>_>\n                          ();\n                bVar34 = (undefined1 *)0xffffffe3 < (undefined1 *)((int)ppGVar27 + -0x20);\n                bVar36 = ppGVar27 == (General_options **)0x4;\n                ppGVar27 = (General_options **)((int)ppGVar27 + -4);\n              }\n            }\n          }\n          else {\n            local_b4 = (Relobj *)0x0;\n            bVar34 = false;\n            bVar23 = 0;\n            bVar36 = true;\n            local_c0 = (Output_segment *)0x0;\n          }\n        }\n        else {\n          *(Relobj **)((int)ppGVar27 + -0xc) = src_id_1.first;\n          *(Symbol_table **)((int)ppGVar27 + -0x10) = symtab;\n          *(undefined4 *)((int)ppGVar27 + -0x14) = 0xd29d2;\n          src_id_1.first =\n               (Relobj *)\n               gold::Symbol_table::resolve_forwards\n                         (*(Symbol_table **)((int)ppGVar27 + -0x10),\n                          *(Symbol **)((int)ppGVar27 + -0xc));\n          if ((((src_id_1.first)->super_Object).shnum_ & 0x70000) == 0) goto LAB_000d25f7;\nLAB_000d29e2:\n          local_f0 = (Relobj *)((src_id_1.first)->super_Object).xindex_;\n          bVar23 = 0;\n          local_b4 = (Relobj *)0x0;\n          local_c0 = (Output_segment *)0x0;\n          bVar34 = CARRY4((uint)local_bc,(uint)local_f0);\n          local_c4 = (int)&local_bc->first + (int)local_f0;\n          bVar36 = local_c4 == 0;\n        }\n        pp_Var17 = ((src_id_1.first)->super_Object)._vptr_Object;\n        iVar19 = 8;\n        pbVar29 = (byte *)((int)local_b8 + -0x19ca26);\n        pp_Var32 = pp_Var17;\n        do {\n          if (iVar19 == 0) break;\n          iVar19 = iVar19 + -1;\n          bVar34 = *pbVar29 < *(byte *)pp_Var32;\n          bVar36 = *pbVar29 == *(byte *)pp_Var32;\n          pbVar29 = pbVar29 + (uint)bVar37 * -2 + 1;\n          pp_Var32 = (_func_int_varargs **)((int)pp_Var32 + (uint)bVar37 * -2 + 1);\n        } while (bVar36);\n        bVar35 = false;\n        bVar34 = (!bVar34 && !bVar36) == bVar34;\n        if (bVar34) {\n          local_d8 = pp_Var17 + 2;\n        }\n        else {\n          iVar19 = 7;\n          pbVar29 = (byte *)((int)local_b8 + -0x19ca1d);\n          pp_Var32 = pp_Var17;\n          do {\n            if (iVar19 == 0) break;\n            iVar19 = iVar19 + -1;\n            bVar35 = *pbVar29 < *(byte *)pp_Var32;\n            bVar34 = *pbVar29 == *(byte *)pp_Var32;\n            pbVar29 = pbVar29 + (uint)bVar37 * -2 + 1;\n            pp_Var32 = (_func_int_varargs **)((int)pp_Var32 + (uint)bVar37 * -2 + 1);\n          } while (bVar34);\n          pp_Var17 = (_func_int_varargs **)((int)pp_Var17 + 7);\n          if ((!bVar35 && !bVar34) != bVar35) {\n            pp_Var17 = local_d8;\n          }\n          local_d8 = pp_Var17;\n        }\n        if (local_d1 != '\0') {\n          if (bVar23 == 0) {\n            src_id.first = (Relobj *)0x0;\n            src_id.second = 0;\n          }\n          else {\n            src_id.first = (Relobj *)local_c0;\n            src_id.second = (uint)local_b4;\n          }\n          *(Icf **)((int)ppGVar27 + -0xc) = (Icf *)&src_id;\n          *(mapped_type **)((int)ppGVar27 + -0x10) = local_c8;\n          local_b0 = (Icf *)&src_id;\n          *(undefined4 *)((int)ppGVar27 + -0x14) = 0xd26b9;\n          std::\n          vector<std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>\n          ::emplace_back<std::pair<gold::Relobj*,_unsigned_int>_>\n                    (*(vector<std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>\n                       **)((int)ppGVar27 + -0x10),\n                     *(pair<gold::Relobj*,_unsigned_int> **)((int)ppGVar27 + -0xc));\n          ppSVar7 = (local_cc->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>).\n                    _M_impl._M_finish;\n          if (ppSVar7 ==\n              (local_cc->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>)._M_impl.\n              _M_end_of_storage) {\n            *(Section_id **)((int)ppGVar27 + -8) = &src_id_1;\n            *(pointer *)((int)ppGVar27 + -0xc) = ppSVar7;\n            *(Symbol_info **)((int)ppGVar27 + -0x10) = local_cc;\n            *(undefined4 *)((int)ppGVar27 + -0x14) = 0xd2b4b;\n            std::vector<gold::Symbol*,_std::allocator<gold::Symbol*>_>::\n            _M_realloc_insert<gold::Symbol*_const&>\n                      (*(vector<gold::Symbol*,_std::allocator<gold::Symbol*>_> **)\n                        ((int)ppGVar27 + -0x10),(iterator)*(Symbol ***)((int)ppGVar27 + -0xc),\n                       *(Symbol ***)((int)ppGVar27 + -8));\n          }\n          else {\n            *ppSVar7 = (Symbol *)src_id_1.first;\n            (local_cc->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>)._M_impl.\n            _M_finish = ppSVar7 + 1;\n          }\n          *(Icf **)((int)ppGVar27 + -0xc) = local_b0;\n          *(Addend_info **)((int)ppGVar27 + -0x10) = local_e8;\n          src_id.first = local_f0;\n          src_id.second = 0;\n          local_2c = local_bc;\n          local_28._M_p = (pointer)((int)local_bc >> 0x1f);\n          *(undefined4 *)((int)ppGVar27 + -0x14) = 0xd270d;\n          std::\n          vector<std::pair<long_long_int,_long_long_int>,_std::allocator<std::pair<long_long_int,_long_long_int>_>_>\n          ::emplace_back<std::pair<long_long_int,_long_long_int>_>\n                    (*(vector<std::pair<long_long_int,_long_long_int>,_std::allocator<std::pair<long_long_int,_long_long_int>_>_>\n                       **)((int)ppGVar27 + -0x10),\n                     *(pair<long_long_int,_long_long_int> **)((int)ppGVar27 + -0xc));\n          src_id.second = 0;\n          puVar5 = (local_d0->\n                   super__Vector_base<long_long_unsigned_int,_std::allocator<long_long_unsigned_int>_>\n                   )._M_impl._M_finish;\n          src_id.first = *(Relobj **)prelocs;\n          if (puVar5 == (local_d0->\n                        super__Vector_base<long_long_unsigned_int,_std::allocator<long_long_unsigned_int>_>\n                        )._M_impl._M_end_of_storage) {\n            *(Icf **)((int)ppGVar27 + -8) = local_b0;\n            *(pointer *)((int)ppGVar27 + -0xc) = puVar5;\n            *(Offset_info **)((int)ppGVar27 + -0x10) = local_d0;\n            *(undefined4 *)((int)ppGVar27 + -0x14) = 0xd2bbd;\n            std::vector<long_long_unsigned_int,_std::allocator<long_long_unsigned_int>_>::\n            _M_realloc_insert<long_long_unsigned_int_const&>\n                      (*(vector<long_long_unsigned_int,_std::allocator<long_long_unsigned_int>_> **)\n                        ((int)ppGVar27 + -0x10),(iterator)*(ulonglong **)((int)ppGVar27 + -0xc),\n                       *(ulonglong **)((int)ppGVar27 + -8));\n          }\n          else {\n            *(Relobj **)puVar5 = *(Relobj **)prelocs;\n            *(undefined4 *)((int)puVar5 + 4) = 0;\n            (local_d0->\n            super__Vector_base<long_long_unsigned_int,_std::allocator<long_long_unsigned_int>_>).\n            _M_impl._M_finish = puVar5 + 1;\n          }\n          dst_id.first = (Relobj *)0x0;\n          *(Section_id **)((int)ppGVar27 + -0xc) = &dst_id;\n          *(Reloc_addend_size_info **)((int)ppGVar27 + -0x10) = local_ec;\n          *(undefined4 *)((int)ppGVar27 + -0x14) = 0xd2753;\n          std::vector<unsigned_int,_std::allocator<unsigned_int>_>::emplace_back<unsigned_int>\n                    (*(vector<unsigned_int,_std::allocator<unsigned_int>_> **)\n                      ((int)ppGVar27 + -0x10),*(uint **)((int)ppGVar27 + -0xc));\n        }\n        puVar26 = ppGVar27;\n        if (bVar23 != 0) goto LAB_000d275e;\n      }\nLAB_000d2489:\n      local_e4 = local_e4 + 1;\n      prelocs = prelocs + 0xc;\n    } while (reloc_count != local_e4)" identifier (argument_list "((_Rb_tree<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>,_std::_Select1st<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>_>,_std::less<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::allocator<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>_>_>\n                      *)puVar26[-5],\n                     (basic_string<char,_std::char_traits<char>,_std::allocator<char>_> *)\n                     puVar26[-4]);\n              puVar13 = local_ac;\n              if (src_id.first != local_b4) {\n                puVar26[-6] = src_id.first;\n                puVar26[-7] = 0xd2909;\n                operator_delete((void *)puVar26[-6]);\n              }\n              ppGVar27 = (General_options **)(puVar26 + -2);\n              pGVar10 = symtab->gc_;\n              if ((_Rb_tree_header *)puVar13 !=\n                  &(pGVar10->cident_sections_)._M_t._M_impl.super__Rb_tree_header) {\n                p_Var1 = &(pGVar10->section_reloc_map_)._M_t._M_impl.super__Rb_tree_header;\n                src_id.first = (Relobj *)object;\n                src_id.second = data_shndx;\n                p_Var8 = (pGVar10->section_reloc_map_)._M_t._M_impl.super__Rb_tree_header._M_header.\n                         _M_parent;\n                p_Var20 = &p_Var1->_M_header;\n                if (p_Var8 == (_Base_ptr)0x0) {\nLAB_000d2bd8:\n                  puVar26[-6] = &local_84;\n                  local_84 = local_b0;\n                  puVar26[-7] = 0xd2bf6;\n                  std::\n                  _Rb_tree<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>,_std::_Select1st<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>_>,_std::less<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>_>_>\n                  ::\n                  _M_emplace_hint_unique<const_std::piecewise_construct_t&,_std::tuple<const_std::pair<gold::Relobj*,_unsigned_int>&>,_std::tuple<>_>\n                            ((_Rb_tree<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>,_std::_Select1st<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>_>,_std::less<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>_>_>\n                              *)puVar26[-6],(_Base_ptr)puVar26[-5],\n                             (tuple<const_std::pair<gold::Relobj*,_unsigned_int>&> *)puVar26[-4],\n                             (tuple<> *)puVar26[-3],(piecewise_construct_t *)puVar26[-2]);\n                  p_Var21 = local_a8;\n                }\n                else {\n                  do {\n                    while ((p_Var21 = (_Rb_tree_header *)p_Var8,\n                           object <= (Sized_relobj_file<32,_false> *)\n                                     ((_Base_ptr)((int)p_Var21 + 0x10))->_M_color &&\n                           ((object != (Sized_relobj_file<32,_false> *)\n                                       ((_Base_ptr)((int)p_Var21 + 0x10))->_M_color ||\n                            (data_shndx <= ((size_t *)((int)p_Var21 + 0x10))[1]))))) {\n                      p_Var8 = (p_Var21->_M_header)._M_left;\n                      p_Var20 = &p_Var21->_M_header;\n                      if ((p_Var21->_M_header)._M_left == (_Base_ptr)0x0) goto LAB_000d2962;\n                    }\n                    pp_Var2 = &(p_Var21->_M_header)._M_right;\n                    p_Var8 = *pp_Var2;\n                    p_Var21 = (_Rb_tree_header *)p_Var20;\n                  } while (*pp_Var2 != (_Base_ptr)0x0);\nLAB_000d2962:\n                  if (((p_Var21 == p_Var1) ||\n                      (object < (Sized_relobj_file<32,_false> *)p_Var21->_M_node_count)) ||\n                     ((object == (Sized_relobj_file<32,_false> *)p_Var21->_M_node_count &&\n                      (data_shndx < *(uint *)(p_Var21 + 1))))) goto LAB_000d2bd8;\n                }\n                ppGVar27 = (General_options **)(puVar26 + -2);\n                puVar26 = puVar26 + -2;\n                for (puVar11 = *(undefined4 **)(puVar13 + 0x30); puVar11 != (undefined4 *)0x0;\n                    puVar11 = (undefined4 *)*puVar11) {\n                  *(undefined4 *)((int)puVar26 + -0xc) = 1;\n                  *(undefined4 *)((int)puVar26 + -0x10) = 0;\n                  *(__node_gen_type **)((int)puVar26 + -0x14) = &__node_gen_1;\n                  *(undefined4 **)((int)puVar26 + -0x18) = puVar11 + 1;\n                  *(int *)((int)puVar26 + -0x1c) = (int)(p_Var21 + 1) + 4;\n                  *(undefined1 **)((int)puVar26 + -0x20) = local_e0;\n                  *(undefined4 *)((int)puVar26 + -0x24) = 0xd29ae;\n                  __node_gen_1._M_h = (__hashtable_alloc *)((int)(p_Var21 + 1) + 4);\n                  std::\n                  _Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>,_std::__detail::_Identity,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                  ::\n                  _M_insert<const_std::pair<gold::Relobj*,_unsigned_int>&,_std::__detail::_AllocNode<std::allocator<std::__detail::_Hash_node<std::pair<gold::Relobj*,_unsigned_int>,_true>_>_>_>\n                            ();\n                  ppGVar27 = (General_options **)((int)puVar26 + -4);\n                  puVar26 = (undefined4 *)((int)puVar26 + -4);\n                }\n              }\n            }\n          }\n        }\n      }\n      else {\n        if (uVar25 < object->local_symbol_count_) {\n          src_id_1.first = (Relobj *)0x0;\nLAB_000d2a1f:\n          *(undefined ***)((int)ppGVar27 + -8) = local_b8 + -0x615ed;\n          *(undefined4 *)((int)ppGVar27 + -0xc) = 0x11c;\n          *(int *)((int)ppGVar27 + -0x10) = (int)local_b8 + -0x19ca36;\n                    /* WARNING: Subroutine does not return */\n          *(undefined4 *)((int)ppGVar27 + -0x14) = 0xd2a40;\n          gold::do_gold_unreachable\n                    (*(char **)((int)ppGVar27 + -0x10),*(int *)((int)ppGVar27 + -0xc),\n                     *(char **)((int)ppGVar27 + -8));\n        }\n        uVar25 = uVar25 - object->local_symbol_count_;\n        ppSVar7 = (object->symbols_).\n                  super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl._M_start\n        ;\n        local_b0 = (Icf *)(object->symbols_).\n                          super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                          _M_finish;\n        if ((uint)((int)local_b0 - (int)ppSVar7 >> 2) <= uVar25) {\n          *(undefined ***)((int)ppGVar27 + -8) = local_b8 + -0x6156c;\n          *(undefined4 *)((int)ppGVar27 + -0xc) = 0x8ad;\n          *(int *)((int)ppGVar27 + -0x10) = (int)local_b8 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n          *(undefined4 *)((int)ppGVar27 + -0x14) = 0xd2f8f;\n          gold::do_gold_unreachable\n                    (*(char **)((int)ppGVar27 + -0x10),*(int *)((int)ppGVar27 + -0xc),\n                     *(char **)((int)ppGVar27 + -8));\n        }\n        src_id_1.first = (Relobj *)ppSVar7[uVar25];\n        if (src_id_1.first == (Relobj *)0x0) goto LAB_000d2a1f;\n        if ((((src_id_1.first)->super_Object).shnum_ & 0x100000) == 0) {\n          if ((((src_id_1.first)->super_Object).shnum_ & 0x70000) != 0) goto LAB_000d29e2;\nLAB_000d25f7:\n          local_f0 = (Relobj *)((src_id_1.first)->super_Object).xindex_;\n          local_c0 = ((anon_union_4_3_b0f6f408_for_u1_ *)\n                     &((src_id_1.first)->super_Object).name_._M_string_length)->output_segment;\n          local_c4 = (int)&local_bc->first + (int)local_f0;\n          if (((uint)local_c0->output_lists_[3].\n                     super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>.\n                     _M_impl._M_end_of_storage & 1) == 0) {\n            local_b4 = (Relobj *)\n                       ((src_id_1.first)->super_Object).name_.field_2._M_allocated_capacity;\n            bVar22 = (byte)((src_id_1.first)->super_Object).shnum_ & 0xf;\n            bVar23 = *(byte *)((int)&((src_id_1.first)->super_Object).shnum_ + 3) >> 5 & 1;\n            bVar34 = bVar22 < 2;\n            bVar36 = bVar22 == 2;\n            if (bVar36) {\n              bVar34 = false;\n              bVar36 = local_d2 == false;\n              if ((!bVar36) &&\n                 (((bVar23 == 0 || (bVar36 = uVar31 == 0x17, 0x17 < uVar31)) ||\n                  (bVar34 = (0x843f84U >> (uVar6 & 0x1f) & 1) != 0, !bVar34)))) {\n                local_b0 = symtab->icf_;\n                *(undefined4 *)((int)ppGVar27 + -0xc) = 1;\n                *(undefined4 *)((int)ppGVar27 + -0x10) = 0;\n                *(__node_gen_type **)((int)ppGVar27 + -0x14) = &__node_gen_3;\n                *(Output_segment ***)((int)ppGVar27 + -0x18) = &local_78;\n                __node_gen_3._M_h = (__hashtable_alloc *)&local_b0->fptr_section_id_;\n                *(__hashtable_alloc **)((int)ppGVar27 + -0x1c) = __node_gen_3._M_h;\n                *(undefined1 **)((int)ppGVar27 + -0x20) = local_e0;\n                    /* try { // try from 000d2cc6 to 000d2cca has its CatchHandler @ 000d302c */\n                *(undefined4 *)((int)ppGVar27 + -0x24) = 0xd2ccb;\n                local_78 = local_c0;\n                local_74 = local_b4;\n                std::\n                _Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>,_std::__detail::_Identity,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                ::\n                _M_insert<std::pair<gold::Relobj*,_unsigned_int>,_std::__detail::_AllocNode<std::allocator<std::__detail::_Hash_node<std::pair<gold::Relobj*,_unsigned_int>,_true>_>_>_>\n                          ();\n                bVar34 = (undefined1 *)0xffffffe3 < (undefined1 *)((int)ppGVar27 + -0x20);\n                bVar36 = ppGVar27 == (General_options **)0x4;\n                ppGVar27 = (General_options **)((int)ppGVar27 + -4);\n              }\n            }\n          }\n          else {\n            local_b4 = (Relobj *)0x0;\n            bVar34 = false;\n            bVar23 = 0;\n            bVar36 = true;\n            local_c0 = (Output_segment *)0x0;\n          }\n        }\n        else {\n          *(Relobj **)((int)ppGVar27 + -0xc) = src_id_1.first;\n          *(Symbol_table **)((int)ppGVar27 + -0x10) = symtab;\n          *(undefined4 *)((int)ppGVar27 + -0x14) = 0xd29d2;\n          src_id_1.first =\n               (Relobj *)\n               gold::Symbol_table::resolve_forwards\n                         (*(Symbol_table **)((int)ppGVar27 + -0x10),\n                          *(Symbol **)((int)ppGVar27 + -0xc));\n          if ((((src_id_1.first)->super_Object).shnum_ & 0x70000) == 0) goto LAB_000d25f7;\nLAB_000d29e2:\n          local_f0 = (Relobj *)((src_id_1.first)->super_Object).xindex_;\n          bVar23 = 0;\n          local_b4 = (Relobj *)0x0;\n          local_c0 = (Output_segment *)0x0;\n          bVar34 = CARRY4((uint)local_bc,(uint)local_f0);\n          local_c4 = (int)&local_bc->first + (int)local_f0;\n          bVar36 = local_c4 == 0;\n        }\n        pp_Var17 = ((src_id_1.first)->super_Object)._vptr_Object;\n        iVar19 = 8;\n        pbVar29 = (byte *)((int)local_b8 + -0x19ca26);\n        pp_Var32 = pp_Var17;\n        do {\n          if (iVar19 == 0) break;\n          iVar19 = iVar19 + -1;\n          bVar34 = *pbVar29 < *(byte *)pp_Var32;\n          bVar36 = *pbVar29 == *(byte *)pp_Var32;\n          pbVar29 = pbVar29 + (uint)bVar37 * -2 + 1;\n          pp_Var32 = (_func_int_varargs **)((int)pp_Var32 + (uint)bVar37 * -2 + 1);\n        } while (bVar36);\n        bVar35 = false;\n        bVar34 = (!bVar34 && !bVar36) == bVar34;\n        if (bVar34) {\n          local_d8 = pp_Var17 + 2;\n        }\n        else {\n          iVar19 = 7;\n          pbVar29 = (byte *)((int)local_b8 + -0x19ca1d);\n          pp_Var32 = pp_Var17;\n          do {\n            if (iVar19 == 0) break;\n            iVar19 = iVar19 + -1;\n            bVar35 = *pbVar29 < *(byte *)pp_Var32;\n            bVar34 = *pbVar29 == *(byte *)pp_Var32;\n            pbVar29 = pbVar29 + (uint)bVar37 * -2 + 1;\n            pp_Var32 = (_func_int_varargs **)((int)pp_Var32 + (uint)bVar37 * -2 + 1);\n          } while (bVar34);\n          pp_Var17 = (_func_int_varargs **)((int)pp_Var17 + 7);\n          if ((!bVar35 && !bVar34) != bVar35) {\n            pp_Var17 = local_d8;\n          }\n          local_d8 = pp_Var17;\n        }\n        if (local_d1 != '\0') {\n          if (bVar23 == 0) {\n            src_id.first = (Relobj *)0x0;\n            src_id.second = 0;\n          }\n          else {\n            src_id.first = (Relobj *)local_c0;\n            src_id.second = (uint)local_b4;\n          }\n          *(Icf **)((int)ppGVar27 + -0xc) = (Icf *)&src_id;\n          *(mapped_type **)((int)ppGVar27 + -0x10) = local_c8;\n          local_b0 = (Icf *)&src_id;\n          *(undefined4 *)((int)ppGVar27 + -0x14) = 0xd26b9;\n          std::\n          vector<std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>\n          ::emplace_back<std::pair<gold::Relobj*,_unsigned_int>_>\n                    (*(vector<std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>\n                       **)((int)ppGVar27 + -0x10),\n                     *(pair<gold::Relobj*,_unsigned_int> **)((int)ppGVar27 + -0xc));\n          ppSVar7 = (local_cc->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>).\n                    _M_impl._M_finish;\n          if (ppSVar7 ==\n              (local_cc->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>)._M_impl.\n              _M_end_of_storage) {\n            *(Section_id **)((int)ppGVar27 + -8) = &src_id_1;\n            *(pointer *)((int)ppGVar27 + -0xc) = ppSVar7;\n            *(Symbol_info **)((int)ppGVar27 + -0x10) = local_cc;\n            *(undefined4 *)((int)ppGVar27 + -0x14) = 0xd2b4b;\n            std::vector<gold::Symbol*,_std::allocator<gold::Symbol*>_>::\n            _M_realloc_insert<gold::Symbol*_const&>\n                      (*(vector<gold::Symbol*,_std::allocator<gold::Symbol*>_> **)\n                        ((int)ppGVar27 + -0x10),(iterator)*(Symbol ***)((int)ppGVar27 + -0xc),\n                       *(Symbol ***)((int)ppGVar27 + -8));\n          }\n          else {\n            *ppSVar7 = (Symbol *)src_id_1.first;\n            (local_cc->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>)._M_impl.\n            _M_finish = ppSVar7 + 1;\n          }\n          *(Icf **)((int)ppGVar27 + -0xc) = local_b0;\n          *(Addend_info **)((int)ppGVar27 + -0x10) = local_e8;\n          src_id.first = local_f0;\n          src_id.second = 0;\n          local_2c = local_bc;\n          local_28._M_p = (pointer)((int)local_bc >> 0x1f);\n          *(undefined4 *)((int)ppGVar27 + -0x14) = 0xd270d;\n          std::\n          vector<std::pair<long_long_int,_long_long_int>,_std::allocator<std::pair<long_long_int,_long_long_int>_>_>\n          ::emplace_back<std::pair<long_long_int,_long_long_int>_>\n                    (*(vector<std::pair<long_long_int,_long_long_int>,_std::allocator<std::pair<long_long_int,_long_long_int>_>_>\n                       **)((int)ppGVar27 + -0x10),\n                     *(pair<long_long_int,_long_long_int> **)((int)ppGVar27 + -0xc));\n          src_id.second = 0;\n          puVar5 = (local_d0->\n                   super__Vector_base<long_long_unsigned_int,_std::allocator<long_long_unsigned_int>_>\n                   )._M_impl._M_finish;\n          src_id.first = *(Relobj **)prelocs;\n          if (puVar5 == (local_d0->\n                        super__Vector_base<long_long_unsigned_int,_std::allocator<long_long_unsigned_int>_>\n                        )._M_impl._M_end_of_storage) {\n            *(Icf **)((int)ppGVar27 + -8) = local_b0;\n            *(pointer *)((int)ppGVar27 + -0xc) = puVar5;\n            *(Offset_info **)((int)ppGVar27 + -0x10) = local_d0;\n            *(undefined4 *)((int)ppGVar27 + -0x14) = 0xd2bbd;\n            std::vector<long_long_unsigned_int,_std::allocator<long_long_unsigned_int>_>::\n            _M_realloc_insert<long_long_unsigned_int_const&>\n                      (*(vector<long_long_unsigned_int,_std::allocator<long_long_unsigned_int>_> **)\n                        ((int)ppGVar27 + -0x10),(iterator)*(ulonglong **)((int)ppGVar27 + -0xc),\n                       *(ulonglong **)((int)ppGVar27 + -8));\n          }\n          else {\n            *(Relobj **)puVar5 = *(Relobj **)prelocs;\n            *(undefined4 *)((int)puVar5 + 4) = 0;\n            (local_d0->\n            super__Vector_base<long_long_unsigned_int,_std::allocator<long_long_unsigned_int>_>).\n            _M_impl._M_finish = puVar5 + 1;\n          }\n          dst_id.first = (Relobj *)0x0;\n          *(Section_id **)((int)ppGVar27 + -0xc) = &dst_id;\n          *(Reloc_addend_size_info **)((int)ppGVar27 + -0x10) = local_ec;\n          *(undefined4 *)((int)ppGVar27 + -0x14) = 0xd2753;\n          std::vector<unsigned_int,_std::allocator<unsigned_int>_>::emplace_back<unsigned_int>\n                    (*(vector<unsigned_int,_std::allocator<unsigned_int>_> **)\n                      ((int)ppGVar27 + -0x10),*(uint **)((int)ppGVar27 + -0xc));\n        }\n        puVar26 = ppGVar27;\n        if (bVar23 != 0) goto LAB_000d275e;\n      }\nLAB_000d2489:\n      local_e4 = local_e4 + 1;\n      prelocs = prelocs + 0xc;\n    } while (reloc_count != local_e4)" ( (parenthesized_expression "(_Rb_tree<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>,_std::_Select1st<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>_>,_std::less<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::allocator<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>_>_>\n                      *)puVar26[-5],\n                     (basic_string<char,_std::char_traits<char>,_std::allocator<char>_> *)\n                     puVar26[-4]);\n              puVar13 = local_ac;\n              if (src_id.first != local_b4) {\n                puVar26[-6] = src_id.first;\n                puVar26[-7] = 0xd2909;\n                operator_delete((void *)puVar26[-6]);\n              }\n              ppGVar27 = (General_options **)(puVar26 + -2);\n              pGVar10 = symtab->gc_;\n              if ((_Rb_tree_header *)puVar13 !=\n                  &(pGVar10->cident_sections_)._M_t._M_impl.super__Rb_tree_header) {\n                p_Var1 = &(pGVar10->section_reloc_map_)._M_t._M_impl.super__Rb_tree_header;\n                src_id.first = (Relobj *)object;\n                src_id.second = data_shndx;\n                p_Var8 = (pGVar10->section_reloc_map_)._M_t._M_impl.super__Rb_tree_header._M_header.\n                         _M_parent;\n                p_Var20 = &p_Var1->_M_header;\n                if (p_Var8 == (_Base_ptr)0x0) {\nLAB_000d2bd8:\n                  puVar26[-6] = &local_84;\n                  local_84 = local_b0;\n                  puVar26[-7] = 0xd2bf6;\n                  std::\n                  _Rb_tree<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>,_std::_Select1st<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>_>,_std::less<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>_>_>\n                  ::\n                  _M_emplace_hint_unique<const_std::piecewise_construct_t&,_std::tuple<const_std::pair<gold::Relobj*,_unsigned_int>&>,_std::tuple<>_>\n                            ((_Rb_tree<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>,_std::_Select1st<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>_>,_std::less<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>_>_>\n                              *)puVar26[-6],(_Base_ptr)puVar26[-5],\n                             (tuple<const_std::pair<gold::Relobj*,_unsigned_int>&> *)puVar26[-4],\n                             (tuple<> *)puVar26[-3],(piecewise_construct_t *)puVar26[-2]);\n                  p_Var21 = local_a8;\n                }\n                else {\n                  do {\n                    while ((p_Var21 = (_Rb_tree_header *)p_Var8,\n                           object <= (Sized_relobj_file<32,_false> *)\n                                     ((_Base_ptr)((int)p_Var21 + 0x10))->_M_color &&\n                           ((object != (Sized_relobj_file<32,_false> *)\n                                       ((_Base_ptr)((int)p_Var21 + 0x10))->_M_color ||\n                            (data_shndx <= ((size_t *)((int)p_Var21 + 0x10))[1]))))) {\n                      p_Var8 = (p_Var21->_M_header)._M_left;\n                      p_Var20 = &p_Var21->_M_header;\n                      if ((p_Var21->_M_header)._M_left == (_Base_ptr)0x0) goto LAB_000d2962;\n                    }\n                    pp_Var2 = &(p_Var21->_M_header)._M_right;\n                    p_Var8 = *pp_Var2;\n                    p_Var21 = (_Rb_tree_header *)p_Var20;\n                  } while (*pp_Var2 != (_Base_ptr)0x0);\nLAB_000d2962:\n                  if (((p_Var21 == p_Var1) ||\n                      (object < (Sized_relobj_file<32,_false> *)p_Var21->_M_node_count)) ||\n                     ((object == (Sized_relobj_file<32,_false> *)p_Var21->_M_node_count &&\n                      (data_shndx < *(uint *)(p_Var21 + 1))))) goto LAB_000d2bd8;\n                }\n                ppGVar27 = (General_options **)(puVar26 + -2);\n                puVar26 = puVar26 + -2;\n                for (puVar11 = *(undefined4 **)(puVar13 + 0x30); puVar11 != (undefined4 *)0x0;\n                    puVar11 = (undefined4 *)*puVar11) {\n                  *(undefined4 *)((int)puVar26 + -0xc) = 1;\n                  *(undefined4 *)((int)puVar26 + -0x10) = 0;\n                  *(__node_gen_type **)((int)puVar26 + -0x14) = &__node_gen_1;\n                  *(undefined4 **)((int)puVar26 + -0x18) = puVar11 + 1;\n                  *(int *)((int)puVar26 + -0x1c) = (int)(p_Var21 + 1) + 4;\n                  *(undefined1 **)((int)puVar26 + -0x20) = local_e0;\n                  *(undefined4 *)((int)puVar26 + -0x24) = 0xd29ae;\n                  __node_gen_1._M_h = (__hashtable_alloc *)((int)(p_Var21 + 1) + 4);\n                  std::\n                  _Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>,_std::__detail::_Identity,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                  ::\n                  _M_insert<const_std::pair<gold::Relobj*,_unsigned_int>&,_std::__detail::_AllocNode<std::allocator<std::__detail::_Hash_node<std::pair<gold::Relobj*,_unsigned_int>,_true>_>_>_>\n                            ();\n                  ppGVar27 = (General_options **)((int)puVar26 + -4);\n                  puVar26 = (undefined4 *)((int)puVar26 + -4);\n                }\n              }\n            }\n          }\n        }\n      }\n      else {\n        if (uVar25 < object->local_symbol_count_) {\n          src_id_1.first = (Relobj *)0x0;\nLAB_000d2a1f:\n          *(undefined ***)((int)ppGVar27 + -8) = local_b8 + -0x615ed;\n          *(undefined4 *)((int)ppGVar27 + -0xc) = 0x11c;\n          *(int *)((int)ppGVar27 + -0x10) = (int)local_b8 + -0x19ca36;\n                    /* WARNING: Subroutine does not return */\n          *(undefined4 *)((int)ppGVar27 + -0x14) = 0xd2a40;\n          gold::do_gold_unreachable\n                    (*(char **)((int)ppGVar27 + -0x10),*(int *)((int)ppGVar27 + -0xc),\n                     *(char **)((int)ppGVar27 + -8));\n        }\n        uVar25 = uVar25 - object->local_symbol_count_;\n        ppSVar7 = (object->symbols_).\n                  super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl._M_start\n        ;\n        local_b0 = (Icf *)(object->symbols_).\n                          super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                          _M_finish;\n        if ((uint)((int)local_b0 - (int)ppSVar7 >> 2) <= uVar25) {\n          *(undefined ***)((int)ppGVar27 + -8) = local_b8 + -0x6156c;\n          *(undefined4 *)((int)ppGVar27 + -0xc) = 0x8ad;\n          *(int *)((int)ppGVar27 + -0x10) = (int)local_b8 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n          *(undefined4 *)((int)ppGVar27 + -0x14) = 0xd2f8f;\n          gold::do_gold_unreachable\n                    (*(char **)((int)ppGVar27 + -0x10),*(int *)((int)ppGVar27 + -0xc),\n                     *(char **)((int)ppGVar27 + -8));\n        }\n        src_id_1.first = (Relobj *)ppSVar7[uVar25];\n        if (src_id_1.first == (Relobj *)0x0) goto LAB_000d2a1f;\n        if ((((src_id_1.first)->super_Object).shnum_ & 0x100000) == 0) {\n          if ((((src_id_1.first)->super_Object).shnum_ & 0x70000) != 0) goto LAB_000d29e2;\nLAB_000d25f7:\n          local_f0 = (Relobj *)((src_id_1.first)->super_Object).xindex_;\n          local_c0 = ((anon_union_4_3_b0f6f408_for_u1_ *)\n                     &((src_id_1.first)->super_Object).name_._M_string_length)->output_segment;\n          local_c4 = (int)&local_bc->first + (int)local_f0;\n          if (((uint)local_c0->output_lists_[3].\n                     super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>.\n                     _M_impl._M_end_of_storage & 1) == 0) {\n            local_b4 = (Relobj *)\n                       ((src_id_1.first)->super_Object).name_.field_2._M_allocated_capacity;\n            bVar22 = (byte)((src_id_1.first)->super_Object).shnum_ & 0xf;\n            bVar23 = *(byte *)((int)&((src_id_1.first)->super_Object).shnum_ + 3) >> 5 & 1;\n            bVar34 = bVar22 < 2;\n            bVar36 = bVar22 == 2;\n            if (bVar36) {\n              bVar34 = false;\n              bVar36 = local_d2 == false;\n              if ((!bVar36) &&\n                 (((bVar23 == 0 || (bVar36 = uVar31 == 0x17, 0x17 < uVar31)) ||\n                  (bVar34 = (0x843f84U >> (uVar6 & 0x1f) & 1) != 0, !bVar34)))) {\n                local_b0 = symtab->icf_;\n                *(undefined4 *)((int)ppGVar27 + -0xc) = 1;\n                *(undefined4 *)((int)ppGVar27 + -0x10) = 0;\n                *(__node_gen_type **)((int)ppGVar27 + -0x14) = &__node_gen_3;\n                *(Output_segment ***)((int)ppGVar27 + -0x18) = &local_78;\n                __node_gen_3._M_h = (__hashtable_alloc *)&local_b0->fptr_section_id_;\n                *(__hashtable_alloc **)((int)ppGVar27 + -0x1c) = __node_gen_3._M_h;\n                *(undefined1 **)((int)ppGVar27 + -0x20) = local_e0;\n                    /* try { // try from 000d2cc6 to 000d2cca has its CatchHandler @ 000d302c */\n                *(undefined4 *)((int)ppGVar27 + -0x24) = 0xd2ccb;\n                local_78 = local_c0;\n                local_74 = local_b4;\n                std::\n                _Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>,_std::__detail::_Identity,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                ::\n                _M_insert<std::pair<gold::Relobj*,_unsigned_int>,_std::__detail::_AllocNode<std::allocator<std::__detail::_Hash_node<std::pair<gold::Relobj*,_unsigned_int>,_true>_>_>_>\n                          ();\n                bVar34 = (undefined1 *)0xffffffe3 < (undefined1 *)((int)ppGVar27 + -0x20);\n                bVar36 = ppGVar27 == (General_options **)0x4;\n                ppGVar27 = (General_options **)((int)ppGVar27 + -4);\n              }\n            }\n          }\n          else {\n            local_b4 = (Relobj *)0x0;\n            bVar34 = false;\n            bVar23 = 0;\n            bVar36 = true;\n            local_c0 = (Output_segment *)0x0;\n          }\n        }\n        else {\n          *(Relobj **)((int)ppGVar27 + -0xc) = src_id_1.first;\n          *(Symbol_table **)((int)ppGVar27 + -0x10) = symtab;\n          *(undefined4 *)((int)ppGVar27 + -0x14) = 0xd29d2;\n          src_id_1.first =\n               (Relobj *)\n               gold::Symbol_table::resolve_forwards\n                         (*(Symbol_table **)((int)ppGVar27 + -0x10),\n                          *(Symbol **)((int)ppGVar27 + -0xc));\n          if ((((src_id_1.first)->super_Object).shnum_ & 0x70000) == 0) goto LAB_000d25f7;\nLAB_000d29e2:\n          local_f0 = (Relobj *)((src_id_1.first)->super_Object).xindex_;\n          bVar23 = 0;\n          local_b4 = (Relobj *)0x0;\n          local_c0 = (Output_segment *)0x0;\n          bVar34 = CARRY4((uint)local_bc,(uint)local_f0);\n          local_c4 = (int)&local_bc->first + (int)local_f0;\n          bVar36 = local_c4 == 0;\n        }\n        pp_Var17 = ((src_id_1.first)->super_Object)._vptr_Object;\n        iVar19 = 8;\n        pbVar29 = (byte *)((int)local_b8 + -0x19ca26);\n        pp_Var32 = pp_Var17;\n        do {\n          if (iVar19 == 0) break;\n          iVar19 = iVar19 + -1;\n          bVar34 = *pbVar29 < *(byte *)pp_Var32;\n          bVar36 = *pbVar29 == *(byte *)pp_Var32;\n          pbVar29 = pbVar29 + (uint)bVar37 * -2 + 1;\n          pp_Var32 = (_func_int_varargs **)((int)pp_Var32 + (uint)bVar37 * -2 + 1);\n        } while (bVar36);\n        bVar35 = false;\n        bVar34 = (!bVar34 && !bVar36) == bVar34;\n        if (bVar34) {\n          local_d8 = pp_Var17 + 2;\n        }\n        else {\n          iVar19 = 7;\n          pbVar29 = (byte *)((int)local_b8 + -0x19ca1d);\n          pp_Var32 = pp_Var17;\n          do {\n            if (iVar19 == 0) break;\n            iVar19 = iVar19 + -1;\n            bVar35 = *pbVar29 < *(byte *)pp_Var32;\n            bVar34 = *pbVar29 == *(byte *)pp_Var32;\n            pbVar29 = pbVar29 + (uint)bVar37 * -2 + 1;\n            pp_Var32 = (_func_int_varargs **)((int)pp_Var32 + (uint)bVar37 * -2 + 1);\n          } while (bVar34);\n          pp_Var17 = (_func_int_varargs **)((int)pp_Var17 + 7);\n          if ((!bVar35 && !bVar34) != bVar35) {\n            pp_Var17 = local_d8;\n          }\n          local_d8 = pp_Var17;\n        }\n        if (local_d1 != '\0') {\n          if (bVar23 == 0) {\n            src_id.first = (Relobj *)0x0;\n            src_id.second = 0;\n          }\n          else {\n            src_id.first = (Relobj *)local_c0;\n            src_id.second = (uint)local_b4;\n          }\n          *(Icf **)((int)ppGVar27 + -0xc) = (Icf *)&src_id;\n          *(mapped_type **)((int)ppGVar27 + -0x10) = local_c8;\n          local_b0 = (Icf *)&src_id;\n          *(undefined4 *)((int)ppGVar27 + -0x14) = 0xd26b9;\n          std::\n          vector<std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>\n          ::emplace_back<std::pair<gold::Relobj*,_unsigned_int>_>\n                    (*(vector<std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>\n                       **)((int)ppGVar27 + -0x10),\n                     *(pair<gold::Relobj*,_unsigned_int> **)((int)ppGVar27 + -0xc));\n          ppSVar7 = (local_cc->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>).\n                    _M_impl._M_finish;\n          if (ppSVar7 ==\n              (local_cc->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>)._M_impl.\n              _M_end_of_storage) {\n            *(Section_id **)((int)ppGVar27 + -8) = &src_id_1;\n            *(pointer *)((int)ppGVar27 + -0xc) = ppSVar7;\n            *(Symbol_info **)((int)ppGVar27 + -0x10) = local_cc;\n            *(undefined4 *)((int)ppGVar27 + -0x14) = 0xd2b4b;\n            std::vector<gold::Symbol*,_std::allocator<gold::Symbol*>_>::\n            _M_realloc_insert<gold::Symbol*_const&>\n                      (*(vector<gold::Symbol*,_std::allocator<gold::Symbol*>_> **)\n                        ((int)ppGVar27 + -0x10),(iterator)*(Symbol ***)((int)ppGVar27 + -0xc),\n                       *(Symbol ***)((int)ppGVar27 + -8));\n          }\n          else {\n            *ppSVar7 = (Symbol *)src_id_1.first;\n            (local_cc->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>)._M_impl.\n            _M_finish = ppSVar7 + 1;\n          }\n          *(Icf **)((int)ppGVar27 + -0xc) = local_b0;\n          *(Addend_info **)((int)ppGVar27 + -0x10) = local_e8;\n          src_id.first = local_f0;\n          src_id.second = 0;\n          local_2c = local_bc;\n          local_28._M_p = (pointer)((int)local_bc >> 0x1f);\n          *(undefined4 *)((int)ppGVar27 + -0x14) = 0xd270d;\n          std::\n          vector<std::pair<long_long_int,_long_long_int>,_std::allocator<std::pair<long_long_int,_long_long_int>_>_>\n          ::emplace_back<std::pair<long_long_int,_long_long_int>_>\n                    (*(vector<std::pair<long_long_int,_long_long_int>,_std::allocator<std::pair<long_long_int,_long_long_int>_>_>\n                       **)((int)ppGVar27 + -0x10),\n                     *(pair<long_long_int,_long_long_int> **)((int)ppGVar27 + -0xc));\n          src_id.second = 0;\n          puVar5 = (local_d0->\n                   super__Vector_base<long_long_unsigned_int,_std::allocator<long_long_unsigned_int>_>\n                   )._M_impl._M_finish;\n          src_id.first = *(Relobj **)prelocs;\n          if (puVar5 == (local_d0->\n                        super__Vector_base<long_long_unsigned_int,_std::allocator<long_long_unsigned_int>_>\n                        )._M_impl._M_end_of_storage) {\n            *(Icf **)((int)ppGVar27 + -8) = local_b0;\n            *(pointer *)((int)ppGVar27 + -0xc) = puVar5;\n            *(Offset_info **)((int)ppGVar27 + -0x10) = local_d0;\n            *(undefined4 *)((int)ppGVar27 + -0x14) = 0xd2bbd;\n            std::vector<long_long_unsigned_int,_std::allocator<long_long_unsigned_int>_>::\n            _M_realloc_insert<long_long_unsigned_int_const&>\n                      (*(vector<long_long_unsigned_int,_std::allocator<long_long_unsigned_int>_> **)\n                        ((int)ppGVar27 + -0x10),(iterator)*(ulonglong **)((int)ppGVar27 + -0xc),\n                       *(ulonglong **)((int)ppGVar27 + -8));\n          }\n          else {\n            *(Relobj **)puVar5 = *(Relobj **)prelocs;\n            *(undefined4 *)((int)puVar5 + 4) = 0;\n            (local_d0->\n            super__Vector_base<long_long_unsigned_int,_std::allocator<long_long_unsigned_int>_>).\n            _M_impl._M_finish = puVar5 + 1;\n          }\n          dst_id.first = (Relobj *)0x0;\n          *(Section_id **)((int)ppGVar27 + -0xc) = &dst_id;\n          *(Reloc_addend_size_info **)((int)ppGVar27 + -0x10) = local_ec;\n          *(undefined4 *)((int)ppGVar27 + -0x14) = 0xd2753;\n          std::vector<unsigned_int,_std::allocator<unsigned_int>_>::emplace_back<unsigned_int>\n                    (*(vector<unsigned_int,_std::allocator<unsigned_int>_> **)\n                      ((int)ppGVar27 + -0x10),*(uint **)((int)ppGVar27 + -0xc));\n        }\n        puVar26 = ppGVar27;\n        if (bVar23 != 0) goto LAB_000d275e;\n      }\nLAB_000d2489:\n      local_e4 = local_e4 + 1;\n      prelocs = prelocs + 0xc;\n    } while (reloc_count != local_e4)" ( (ERROR "_Rb_tree<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>,_std::_Select1st<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>_>,_std::less<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::allocator<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>_>_>\n                      *)puVar26[-5],\n                     (basic_string<char,_std::char_traits<char>,_std::allocator<char>_> *)\n                     puVar26[-4]);\n              puVar13 = local_ac;\n              if (src_id.first != local_b4) {\n                puVar26[-6] = src_id.first;\n                puVar26[-7] = 0xd2909;\n                operator_delete((void *)puVar26[-6]);\n              }\n              ppGVar27 = (General_options **)(puVar26 + -2);\n              pGVar10 = symtab->gc_;\n              if ((_Rb_tree_header *)puVar13 !=\n                  &(pGVar10->cident_sections_)._M_t._M_impl.super__Rb_tree_header)" (binary_expression "_Rb_tree<std" identifier < identifier) : : identifier : : (comma_expression "basic_string<char,_std" (binary_expression "basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char>,_std" (binary_expression "char_traits<char" identifier < identifier) > (ERROR "," ,) identifier) : : (binary_expression "allocator<char>_>,_std" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > (ERROR "," ,) identifier) : : (binary_expression "pair<const_std" identifier < identifier) : : identifier : : (comma_expression "basic_string<char,_std" (binary_expression "basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char>,_std" (binary_expression "char_traits<char" identifier < identifier) > (ERROR "," ,) identifier) : : (binary_expression "allocator<char>_>,_std" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > (ERROR "," ,) identifier) : : (binary_expression "unordered_set<std" identifier < identifier) : : (binary_expression "pair<gold" identifier < identifier) : : (type_descriptor "Relobj*" type_identifier (abstract_pointer_declarator "*" *)) , (binary_expression "_unsigned_int>,_gold" identifier > (ERROR "," ,) identifier) : : (comma_expression "Section_id_hash,_std" identifier , identifier) : : (binary_expression "equal_to<std" identifier < identifier) : : (binary_expression "pair<gold" identifier < identifier) : : (type_descriptor "Relobj*" type_identifier (abstract_pointer_declarator "*" *)) , (binary_expression "_unsigned_int>_>,_std" (binary_expression "_unsigned_int>_" identifier > identifier) > (ERROR "," ,) identifier) : : (binary_expression "allocator<std" identifier < identifier) : : (binary_expression "pair<gold" identifier < identifier) : : (type_descriptor "Relobj*" type_identifier (abstract_pointer_declarator "*" *)) , (binary_expression "_unsigned_int>_>_>_>,_std" (binary_expression "_unsigned_int>_>_>_" (binary_expression "_unsigned_int>_>_" (binary_expression "_unsigned_int>_" identifier > identifier) > identifier) > identifier) > (ERROR "," ,) identifier) : : (binary_expression "_Select1st<std" identifier < identifier) : : (binary_expression "pair<const_std" identifier < identifier) : : identifier : : (comma_expression "basic_string<char,_std" (binary_expression "basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char>,_std" (binary_expression "char_traits<char" identifier < identifier) > (ERROR "," ,) identifier) : : (binary_expression "allocator<char>_>,_std" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > (ERROR "," ,) identifier) : : (binary_expression "unordered_set<std" identifier < identifier) : : (binary_expression "pair<gold" identifier < identifier) : : (type_descriptor "Relobj*" type_identifier (abstract_pointer_declarator "*" *)) , (binary_expression "_unsigned_int>,_gold" identifier > (ERROR "," ,) identifier) : : (comma_expression "Section_id_hash,_std" identifier , identifier) : : (binary_expression "equal_to<std" identifier < identifier) : : (binary_expression "pair<gold" identifier < identifier) : : (type_descriptor "Relobj*" type_identifier (abstract_pointer_declarator "*" *)) , (binary_expression "_unsigned_int>_>,_std" (binary_expression "_unsigned_int>_" identifier > identifier) > (ERROR "," ,) identifier) : : (binary_expression "allocator<std" identifier < identifier) : : (binary_expression "pair<gold" identifier < identifier) : : (type_descriptor "Relobj*" type_identifier (abstract_pointer_declarator "*" *)) , (binary_expression "_unsigned_int>_>_>_>_>,_std" (binary_expression "_unsigned_int>_>_>_>_" (binary_expression "_unsigned_int>_>_>_" (binary_expression "_unsigned_int>_>_" (binary_expression "_unsigned_int>_" identifier > identifier) > identifier) > identifier) > identifier) > (ERROR "," ,) identifier) : : (binary_expression "less<std" identifier < identifier) : : identifier : : (comma_expression "basic_string<char,_std" (binary_expression "basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char>,_std" (binary_expression "char_traits<char" identifier < identifier) > (ERROR "," ,) identifier) : : (binary_expression "allocator<char>_>_>,_std" (binary_expression "allocator<char>_>_" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > identifier) > (ERROR "," ,) identifier) : : (binary_expression "allocator<std" identifier < identifier) : : (binary_expression "pair<const_std" identifier < identifier) : : identifier : : (comma_expression "basic_string<char,_std" (binary_expression "basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char>,_std" (binary_expression "char_traits<char" identifier < identifier) > (ERROR "," ,) identifier) : : (binary_expression "allocator<char>_>,_std" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > (ERROR "," ,) identifier) : : (binary_expression "unordered_set<std" identifier < identifier) : : (binary_expression "pair<gold" identifier < identifier) : : (type_descriptor "Relobj*" type_identifier (abstract_pointer_declarator "*" *)) , (binary_expression "_unsigned_int>,_gold" identifier > (ERROR "," ,) identifier) : : (comma_expression "Section_id_hash,_std" identifier , identifier) : : (binary_expression "equal_to<std" identifier < identifier) : : (binary_expression "pair<gold" identifier < identifier) : : (type_descriptor "Relobj*" type_identifier (abstract_pointer_declarator "*" *)) , (binary_expression "_unsigned_int>_>,_std" (binary_expression "_unsigned_int>_" identifier > identifier) > (ERROR "," ,) identifier) : : (binary_expression "allocator<std" identifier < identifier) : : (binary_expression "pair<gold" identifier < identifier) : : (type_descriptor "Relobj*" type_identifier (abstract_pointer_declarator "*" *)) , (comma_expression "_unsigned_int>_>_>_>_>_>\n                      *)puVar26[-5],\n                     (basic_string<char,_std::char_traits<char>,_std::allocator<char>_> *)\n                     puVar26[-4])" (binary_expression "_unsigned_int>_>_>_>_>_>\n                      *)puVar26[-5]" (binary_expression "_unsigned_int>_>_>_>_>_" (binary_expression "_unsigned_int>_>_>_>_" (binary_expression "_unsigned_int>_>_>_" (binary_expression "_unsigned_int>_>_" (binary_expression "_unsigned_int>_" identifier > identifier) > identifier) > identifier) > identifier) > identifier) > (pointer_expression "*)puVar26[-5]" * (ERROR ")" )) (subscript_expression "puVar26[-5]" identifier [ number_literal ]))) , (parenthesized_expression "(basic_string<char,_std::char_traits<char>,_std::allocator<char>_> *)\n                     puVar26[-4])" ( (ERROR "basic_string<char,_std::char_traits<char>,_std::" (comma_expression "basic_string<char,_std" (binary_expression "basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char>,_std" (binary_expression "char_traits<char" identifier < identifier) > (ERROR "," ,) identifier) : :) (binary_expression "allocator<char>_> *)\n                     puVar26[-4]" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > (pointer_expression "*)\n                     puVar26[-4]" * (ERROR ")" )) (subscript_expression "puVar26[-4]" identifier [ number_literal ]))) ))) ; (call_expression "puVar13 = local_ac;\n              if (src_id.first != local_b4)" (assignment_expression "puVar13 = local_ac" identifier = identifier) (ERROR ";\n              if" ; if) (argument_list "(src_id.first != local_b4)" ( (binary_expression "src_id.first != local_b4" (field_expression "src_id.first" identifier . field_identifier) != identifier) ))) (compound_statement "{\n                puVar26[-6] = src_id.first;\n                puVar26[-7] = 0xd2909;\n                operator_delete((void *)puVar26[-6]);\n              }" { (expression_statement "puVar26[-6] = src_id.first;" (assignment_expression "puVar26[-6] = src_id.first" (subscript_expression "puVar26[-6]" identifier [ number_literal ]) = (field_expression "src_id.first" identifier . field_identifier)) ;) (expression_statement "puVar26[-7] = 0xd2909;" (assignment_expression "puVar26[-7] = 0xd2909" (subscript_expression "puVar26[-7]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "operator_delete((void *)puVar26[-6]);" (call_expression "operator_delete((void *)puVar26[-6])" identifier (argument_list "((void *)puVar26[-6])" ( (cast_expression "(void *)puVar26[-6]" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar26[-6]" identifier [ number_literal ])) ))) ;) }) (assignment_expression "ppGVar27 = (General_options **)(puVar26 + -2)" identifier = (cast_expression "(General_options **)(puVar26 + -2)" ( (type_descriptor "General_options **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar26 + -2)" ( (binary_expression "puVar26 + -2" identifier + number_literal) )))) ; (call_expression "pGVar10 = symtab->gc_;\n              if ((_Rb_tree_header *)puVar13 !=\n                  &(pGVar10->cident_sections_)._M_t._M_impl.super__Rb_tree_header)" (assignment_expression "pGVar10 = symtab->gc_" identifier = (field_expression "symtab->gc_" identifier -> field_identifier)) (ERROR ";\n              if" ; if) (argument_list "((_Rb_tree_header *)puVar13 !=\n                  &(pGVar10->cident_sections_)._M_t._M_impl.super__Rb_tree_header)" ( (binary_expression "(_Rb_tree_header *)puVar13 !=\n                  &(pGVar10->cident_sections_)._M_t._M_impl.super__Rb_tree_header" (cast_expression "(_Rb_tree_header *)puVar13" ( (type_descriptor "_Rb_tree_header *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) != (pointer_expression "&(pGVar10->cident_sections_)._M_t._M_impl.super__Rb_tree_header" & (field_expression "(pGVar10->cident_sections_)._M_t._M_impl.super__Rb_tree_header" (field_expression "(pGVar10->cident_sections_)._M_t._M_impl" (field_expression "(pGVar10->cident_sections_)._M_t" (parenthesized_expression "(pGVar10->cident_sections_)" ( (field_expression "pGVar10->cident_sections_" identifier -> field_identifier) )) . field_identifier) . field_identifier) . field_identifier))) )))) (compound_statement "{\n                p_Var1 = &(pGVar10->section_reloc_map_)._M_t._M_impl.super__Rb_tree_header;\n                src_id.first = (Relobj *)object;\n                src_id.second = data_shndx;\n                p_Var8 = (pGVar10->section_reloc_map_)._M_t._M_impl.super__Rb_tree_header._M_header.\n                         _M_parent;\n                p_Var20 = &p_Var1->_M_header;\n                if (p_Var8 == (_Base_ptr)0x0) {\nLAB_000d2bd8:\n                  puVar26[-6] = &local_84;\n                  local_84 = local_b0;\n                  puVar26[-7] = 0xd2bf6;\n                  std::\n                  _Rb_tree<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>,_std::_Select1st<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>_>,_std::less<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>_>_>\n                  ::\n                  _M_emplace_hint_unique<const_std::piecewise_construct_t&,_std::tuple<const_std::pair<gold::Relobj*,_unsigned_int>&>,_std::tuple<>_>\n                            ((_Rb_tree<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>,_std::_Select1st<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>_>,_std::less<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>_>_>\n                              *)puVar26[-6],(_Base_ptr)puVar26[-5],\n                             (tuple<const_std::pair<gold::Relobj*,_unsigned_int>&> *)puVar26[-4],\n                             (tuple<> *)puVar26[-3],(piecewise_construct_t *)puVar26[-2]);\n                  p_Var21 = local_a8;\n                }\n                else {\n                  do {\n                    while ((p_Var21 = (_Rb_tree_header *)p_Var8,\n                           object <= (Sized_relobj_file<32,_false> *)\n                                     ((_Base_ptr)((int)p_Var21 + 0x10))->_M_color &&\n                           ((object != (Sized_relobj_file<32,_false> *)\n                                       ((_Base_ptr)((int)p_Var21 + 0x10))->_M_color ||\n                            (data_shndx <= ((size_t *)((int)p_Var21 + 0x10))[1]))))) {\n                      p_Var8 = (p_Var21->_M_header)._M_left;\n                      p_Var20 = &p_Var21->_M_header;\n                      if ((p_Var21->_M_header)._M_left == (_Base_ptr)0x0) goto LAB_000d2962;\n                    }\n                    pp_Var2 = &(p_Var21->_M_header)._M_right;\n                    p_Var8 = *pp_Var2;\n                    p_Var21 = (_Rb_tree_header *)p_Var20;\n                  } while (*pp_Var2 != (_Base_ptr)0x0);\nLAB_000d2962:\n                  if (((p_Var21 == p_Var1) ||\n                      (object < (Sized_relobj_file<32,_false> *)p_Var21->_M_node_count)) ||\n                     ((object == (Sized_relobj_file<32,_false> *)p_Var21->_M_node_count &&\n                      (data_shndx < *(uint *)(p_Var21 + 1))))) goto LAB_000d2bd8;\n                }\n                ppGVar27 = (General_options **)(puVar26 + -2);\n                puVar26 = puVar26 + -2;\n                for (puVar11 = *(undefined4 **)(puVar13 + 0x30); puVar11 != (undefined4 *)0x0;\n                    puVar11 = (undefined4 *)*puVar11) {\n                  *(undefined4 *)((int)puVar26 + -0xc) = 1;\n                  *(undefined4 *)((int)puVar26 + -0x10) = 0;\n                  *(__node_gen_type **)((int)puVar26 + -0x14) = &__node_gen_1;\n                  *(undefined4 **)((int)puVar26 + -0x18) = puVar11 + 1;\n                  *(int *)((int)puVar26 + -0x1c) = (int)(p_Var21 + 1) + 4;\n                  *(undefined1 **)((int)puVar26 + -0x20) = local_e0;\n                  *(undefined4 *)((int)puVar26 + -0x24) = 0xd29ae;\n                  __node_gen_1._M_h = (__hashtable_alloc *)((int)(p_Var21 + 1) + 4);\n                  std::\n                  _Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>,_std::__detail::_Identity,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                  ::\n                  _M_insert<const_std::pair<gold::Relobj*,_unsigned_int>&,_std::__detail::_AllocNode<std::allocator<std::__detail::_Hash_node<std::pair<gold::Relobj*,_unsigned_int>,_true>_>_>_>\n                            ();\n                  ppGVar27 = (General_options **)((int)puVar26 + -4);\n                  puVar26 = (undefined4 *)((int)puVar26 + -4);\n                }\n              }\n            }\n          }\n        }\n      }\n      else {\n        if (uVar25 < object->local_symbol_count_) {\n          src_id_1.first = (Relobj *)0x0;\nLAB_000d2a1f:\n          *(undefined ***)((int)ppGVar27 + -8) = local_b8 + -0x615ed;\n          *(undefined4 *)((int)ppGVar27 + -0xc) = 0x11c;\n          *(int *)((int)ppGVar27 + -0x10) = (int)local_b8 + -0x19ca36;\n                    /* WARNING: Subroutine does not return */\n          *(undefined4 *)((int)ppGVar27 + -0x14) = 0xd2a40;\n          gold::do_gold_unreachable\n                    (*(char **)((int)ppGVar27 + -0x10),*(int *)((int)ppGVar27 + -0xc),\n                     *(char **)((int)ppGVar27 + -8));\n        }\n        uVar25 = uVar25 - object->local_symbol_count_;\n        ppSVar7 = (object->symbols_).\n                  super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl._M_start\n        ;\n        local_b0 = (Icf *)(object->symbols_).\n                          super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                          _M_finish;\n        if ((uint)((int)local_b0 - (int)ppSVar7 >> 2) <= uVar25) {\n          *(undefined ***)((int)ppGVar27 + -8) = local_b8 + -0x6156c;\n          *(undefined4 *)((int)ppGVar27 + -0xc) = 0x8ad;\n          *(int *)((int)ppGVar27 + -0x10) = (int)local_b8 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n          *(undefined4 *)((int)ppGVar27 + -0x14) = 0xd2f8f;\n          gold::do_gold_unreachable\n                    (*(char **)((int)ppGVar27 + -0x10),*(int *)((int)ppGVar27 + -0xc),\n                     *(char **)((int)ppGVar27 + -8));\n        }\n        src_id_1.first = (Relobj *)ppSVar7[uVar25];\n        if (src_id_1.first == (Relobj *)0x0) goto LAB_000d2a1f;\n        if ((((src_id_1.first)->super_Object).shnum_ & 0x100000) == 0) {\n          if ((((src_id_1.first)->super_Object).shnum_ & 0x70000) != 0) goto LAB_000d29e2;\nLAB_000d25f7:\n          local_f0 = (Relobj *)((src_id_1.first)->super_Object).xindex_;\n          local_c0 = ((anon_union_4_3_b0f6f408_for_u1_ *)\n                     &((src_id_1.first)->super_Object).name_._M_string_length)->output_segment;\n          local_c4 = (int)&local_bc->first + (int)local_f0;\n          if (((uint)local_c0->output_lists_[3].\n                     super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>.\n                     _M_impl._M_end_of_storage & 1) == 0) {\n            local_b4 = (Relobj *)\n                       ((src_id_1.first)->super_Object).name_.field_2._M_allocated_capacity;\n            bVar22 = (byte)((src_id_1.first)->super_Object).shnum_ & 0xf;\n            bVar23 = *(byte *)((int)&((src_id_1.first)->super_Object).shnum_ + 3) >> 5 & 1;\n            bVar34 = bVar22 < 2;\n            bVar36 = bVar22 == 2;\n            if (bVar36) {\n              bVar34 = false;\n              bVar36 = local_d2 == false;\n              if ((!bVar36) &&\n                 (((bVar23 == 0 || (bVar36 = uVar31 == 0x17, 0x17 < uVar31)) ||\n                  (bVar34 = (0x843f84U >> (uVar6 & 0x1f) & 1) != 0, !bVar34)))) {\n                local_b0 = symtab->icf_;\n                *(undefined4 *)((int)ppGVar27 + -0xc) = 1;\n                *(undefined4 *)((int)ppGVar27 + -0x10) = 0;\n                *(__node_gen_type **)((int)ppGVar27 + -0x14) = &__node_gen_3;\n                *(Output_segment ***)((int)ppGVar27 + -0x18) = &local_78;\n                __node_gen_3._M_h = (__hashtable_alloc *)&local_b0->fptr_section_id_;\n                *(__hashtable_alloc **)((int)ppGVar27 + -0x1c) = __node_gen_3._M_h;\n                *(undefined1 **)((int)ppGVar27 + -0x20) = local_e0;\n                    /* try { // try from 000d2cc6 to 000d2cca has its CatchHandler @ 000d302c */\n                *(undefined4 *)((int)ppGVar27 + -0x24) = 0xd2ccb;\n                local_78 = local_c0;\n                local_74 = local_b4;\n                std::\n                _Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>,_std::__detail::_Identity,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                ::\n                _M_insert<std::pair<gold::Relobj*,_unsigned_int>,_std::__detail::_AllocNode<std::allocator<std::__detail::_Hash_node<std::pair<gold::Relobj*,_unsigned_int>,_true>_>_>_>\n                          ();\n                bVar34 = (undefined1 *)0xffffffe3 < (undefined1 *)((int)ppGVar27 + -0x20);\n                bVar36 = ppGVar27 == (General_options **)0x4;\n                ppGVar27 = (General_options **)((int)ppGVar27 + -4);\n              }\n            }\n          }\n          else {\n            local_b4 = (Relobj *)0x0;\n            bVar34 = false;\n            bVar23 = 0;\n            bVar36 = true;\n            local_c0 = (Output_segment *)0x0;\n          }\n        }\n        else {\n          *(Relobj **)((int)ppGVar27 + -0xc) = src_id_1.first;\n          *(Symbol_table **)((int)ppGVar27 + -0x10) = symtab;\n          *(undefined4 *)((int)ppGVar27 + -0x14) = 0xd29d2;\n          src_id_1.first =\n               (Relobj *)\n               gold::Symbol_table::resolve_forwards\n                         (*(Symbol_table **)((int)ppGVar27 + -0x10),\n                          *(Symbol **)((int)ppGVar27 + -0xc));\n          if ((((src_id_1.first)->super_Object).shnum_ & 0x70000) == 0) goto LAB_000d25f7;\nLAB_000d29e2:\n          local_f0 = (Relobj *)((src_id_1.first)->super_Object).xindex_;\n          bVar23 = 0;\n          local_b4 = (Relobj *)0x0;\n          local_c0 = (Output_segment *)0x0;\n          bVar34 = CARRY4((uint)local_bc,(uint)local_f0);\n          local_c4 = (int)&local_bc->first + (int)local_f0;\n          bVar36 = local_c4 == 0;\n        }\n        pp_Var17 = ((src_id_1.first)->super_Object)._vptr_Object;\n        iVar19 = 8;\n        pbVar29 = (byte *)((int)local_b8 + -0x19ca26);\n        pp_Var32 = pp_Var17;\n        do {\n          if (iVar19 == 0) break;\n          iVar19 = iVar19 + -1;\n          bVar34 = *pbVar29 < *(byte *)pp_Var32;\n          bVar36 = *pbVar29 == *(byte *)pp_Var32;\n          pbVar29 = pbVar29 + (uint)bVar37 * -2 + 1;\n          pp_Var32 = (_func_int_varargs **)((int)pp_Var32 + (uint)bVar37 * -2 + 1);\n        } while (bVar36);\n        bVar35 = false;\n        bVar34 = (!bVar34 && !bVar36) == bVar34;\n        if (bVar34) {\n          local_d8 = pp_Var17 + 2;\n        }\n        else {\n          iVar19 = 7;\n          pbVar29 = (byte *)((int)local_b8 + -0x19ca1d);\n          pp_Var32 = pp_Var17;\n          do {\n            if (iVar19 == 0) break;\n            iVar19 = iVar19 + -1;\n            bVar35 = *pbVar29 < *(byte *)pp_Var32;\n            bVar34 = *pbVar29 == *(byte *)pp_Var32;\n            pbVar29 = pbVar29 + (uint)bVar37 * -2 + 1;\n            pp_Var32 = (_func_int_varargs **)((int)pp_Var32 + (uint)bVar37 * -2 + 1);\n          } while (bVar34);\n          pp_Var17 = (_func_int_varargs **)((int)pp_Var17 + 7);\n          if ((!bVar35 && !bVar34) != bVar35) {\n            pp_Var17 = local_d8;\n          }\n          local_d8 = pp_Var17;\n        }\n        if (local_d1 != '\0') {\n          if (bVar23 == 0) {\n            src_id.first = (Relobj *)0x0;\n            src_id.second = 0;\n          }\n          else {\n            src_id.first = (Relobj *)local_c0;\n            src_id.second = (uint)local_b4;\n          }\n          *(Icf **)((int)ppGVar27 + -0xc) = (Icf *)&src_id;\n          *(mapped_type **)((int)ppGVar27 + -0x10) = local_c8;\n          local_b0 = (Icf *)&src_id;\n          *(undefined4 *)((int)ppGVar27 + -0x14) = 0xd26b9;\n          std::\n          vector<std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>\n          ::emplace_back<std::pair<gold::Relobj*,_unsigned_int>_>\n                    (*(vector<std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>\n                       **)((int)ppGVar27 + -0x10),\n                     *(pair<gold::Relobj*,_unsigned_int> **)((int)ppGVar27 + -0xc));\n          ppSVar7 = (local_cc->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>).\n                    _M_impl._M_finish;\n          if (ppSVar7 ==\n              (local_cc->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>)._M_impl.\n              _M_end_of_storage) {\n            *(Section_id **)((int)ppGVar27 + -8) = &src_id_1;\n            *(pointer *)((int)ppGVar27 + -0xc) = ppSVar7;\n            *(Symbol_info **)((int)ppGVar27 + -0x10) = local_cc;\n            *(undefined4 *)((int)ppGVar27 + -0x14) = 0xd2b4b;\n            std::vector<gold::Symbol*,_std::allocator<gold::Symbol*>_>::\n            _M_realloc_insert<gold::Symbol*_const&>\n                      (*(vector<gold::Symbol*,_std::allocator<gold::Symbol*>_> **)\n                        ((int)ppGVar27 + -0x10),(iterator)*(Symbol ***)((int)ppGVar27 + -0xc),\n                       *(Symbol ***)((int)ppGVar27 + -8));\n          }\n          else {\n            *ppSVar7 = (Symbol *)src_id_1.first;\n            (local_cc->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>)._M_impl.\n            _M_finish = ppSVar7 + 1;\n          }\n          *(Icf **)((int)ppGVar27 + -0xc) = local_b0;\n          *(Addend_info **)((int)ppGVar27 + -0x10) = local_e8;\n          src_id.first = local_f0;\n          src_id.second = 0;\n          local_2c = local_bc;\n          local_28._M_p = (pointer)((int)local_bc >> 0x1f);\n          *(undefined4 *)((int)ppGVar27 + -0x14) = 0xd270d;\n          std::\n          vector<std::pair<long_long_int,_long_long_int>,_std::allocator<std::pair<long_long_int,_long_long_int>_>_>\n          ::emplace_back<std::pair<long_long_int,_long_long_int>_>\n                    (*(vector<std::pair<long_long_int,_long_long_int>,_std::allocator<std::pair<long_long_int,_long_long_int>_>_>\n                       **)((int)ppGVar27 + -0x10),\n                     *(pair<long_long_int,_long_long_int> **)((int)ppGVar27 + -0xc));\n          src_id.second = 0;\n          puVar5 = (local_d0->\n                   super__Vector_base<long_long_unsigned_int,_std::allocator<long_long_unsigned_int>_>\n                   )._M_impl._M_finish;\n          src_id.first = *(Relobj **)prelocs;\n          if (puVar5 == (local_d0->\n                        super__Vector_base<long_long_unsigned_int,_std::allocator<long_long_unsigned_int>_>\n                        )._M_impl._M_end_of_storage) {\n            *(Icf **)((int)ppGVar27 + -8) = local_b0;\n            *(pointer *)((int)ppGVar27 + -0xc) = puVar5;\n            *(Offset_info **)((int)ppGVar27 + -0x10) = local_d0;\n            *(undefined4 *)((int)ppGVar27 + -0x14) = 0xd2bbd;\n            std::vector<long_long_unsigned_int,_std::allocator<long_long_unsigned_int>_>::\n            _M_realloc_insert<long_long_unsigned_int_const&>\n                      (*(vector<long_long_unsigned_int,_std::allocator<long_long_unsigned_int>_> **)\n                        ((int)ppGVar27 + -0x10),(iterator)*(ulonglong **)((int)ppGVar27 + -0xc),\n                       *(ulonglong **)((int)ppGVar27 + -8));\n          }\n          else {\n            *(Relobj **)puVar5 = *(Relobj **)prelocs;\n            *(undefined4 *)((int)puVar5 + 4) = 0;\n            (local_d0->\n            super__Vector_base<long_long_unsigned_int,_std::allocator<long_long_unsigned_int>_>).\n            _M_impl._M_finish = puVar5 + 1;\n          }\n          dst_id.first = (Relobj *)0x0;\n          *(Section_id **)((int)ppGVar27 + -0xc) = &dst_id;\n          *(Reloc_addend_size_info **)((int)ppGVar27 + -0x10) = local_ec;\n          *(undefined4 *)((int)ppGVar27 + -0x14) = 0xd2753;\n          std::vector<unsigned_int,_std::allocator<unsigned_int>_>::emplace_back<unsigned_int>\n                    (*(vector<unsigned_int,_std::allocator<unsigned_int>_> **)\n                      ((int)ppGVar27 + -0x10),*(uint **)((int)ppGVar27 + -0xc));\n        }\n        puVar26 = ppGVar27;\n        if (bVar23 != 0) goto LAB_000d275e;\n      }" { (expression_statement "p_Var1 = &(pGVar10->section_reloc_map_)._M_t._M_impl.super__Rb_tree_header;" (assignment_expression "p_Var1 = &(pGVar10->section_reloc_map_)._M_t._M_impl.super__Rb_tree_header" identifier = (pointer_expression "&(pGVar10->section_reloc_map_)._M_t._M_impl.super__Rb_tree_header" & (field_expression "(pGVar10->section_reloc_map_)._M_t._M_impl.super__Rb_tree_header" (field_expression "(pGVar10->section_reloc_map_)._M_t._M_impl" (field_expression "(pGVar10->section_reloc_map_)._M_t" (parenthesized_expression "(pGVar10->section_reloc_map_)" ( (field_expression "pGVar10->section_reloc_map_" identifier -> field_identifier) )) . field_identifier) . field_identifier) . field_identifier))) ;) (expression_statement "src_id.first = (Relobj *)object;" (assignment_expression "src_id.first = (Relobj *)object" (field_expression "src_id.first" identifier . field_identifier) = (cast_expression "(Relobj *)object" ( (type_descriptor "Relobj *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "src_id.second = data_shndx;" (assignment_expression "src_id.second = data_shndx" (field_expression "src_id.second" identifier . field_identifier) = identifier) ;) (expression_statement "p_Var8 = (pGVar10->section_reloc_map_)._M_t._M_impl.super__Rb_tree_header._M_header.\n                         _M_parent;" (assignment_expression "p_Var8 = (pGVar10->section_reloc_map_)._M_t._M_impl.super__Rb_tree_header._M_header.\n                         _M_parent" identifier = (field_expression "(pGVar10->section_reloc_map_)._M_t._M_impl.super__Rb_tree_header._M_header.\n                         _M_parent" (field_expression "(pGVar10->section_reloc_map_)._M_t._M_impl.super__Rb_tree_header._M_header" (field_expression "(pGVar10->section_reloc_map_)._M_t._M_impl.super__Rb_tree_header" (field_expression "(pGVar10->section_reloc_map_)._M_t._M_impl" (field_expression "(pGVar10->section_reloc_map_)._M_t" (parenthesized_expression "(pGVar10->section_reloc_map_)" ( (field_expression "pGVar10->section_reloc_map_" identifier -> field_identifier) )) . field_identifier) . field_identifier) . field_identifier) . field_identifier) . field_identifier)) ;) (expression_statement "p_Var20 = &p_Var1->_M_header;" (assignment_expression "p_Var20 = &p_Var1->_M_header" identifier = (pointer_expression "&p_Var1->_M_header" & (field_expression "p_Var1->_M_header" identifier -> field_identifier))) ;) (if_statement "if (p_Var8 == (_Base_ptr)0x0) {\nLAB_000d2bd8:\n                  puVar26[-6] = &local_84;\n                  local_84 = local_b0;\n                  puVar26[-7] = 0xd2bf6;\n                  std::\n                  _Rb_tree<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>,_std::_Select1st<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>_>,_std::less<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>_>_>\n                  ::\n                  _M_emplace_hint_unique<const_std::piecewise_construct_t&,_std::tuple<const_std::pair<gold::Relobj*,_unsigned_int>&>,_std::tuple<>_>\n                            ((_Rb_tree<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>,_std::_Select1st<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>_>,_std::less<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>_>_>\n                              *)puVar26[-6],(_Base_ptr)puVar26[-5],\n                             (tuple<const_std::pair<gold::Relobj*,_unsigned_int>&> *)puVar26[-4],\n                             (tuple<> *)puVar26[-3],(piecewise_construct_t *)puVar26[-2]);\n                  p_Var21 = local_a8;\n                }\n                else {\n                  do {\n                    while ((p_Var21 = (_Rb_tree_header *)p_Var8,\n                           object <= (Sized_relobj_file<32,_false> *)\n                                     ((_Base_ptr)((int)p_Var21 + 0x10))->_M_color &&\n                           ((object != (Sized_relobj_file<32,_false> *)\n                                       ((_Base_ptr)((int)p_Var21 + 0x10))->_M_color ||\n                            (data_shndx <= ((size_t *)((int)p_Var21 + 0x10))[1]))))) {\n                      p_Var8 = (p_Var21->_M_header)._M_left;\n                      p_Var20 = &p_Var21->_M_header;\n                      if ((p_Var21->_M_header)._M_left == (_Base_ptr)0x0) goto LAB_000d2962;\n                    }\n                    pp_Var2 = &(p_Var21->_M_header)._M_right;\n                    p_Var8 = *pp_Var2;\n                    p_Var21 = (_Rb_tree_header *)p_Var20;\n                  } while (*pp_Var2 != (_Base_ptr)0x0);\nLAB_000d2962:\n                  if (((p_Var21 == p_Var1) ||\n                      (object < (Sized_relobj_file<32,_false> *)p_Var21->_M_node_count)) ||\n                     ((object == (Sized_relobj_file<32,_false> *)p_Var21->_M_node_count &&\n                      (data_shndx < *(uint *)(p_Var21 + 1))))) goto LAB_000d2bd8;\n                }\n                ppGVar27 = (General_options **)(puVar26 + -2);\n                puVar26 = puVar26 + -2;\n                for (puVar11 = *(undefined4 **)(puVar13 + 0x30); puVar11 != (undefined4 *)0x0;\n                    puVar11 = (undefined4 *)*puVar11) {\n                  *(undefined4 *)((int)puVar26 + -0xc) = 1;\n                  *(undefined4 *)((int)puVar26 + -0x10) = 0;\n                  *(__node_gen_type **)((int)puVar26 + -0x14) = &__node_gen_1;\n                  *(undefined4 **)((int)puVar26 + -0x18) = puVar11 + 1;\n                  *(int *)((int)puVar26 + -0x1c) = (int)(p_Var21 + 1) + 4;\n                  *(undefined1 **)((int)puVar26 + -0x20) = local_e0;\n                  *(undefined4 *)((int)puVar26 + -0x24) = 0xd29ae;\n                  __node_gen_1._M_h = (__hashtable_alloc *)((int)(p_Var21 + 1) + 4);\n                  std::\n                  _Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>,_std::__detail::_Identity,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                  ::\n                  _M_insert<const_std::pair<gold::Relobj*,_unsigned_int>&,_std::__detail::_AllocNode<std::allocator<std::__detail::_Hash_node<std::pair<gold::Relobj*,_unsigned_int>,_true>_>_>_>\n                            ();\n                  ppGVar27 = (General_options **)((int)puVar26 + -4);\n                  puVar26 = (undefined4 *)((int)puVar26 + -4);\n                }\n              }\n            }\n          }\n        }\n      }\n      else {\n        if (uVar25 < object->local_symbol_count_) {\n          src_id_1.first = (Relobj *)0x0;\nLAB_000d2a1f:\n          *(undefined ***)((int)ppGVar27 + -8) = local_b8 + -0x615ed;\n          *(undefined4 *)((int)ppGVar27 + -0xc) = 0x11c;\n          *(int *)((int)ppGVar27 + -0x10) = (int)local_b8 + -0x19ca36;\n                    /* WARNING: Subroutine does not return */\n          *(undefined4 *)((int)ppGVar27 + -0x14) = 0xd2a40;\n          gold::do_gold_unreachable\n                    (*(char **)((int)ppGVar27 + -0x10),*(int *)((int)ppGVar27 + -0xc),\n                     *(char **)((int)ppGVar27 + -8));\n        }" if (parenthesized_expression "(p_Var8 == (_Base_ptr)0x0)" ( (binary_expression "p_Var8 == (_Base_ptr)0x0" identifier == (cast_expression "(_Base_ptr)0x0" ( (type_descriptor "_Base_ptr" type_identifier) ) number_literal)) )) (compound_statement "{\nLAB_000d2bd8:\n                  puVar26[-6] = &local_84;\n                  local_84 = local_b0;\n                  puVar26[-7] = 0xd2bf6;\n                  std::\n                  _Rb_tree<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>,_std::_Select1st<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>_>,_std::less<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>_>_>\n                  ::\n                  _M_emplace_hint_unique<const_std::piecewise_construct_t&,_std::tuple<const_std::pair<gold::Relobj*,_unsigned_int>&>,_std::tuple<>_>\n                            ((_Rb_tree<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>,_std::_Select1st<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>_>,_std::less<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>_>_>\n                              *)puVar26[-6],(_Base_ptr)puVar26[-5],\n                             (tuple<const_std::pair<gold::Relobj*,_unsigned_int>&> *)puVar26[-4],\n                             (tuple<> *)puVar26[-3],(piecewise_construct_t *)puVar26[-2]);\n                  p_Var21 = local_a8;\n                }\n                else {\n                  do {\n                    while ((p_Var21 = (_Rb_tree_header *)p_Var8,\n                           object <= (Sized_relobj_file<32,_false> *)\n                                     ((_Base_ptr)((int)p_Var21 + 0x10))->_M_color &&\n                           ((object != (Sized_relobj_file<32,_false> *)\n                                       ((_Base_ptr)((int)p_Var21 + 0x10))->_M_color ||\n                            (data_shndx <= ((size_t *)((int)p_Var21 + 0x10))[1]))))) {\n                      p_Var8 = (p_Var21->_M_header)._M_left;\n                      p_Var20 = &p_Var21->_M_header;\n                      if ((p_Var21->_M_header)._M_left == (_Base_ptr)0x0) goto LAB_000d2962;\n                    }\n                    pp_Var2 = &(p_Var21->_M_header)._M_right;\n                    p_Var8 = *pp_Var2;\n                    p_Var21 = (_Rb_tree_header *)p_Var20;\n                  } while (*pp_Var2 != (_Base_ptr)0x0);\nLAB_000d2962:\n                  if (((p_Var21 == p_Var1) ||\n                      (object < (Sized_relobj_file<32,_false> *)p_Var21->_M_node_count)) ||\n                     ((object == (Sized_relobj_file<32,_false> *)p_Var21->_M_node_count &&\n                      (data_shndx < *(uint *)(p_Var21 + 1))))) goto LAB_000d2bd8;\n                }\n                ppGVar27 = (General_options **)(puVar26 + -2);\n                puVar26 = puVar26 + -2;\n                for (puVar11 = *(undefined4 **)(puVar13 + 0x30); puVar11 != (undefined4 *)0x0;\n                    puVar11 = (undefined4 *)*puVar11) {\n                  *(undefined4 *)((int)puVar26 + -0xc) = 1;\n                  *(undefined4 *)((int)puVar26 + -0x10) = 0;\n                  *(__node_gen_type **)((int)puVar26 + -0x14) = &__node_gen_1;\n                  *(undefined4 **)((int)puVar26 + -0x18) = puVar11 + 1;\n                  *(int *)((int)puVar26 + -0x1c) = (int)(p_Var21 + 1) + 4;\n                  *(undefined1 **)((int)puVar26 + -0x20) = local_e0;\n                  *(undefined4 *)((int)puVar26 + -0x24) = 0xd29ae;\n                  __node_gen_1._M_h = (__hashtable_alloc *)((int)(p_Var21 + 1) + 4);\n                  std::\n                  _Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>,_std::__detail::_Identity,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                  ::\n                  _M_insert<const_std::pair<gold::Relobj*,_unsigned_int>&,_std::__detail::_AllocNode<std::allocator<std::__detail::_Hash_node<std::pair<gold::Relobj*,_unsigned_int>,_true>_>_>_>\n                            ();\n                  ppGVar27 = (General_options **)((int)puVar26 + -4);\n                  puVar26 = (undefined4 *)((int)puVar26 + -4);\n                }\n              }\n            }\n          }\n        }\n      }\n      else {\n        if (uVar25 < object->local_symbol_count_) {\n          src_id_1.first = (Relobj *)0x0;\nLAB_000d2a1f:\n          *(undefined ***)((int)ppGVar27 + -8) = local_b8 + -0x615ed;\n          *(undefined4 *)((int)ppGVar27 + -0xc) = 0x11c;\n          *(int *)((int)ppGVar27 + -0x10) = (int)local_b8 + -0x19ca36;\n                    /* WARNING: Subroutine does not return */\n          *(undefined4 *)((int)ppGVar27 + -0x14) = 0xd2a40;\n          gold::do_gold_unreachable\n                    (*(char **)((int)ppGVar27 + -0x10),*(int *)((int)ppGVar27 + -0xc),\n                     *(char **)((int)ppGVar27 + -8));\n        }" { (labeled_statement "LAB_000d2bd8:\n                  puVar26[-6] = &local_84;" statement_identifier : (expression_statement "puVar26[-6] = &local_84;" (assignment_expression "puVar26[-6] = &local_84" (subscript_expression "puVar26[-6]" identifier [ number_literal ]) = (pointer_expression "&local_84" & identifier)) ;)) (expression_statement "local_84 = local_b0;" (assignment_expression "local_84 = local_b0" identifier = identifier) ;) (expression_statement "puVar26[-7] = 0xd2bf6;" (assignment_expression "puVar26[-7] = 0xd2bf6" (subscript_expression "puVar26[-7]" identifier [ number_literal ]) = number_literal) ;) (ERROR "std::\n                  _Rb_tree<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>,_std::_Select1st<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>_>,_std::less<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>_>_>\n                  ::\n                  _M_emplace_hint_unique<const_std::piecewise_construct_t&,_std::tuple<const_std::pair<gold::Relobj*,_unsigned_int>&>,_std::" (comma_expression "std::\n                  _Rb_tree<std::pair<gold::Relobj*,_unsigned_int>,_std" identifier (ERROR "::\n                  _Rb_tree<std::pair<gold::Relobj*,_unsigned_int>" : : (binary_expression "_Rb_tree<std" identifier < identifier) : : (binary_expression "pair<gold" identifier < identifier) : : identifier * , identifier >) , identifier) : : (binary_expression "pair<const_std" identifier < identifier) : : (binary_expression "pair<gold" identifier < identifier) : : (binary_expression "Relobj*,_unsigned_int>,_std" (binary_expression "Relobj*,_unsigned_int" identifier * (ERROR "," ,) identifier) > (ERROR "," ,) identifier) : : (binary_expression "unordered_set<std" identifier < identifier) : : (binary_expression "pair<gold" identifier < identifier) : : (binary_expression "Relobj*,_unsigned_int>,_gold" (binary_expression "Relobj*,_unsigned_int" identifier * (ERROR "," ,) identifier) > (ERROR "," ,) identifier) : : (comma_expression "Section_id_hash,_std" identifier , identifier) : : (binary_expression "equal_to<std" identifier < identifier) : : (binary_expression "pair<gold" identifier < identifier) : : (binary_expression "Relobj*,_unsigned_int>_>,_std" (binary_expression "Relobj*,_unsigned_int>_" (binary_expression "Relobj*,_unsigned_int" identifier * (ERROR "," ,) identifier) > identifier) > (ERROR "," ,) identifier) : : (binary_expression "allocator<std" identifier < identifier) : : (binary_expression "pair<gold" identifier < identifier) : : (binary_expression "Relobj*,_unsigned_int>_>_>_>,_std" (binary_expression "Relobj*,_unsigned_int>_>_>_" (binary_expression "Relobj*,_unsigned_int>_>_" (binary_expression "Relobj*,_unsigned_int>_" (binary_expression "Relobj*,_unsigned_int" identifier * (ERROR "," ,) identifier) > identifier) > identifier) > identifier) > (ERROR "," ,) identifier) : : (binary_expression "_Select1st<std" identifier < identifier) : : (binary_expression "pair<const_std" identifier < identifier) : : (binary_expression "pair<gold" identifier < identifier) : : (binary_expression "Relobj*,_unsigned_int>,_std" (binary_expression "Relobj*,_unsigned_int" identifier * (ERROR "," ,) identifier) > (ERROR "," ,) identifier) : : (binary_expression "unordered_set<std" identifier < identifier) : : (binary_expression "pair<gold" identifier < identifier) : : (binary_expression "Relobj*,_unsigned_int>,_gold" (binary_expression "Relobj*,_unsigned_int" identifier * (ERROR "," ,) identifier) > (ERROR "," ,) identifier) : : (comma_expression "Section_id_hash,_std" identifier , identifier) : : (binary_expression "equal_to<std" identifier < identifier) : : (binary_expression "pair<gold" identifier < identifier) : : (binary_expression "Relobj*,_unsigned_int>_>,_std" (binary_expression "Relobj*,_unsigned_int>_" (binary_expression "Relobj*,_unsigned_int" identifier * (ERROR "," ,) identifier) > identifier) > (ERROR "," ,) identifier) : : (binary_expression "allocator<std" identifier < identifier) : : (binary_expression "pair<gold" identifier < identifier) : : (binary_expression "Relobj*,_unsigned_int>_>_>_>_>,_std" (binary_expression "Relobj*,_unsigned_int>_>_>_>_" (binary_expression "Relobj*,_unsigned_int>_>_>_" (binary_expression "Relobj*,_unsigned_int>_>_" (binary_expression "Relobj*,_unsigned_int>_" (binary_expression "Relobj*,_unsigned_int" identifier * (ERROR "," ,) identifier) > identifier) > identifier) > identifier) > identifier) > (ERROR "," ,) identifier) : : (binary_expression "less<std" identifier < identifier) : : (binary_expression "pair<gold" identifier < identifier) : : (binary_expression "Relobj*,_unsigned_int>_>,_std" (binary_expression "Relobj*,_unsigned_int>_" (binary_expression "Relobj*,_unsigned_int" identifier * (ERROR "," ,) identifier) > identifier) > (ERROR "," ,) identifier) : : (binary_expression "allocator<std" identifier < identifier) : : (binary_expression "pair<const_std" identifier < identifier) : : (binary_expression "pair<gold" identifier < identifier) : : (binary_expression "Relobj*,_unsigned_int>,_std" (binary_expression "Relobj*,_unsigned_int" identifier * (ERROR "," ,) identifier) > (ERROR "," ,) identifier) : : (binary_expression "unordered_set<std" identifier < identifier) : : (binary_expression "pair<gold" identifier < identifier) : : (binary_expression "Relobj*,_unsigned_int>,_gold" (binary_expression "Relobj*,_unsigned_int" identifier * (ERROR "," ,) identifier) > (ERROR "," ,) identifier) : : (comma_expression "Section_id_hash,_std" identifier , identifier) : : (binary_expression "equal_to<std" identifier < identifier) : : (binary_expression "pair<gold" identifier < identifier) : : (binary_expression "Relobj*,_unsigned_int>_>,_std" (binary_expression "Relobj*,_unsigned_int>_" (binary_expression "Relobj*,_unsigned_int" identifier * (ERROR "," ,) identifier) > identifier) > (ERROR "," ,) identifier) : : (binary_expression "allocator<std" identifier < identifier) : : (binary_expression "pair<gold" identifier < identifier) : : (binary_expression "Relobj*,_unsigned_int>_>_>_>_>_>\n                  ::\n                  _M_emplace_hint_unique<const_std" (binary_expression "Relobj*,_unsigned_int>_>_>_>_>_>\n                  ::\n                  _M_emplace_hint_unique" (binary_expression "Relobj*,_unsigned_int>_>_>_>_>_" (binary_expression "Relobj*,_unsigned_int>_>_>_>_" (binary_expression "Relobj*,_unsigned_int>_>_>_" (binary_expression "Relobj*,_unsigned_int>_>_" (binary_expression "Relobj*,_unsigned_int>_" (binary_expression "Relobj*,_unsigned_int" identifier * (ERROR "," ,) identifier) > identifier) > identifier) > identifier) > identifier) > identifier) > (ERROR "::" : :) identifier) < identifier) : : (binary_expression "piecewise_construct_t&,_std" identifier & (ERROR "," ,) identifier) : : (binary_expression "tuple<const_std" identifier < identifier) : : (binary_expression "pair<gold" identifier < identifier) : : (binary_expression "Relobj*,_unsigned_int>&>,_std" (binary_expression "Relobj*,_unsigned_int" identifier * (ERROR "," ,) identifier) > (pointer_expression "&>,_std" & (ERROR ">," > ,) identifier)) : :) (expression_statement "tuple<>_>\n                            ((_Rb_tree<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>,_std::_Select1st<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>_>,_std::less<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>_>_>\n                              *)puVar26[-6],(_Base_ptr)puVar26[-5],\n                             (tuple<const_std::pair<gold::Relobj*,_unsigned_int>&> *)puVar26[-4],\n                             (tuple<> *)puVar26[-3],(piecewise_construct_t *)puVar26[-2]);\n                  p_Var21 = local_a8;\n                }\n                else {\n                  do {\n                    while ((p_Var21 = (_Rb_tree_header *)p_Var8,\n                           object <= (Sized_relobj_file<32,_false> *)\n                                     ((_Base_ptr)((int)p_Var21 + 0x10))->_M_color &&\n                           ((object != (Sized_relobj_file<32,_false> *)\n                                       ((_Base_ptr)((int)p_Var21 + 0x10))->_M_color ||\n                            (data_shndx <= ((size_t *)((int)p_Var21 + 0x10))[1]))))) {\n                      p_Var8 = (p_Var21->_M_header)._M_left;\n                      p_Var20 = &p_Var21->_M_header;\n                      if ((p_Var21->_M_header)._M_left == (_Base_ptr)0x0) goto LAB_000d2962;\n                    }\n                    pp_Var2 = &(p_Var21->_M_header)._M_right;\n                    p_Var8 = *pp_Var2;\n                    p_Var21 = (_Rb_tree_header *)p_Var20;\n                  } while (*pp_Var2 != (_Base_ptr)0x0);\nLAB_000d2962:\n                  if (((p_Var21 == p_Var1) ||\n                      (object < (Sized_relobj_file<32,_false> *)p_Var21->_M_node_count)) ||\n                     ((object == (Sized_relobj_file<32,_false> *)p_Var21->_M_node_count &&\n                      (data_shndx < *(uint *)(p_Var21 + 1))))) goto LAB_000d2bd8;\n                }\n                ppGVar27 = (General_options **)(puVar26 + -2);\n                puVar26 = puVar26 + -2;\n                for (puVar11 = *(undefined4 **)(puVar13 + 0x30); puVar11 != (undefined4 *)0x0;\n                    puVar11 = (undefined4 *)*puVar11) {\n                  *(undefined4 *)((int)puVar26 + -0xc) = 1;\n                  *(undefined4 *)((int)puVar26 + -0x10) = 0;\n                  *(__node_gen_type **)((int)puVar26 + -0x14) = &__node_gen_1;\n                  *(undefined4 **)((int)puVar26 + -0x18) = puVar11 + 1;\n                  *(int *)((int)puVar26 + -0x1c) = (int)(p_Var21 + 1) + 4;\n                  *(undefined1 **)((int)puVar26 + -0x20) = local_e0;\n                  *(undefined4 *)((int)puVar26 + -0x24) = 0xd29ae;\n                  __node_gen_1._M_h = (__hashtable_alloc *)((int)(p_Var21 + 1) + 4);\n                  std::\n                  _Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>,_std::__detail::_Identity,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                  ::\n                  _M_insert<const_std::pair<gold::Relobj*,_unsigned_int>&,_std::__detail::_AllocNode<std::allocator<std::__detail::_Hash_node<std::pair<gold::Relobj*,_unsigned_int>,_true>_>_>_>\n                            ();\n                  ppGVar27 = (General_options **)((int)puVar26 + -4);\n                  puVar26 = (undefined4 *)((int)puVar26 + -4);\n                }\n              }\n            }\n          }\n        }\n      }\n      else {\n        if (uVar25 < object->local_symbol_count_) {\n          src_id_1.first = (Relobj *)0x0;\nLAB_000d2a1f:\n          *(undefined ***)((int)ppGVar27 + -8) = local_b8 + -0x615ed;" (binary_expression "tuple<>_>\n                            ((_Rb_tree<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>,_std::_Select1st<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>_>,_std::less<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>_>_>\n                              *)puVar26[-6],(_Base_ptr)puVar26[-5],\n                             (tuple<const_std::pair<gold::Relobj*,_unsigned_int>&> *)puVar26[-4],\n                             (tuple<> *)puVar26[-3],(piecewise_construct_t *)puVar26[-2]);\n                  p_Var21 = local_a8;\n                }\n                else {\n                  do {\n                    while ((p_Var21 = (_Rb_tree_header *)p_Var8,\n                           object <= (Sized_relobj_file<32,_false> *)\n                                     ((_Base_ptr)((int)p_Var21 + 0x10))->_M_color &&\n                           ((object != (Sized_relobj_file<32,_false> *)\n                                       ((_Base_ptr)((int)p_Var21 + 0x10))->_M_color ||\n                            (data_shndx <= ((size_t *)((int)p_Var21 + 0x10))[1]))))) {\n                      p_Var8 = (p_Var21->_M_header)._M_left;\n                      p_Var20 = &p_Var21->_M_header;\n                      if ((p_Var21->_M_header)._M_left == (_Base_ptr)0x0) goto LAB_000d2962;\n                    }\n                    pp_Var2 = &(p_Var21->_M_header)._M_right;\n                    p_Var8 = *pp_Var2;\n                    p_Var21 = (_Rb_tree_header *)p_Var20;\n                  } while (*pp_Var2 != (_Base_ptr)0x0);\nLAB_000d2962:\n                  if (((p_Var21 == p_Var1) ||\n                      (object < (Sized_relobj_file<32,_false> *)p_Var21->_M_node_count)) ||\n                     ((object == (Sized_relobj_file<32,_false> *)p_Var21->_M_node_count &&\n                      (data_shndx < *(uint *)(p_Var21 + 1))))) goto LAB_000d2bd8;\n                }\n                ppGVar27 = (General_options **)(puVar26 + -2);\n                puVar26 = puVar26 + -2;\n                for (puVar11 = *(undefined4 **)(puVar13 + 0x30); puVar11 != (undefined4 *)0x0;\n                    puVar11 = (undefined4 *)*puVar11) {\n                  *(undefined4 *)((int)puVar26 + -0xc) = 1;\n                  *(undefined4 *)((int)puVar26 + -0x10) = 0;\n                  *(__node_gen_type **)((int)puVar26 + -0x14) = &__node_gen_1;\n                  *(undefined4 **)((int)puVar26 + -0x18) = puVar11 + 1;\n                  *(int *)((int)puVar26 + -0x1c) = (int)(p_Var21 + 1) + 4;\n                  *(undefined1 **)((int)puVar26 + -0x20) = local_e0;\n                  *(undefined4 *)((int)puVar26 + -0x24) = 0xd29ae;\n                  __node_gen_1._M_h = (__hashtable_alloc *)((int)(p_Var21 + 1) + 4);\n                  std::\n                  _Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>,_std::__detail::_Identity,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                  ::\n                  _M_insert<const_std::pair<gold::Relobj*,_unsigned_int>&,_std::__detail::_AllocNode<std::allocator<std::__detail::_Hash_node<std::pair<gold::Relobj*,_unsigned_int>,_true>_>_>_>\n                            ();\n                  ppGVar27 = (General_options **)((int)puVar26 + -4);\n                  puVar26 = (undefined4 *)((int)puVar26 + -4);\n                }\n              }\n            }\n          }\n        }\n      }\n      else {\n        if (uVar25 < object->local_symbol_count_) {\n          src_id_1.first = (Relobj *)0x0;\nLAB_000d2a1f:\n          *(undefined ***)((int)ppGVar27 + -8) = local_b8 + -0x615ed" (binary_expression "tuple<>_" identifier < (ERROR ">" >) identifier) > (parenthesized_expression "((_Rb_tree<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>,_std::_Select1st<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>_>,_std::less<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>_>_>\n                              *)puVar26[-6],(_Base_ptr)puVar26[-5],\n                             (tuple<const_std::pair<gold::Relobj*,_unsigned_int>&> *)puVar26[-4],\n                             (tuple<> *)puVar26[-3],(piecewise_construct_t *)puVar26[-2]);\n                  p_Var21 = local_a8;\n                }\n                else {\n                  do {\n                    while ((p_Var21 = (_Rb_tree_header *)p_Var8,\n                           object <= (Sized_relobj_file<32,_false> *)\n                                     ((_Base_ptr)((int)p_Var21 + 0x10))->_M_color &&\n                           ((object != (Sized_relobj_file<32,_false> *)\n                                       ((_Base_ptr)((int)p_Var21 + 0x10))->_M_color ||\n                            (data_shndx <= ((size_t *)((int)p_Var21 + 0x10))[1]))))) {\n                      p_Var8 = (p_Var21->_M_header)._M_left;\n                      p_Var20 = &p_Var21->_M_header;\n                      if ((p_Var21->_M_header)._M_left == (_Base_ptr)0x0) goto LAB_000d2962;\n                    }\n                    pp_Var2 = &(p_Var21->_M_header)._M_right;\n                    p_Var8 = *pp_Var2;\n                    p_Var21 = (_Rb_tree_header *)p_Var20;\n                  } while (*pp_Var2 != (_Base_ptr)0x0);\nLAB_000d2962:\n                  if (((p_Var21 == p_Var1) ||\n                      (object < (Sized_relobj_file<32,_false> *)p_Var21->_M_node_count)) ||\n                     ((object == (Sized_relobj_file<32,_false> *)p_Var21->_M_node_count &&\n                      (data_shndx < *(uint *)(p_Var21 + 1))))) goto LAB_000d2bd8;\n                }\n                ppGVar27 = (General_options **)(puVar26 + -2);\n                puVar26 = puVar26 + -2;\n                for (puVar11 = *(undefined4 **)(puVar13 + 0x30); puVar11 != (undefined4 *)0x0;\n                    puVar11 = (undefined4 *)*puVar11) {\n                  *(undefined4 *)((int)puVar26 + -0xc) = 1;\n                  *(undefined4 *)((int)puVar26 + -0x10) = 0;\n                  *(__node_gen_type **)((int)puVar26 + -0x14) = &__node_gen_1;\n                  *(undefined4 **)((int)puVar26 + -0x18) = puVar11 + 1;\n                  *(int *)((int)puVar26 + -0x1c) = (int)(p_Var21 + 1) + 4;\n                  *(undefined1 **)((int)puVar26 + -0x20) = local_e0;\n                  *(undefined4 *)((int)puVar26 + -0x24) = 0xd29ae;\n                  __node_gen_1._M_h = (__hashtable_alloc *)((int)(p_Var21 + 1) + 4);\n                  std::\n                  _Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>,_std::__detail::_Identity,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                  ::\n                  _M_insert<const_std::pair<gold::Relobj*,_unsigned_int>&,_std::__detail::_AllocNode<std::allocator<std::__detail::_Hash_node<std::pair<gold::Relobj*,_unsigned_int>,_true>_>_>_>\n                            ();\n                  ppGVar27 = (General_options **)((int)puVar26 + -4);\n                  puVar26 = (undefined4 *)((int)puVar26 + -4);\n                }\n              }\n            }\n          }\n        }\n      }\n      else {\n        if (uVar25 < object->local_symbol_count_) {\n          src_id_1.first = (Relobj *)0x0;\nLAB_000d2a1f:\n          *(undefined ***)((int)ppGVar27 + -8) = local_b8 + -0x615ed" ( (assignment_expression "(_Rb_tree<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>,_std::_Select1st<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>_>,_std::less<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>_>_>\n                              *)puVar26[-6],(_Base_ptr)puVar26[-5],\n                             (tuple<const_std::pair<gold::Relobj*,_unsigned_int>&> *)puVar26[-4],\n                             (tuple<> *)puVar26[-3],(piecewise_construct_t *)puVar26[-2]);\n                  p_Var21 = local_a8;\n                }\n                else {\n                  do {\n                    while ((p_Var21 = (_Rb_tree_header *)p_Var8,\n                           object <= (Sized_relobj_file<32,_false> *)\n                                     ((_Base_ptr)((int)p_Var21 + 0x10))->_M_color &&\n                           ((object != (Sized_relobj_file<32,_false> *)\n                                       ((_Base_ptr)((int)p_Var21 + 0x10))->_M_color ||\n                            (data_shndx <= ((size_t *)((int)p_Var21 + 0x10))[1]))))) {\n                      p_Var8 = (p_Var21->_M_header)._M_left;\n                      p_Var20 = &p_Var21->_M_header;\n                      if ((p_Var21->_M_header)._M_left == (_Base_ptr)0x0) goto LAB_000d2962;\n                    }\n                    pp_Var2 = &(p_Var21->_M_header)._M_right;\n                    p_Var8 = *pp_Var2;\n                    p_Var21 = (_Rb_tree_header *)p_Var20;\n                  } while (*pp_Var2 != (_Base_ptr)0x0);\nLAB_000d2962:\n                  if (((p_Var21 == p_Var1) ||\n                      (object < (Sized_relobj_file<32,_false> *)p_Var21->_M_node_count)) ||\n                     ((object == (Sized_relobj_file<32,_false> *)p_Var21->_M_node_count &&\n                      (data_shndx < *(uint *)(p_Var21 + 1))))) goto LAB_000d2bd8;\n                }\n                ppGVar27 = (General_options **)(puVar26 + -2);\n                puVar26 = puVar26 + -2;\n                for (puVar11 = *(undefined4 **)(puVar13 + 0x30); puVar11 != (undefined4 *)0x0;\n                    puVar11 = (undefined4 *)*puVar11) {\n                  *(undefined4 *)((int)puVar26 + -0xc) = 1;\n                  *(undefined4 *)((int)puVar26 + -0x10) = 0;\n                  *(__node_gen_type **)((int)puVar26 + -0x14) = &__node_gen_1;\n                  *(undefined4 **)((int)puVar26 + -0x18) = puVar11 + 1;\n                  *(int *)((int)puVar26 + -0x1c) = (int)(p_Var21 + 1) + 4;\n                  *(undefined1 **)((int)puVar26 + -0x20) = local_e0;\n                  *(undefined4 *)((int)puVar26 + -0x24) = 0xd29ae;\n                  __node_gen_1._M_h = (__hashtable_alloc *)((int)(p_Var21 + 1) + 4);\n                  std::\n                  _Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>,_std::__detail::_Identity,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                  ::\n                  _M_insert<const_std::pair<gold::Relobj*,_unsigned_int>&,_std::__detail::_AllocNode<std::allocator<std::__detail::_Hash_node<std::pair<gold::Relobj*,_unsigned_int>,_true>_>_>_>\n                            ();\n                  ppGVar27 = (General_options **)((int)puVar26 + -4);\n                  puVar26 = (undefined4 *)((int)puVar26 + -4);\n                }\n              }\n            }\n          }\n        }\n      }\n      else {\n        if (uVar25 < object->local_symbol_count_) {\n          src_id_1.first = (Relobj *)0x0;\nLAB_000d2a1f:\n          *(undefined ***)((int)ppGVar27 + -8) = local_b8 + -0x615ed" (call_expression "(_Rb_tree<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>,_std::_Select1st<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>_>,_std::less<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>_>_>\n                              *)puVar26[-6],(_Base_ptr)puVar26[-5],\n                             (tuple<const_std::pair<gold::Relobj*,_unsigned_int>&> *)puVar26[-4],\n                             (tuple<> *)puVar26[-3],(piecewise_construct_t *)puVar26[-2]);\n                  p_Var21 = local_a8;\n                }\n                else {\n                  do {\n                    while ((p_Var21 = (_Rb_tree_header *)p_Var8,\n                           object <= (Sized_relobj_file<32,_false> *)\n                                     ((_Base_ptr)((int)p_Var21 + 0x10))->_M_color &&\n                           ((object != (Sized_relobj_file<32,_false> *)\n                                       ((_Base_ptr)((int)p_Var21 + 0x10))->_M_color ||\n                            (data_shndx <= ((size_t *)((int)p_Var21 + 0x10))[1]))))) {\n                      p_Var8 = (p_Var21->_M_header)._M_left;\n                      p_Var20 = &p_Var21->_M_header;\n                      if ((p_Var21->_M_header)._M_left == (_Base_ptr)0x0) goto LAB_000d2962;\n                    }\n                    pp_Var2 = &(p_Var21->_M_header)._M_right;\n                    p_Var8 = *pp_Var2;\n                    p_Var21 = (_Rb_tree_header *)p_Var20;\n                  } while (*pp_Var2 != (_Base_ptr)0x0);\nLAB_000d2962:\n                  if (((p_Var21 == p_Var1) ||\n                      (object < (Sized_relobj_file<32,_false> *)p_Var21->_M_node_count)) ||\n                     ((object == (Sized_relobj_file<32,_false> *)p_Var21->_M_node_count &&\n                      (data_shndx < *(uint *)(p_Var21 + 1))))) goto LAB_000d2bd8;\n                }\n                ppGVar27 = (General_options **)(puVar26 + -2);\n                puVar26 = puVar26 + -2;\n                for (puVar11 = *(undefined4 **)(puVar13 + 0x30); puVar11 != (undefined4 *)0x0;\n                    puVar11 = (undefined4 *)*puVar11) {\n                  *(undefined4 *)((int)puVar26 + -0xc) = 1;\n                  *(undefined4 *)((int)puVar26 + -0x10) = 0;\n                  *(__node_gen_type **)((int)puVar26 + -0x14) = &__node_gen_1;\n                  *(undefined4 **)((int)puVar26 + -0x18) = puVar11 + 1;\n                  *(int *)((int)puVar26 + -0x1c) = (int)(p_Var21 + 1) + 4;\n                  *(undefined1 **)((int)puVar26 + -0x20) = local_e0;\n                  *(undefined4 *)((int)puVar26 + -0x24) = 0xd29ae;\n                  __node_gen_1._M_h = (__hashtable_alloc *)((int)(p_Var21 + 1) + 4);\n                  std::\n                  _Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>,_std::__detail::_Identity,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                  ::\n                  _M_insert<const_std::pair<gold::Relobj*,_unsigned_int>&,_std::__detail::_AllocNode<std::allocator<std::__detail::_Hash_node<std::pair<gold::Relobj*,_unsigned_int>,_true>_>_>_>\n                            ();\n                  ppGVar27 = (General_options **)((int)puVar26 + -4);\n                  puVar26 = (undefined4 *)((int)puVar26 + -4);\n                }\n              }\n            }\n          }\n        }\n      }\n      else {\n        if (uVar25 < object->local_symbol_count_) {\n          src_id_1.first = (Relobj *)0x0;\nLAB_000d2a1f:\n          *(undefined ***)((int)ppGVar27 + -8)" (parenthesized_expression "(_Rb_tree<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>,_std::_Select1st<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>_>,_std::less<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>_>_>\n                              *)puVar26[-6],(_Base_ptr)puVar26[-5],\n                             (tuple<const_std::pair<gold::Relobj*,_unsigned_int>&> *)puVar26[-4],\n                             (tuple<> *)puVar26[-3],(piecewise_construct_t *)puVar26[-2]);\n                  p_Var21 = local_a8;\n                }\n                else {\n                  do {\n                    while ((p_Var21 = (_Rb_tree_header *)p_Var8,\n                           object <= (Sized_relobj_file<32,_false> *)\n                                     ((_Base_ptr)((int)p_Var21 + 0x10))->_M_color &&\n                           ((object != (Sized_relobj_file<32,_false> *)\n                                       ((_Base_ptr)((int)p_Var21 + 0x10))->_M_color ||\n                            (data_shndx <= ((size_t *)((int)p_Var21 + 0x10))[1]))))) {\n                      p_Var8 = (p_Var21->_M_header)._M_left;\n                      p_Var20 = &p_Var21->_M_header;\n                      if ((p_Var21->_M_header)._M_left == (_Base_ptr)0x0) goto LAB_000d2962;\n                    }\n                    pp_Var2 = &(p_Var21->_M_header)._M_right;\n                    p_Var8 = *pp_Var2;\n                    p_Var21 = (_Rb_tree_header *)p_Var20;\n                  } while (*pp_Var2 != (_Base_ptr)0x0);\nLAB_000d2962:\n                  if (((p_Var21 == p_Var1) ||\n                      (object < (Sized_relobj_file<32,_false> *)p_Var21->_M_node_count)) ||\n                     ((object == (Sized_relobj_file<32,_false> *)p_Var21->_M_node_count &&\n                      (data_shndx < *(uint *)(p_Var21 + 1))))) goto LAB_000d2bd8;\n                }\n                ppGVar27 = (General_options **)(puVar26 + -2);\n                puVar26 = puVar26 + -2;\n                for (puVar11 = *(undefined4 **)(puVar13 + 0x30); puVar11 != (undefined4 *)0x0;\n                    puVar11 = (undefined4 *)*puVar11) {\n                  *(undefined4 *)((int)puVar26 + -0xc) = 1;\n                  *(undefined4 *)((int)puVar26 + -0x10) = 0;\n                  *(__node_gen_type **)((int)puVar26 + -0x14) = &__node_gen_1;\n                  *(undefined4 **)((int)puVar26 + -0x18) = puVar11 + 1;\n                  *(int *)((int)puVar26 + -0x1c) = (int)(p_Var21 + 1) + 4;\n                  *(undefined1 **)((int)puVar26 + -0x20) = local_e0;\n                  *(undefined4 *)((int)puVar26 + -0x24) = 0xd29ae;\n                  __node_gen_1._M_h = (__hashtable_alloc *)((int)(p_Var21 + 1) + 4);\n                  std::\n                  _Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>,_std::__detail::_Identity,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                  ::\n                  _M_insert<const_std::pair<gold::Relobj*,_unsigned_int>&,_std::__detail::_AllocNode<std::allocator<std::__detail::_Hash_node<std::pair<gold::Relobj*,_unsigned_int>,_true>_>_>_>\n                            ();\n                  ppGVar27 = (General_options **)((int)puVar26 + -4);\n                  puVar26 = (undefined4 *)((int)puVar26 + -4);\n                }\n              }\n            }\n          }\n        }\n      }\n      else {\n        if (uVar25 < object->local_symbol_count_) {\n          src_id_1.first = (Relobj *)0x0;\nLAB_000d2a1f:\n          *(undefined ***)" ( (ERROR "_Rb_tree<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>,_std::_Select1st<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>_>,_std::less<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*," (comma_expression "_Rb_tree<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std" (binary_expression "_Rb_tree<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold" (binary_expression "_Rb_tree<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int" (binary_expression "_Rb_tree<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_std::unordered_set<std::pair<gold" (binary_expression "_Rb_tree<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_std::unordered_set<std" (binary_expression "_Rb_tree<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_std" (binary_expression "_Rb_tree<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<const_std::pair<gold::Relobj*,_unsigned_int" (binary_expression "_Rb_tree<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<const_std::pair<gold" (binary_expression "_Rb_tree<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<const_std" (binary_expression "_Rb_tree<std::pair<gold::Relobj*,_unsigned_int>,_std" (binary_expression "_Rb_tree<std::pair<gold::Relobj*,_unsigned_int" (binary_expression "_Rb_tree<std::pair<gold" (binary_expression "_Rb_tree<std" identifier < identifier) (ERROR "::pair" : : identifier) < identifier) (ERROR "::Relobj" : : identifier) * (ERROR "," ,) identifier) > (ERROR "," ,) identifier) (ERROR "::pair" : : identifier) < identifier) (ERROR "::pair" : : identifier) < identifier) (ERROR "::Relobj" : : identifier) * (ERROR "," ,) identifier) > (ERROR "," ,) identifier) (ERROR "::unordered_set" : : identifier) < identifier) (ERROR "::pair" : : identifier) < identifier) (ERROR "::Relobj" : : identifier) * (ERROR "," ,) identifier) > (ERROR "," ,) identifier) (ERROR "::Section_id_hash" : : identifier) , identifier) : : (binary_expression "equal_to<std" identifier < identifier) : : (binary_expression "pair<gold" identifier < identifier) : : (type_descriptor "Relobj*" type_identifier (abstract_pointer_declarator "*" *)) , (binary_expression "_unsigned_int>_>,_std" (binary_expression "_unsigned_int>_" identifier > identifier) > (ERROR "," ,) identifier) : : (binary_expression "allocator<std" identifier < identifier) : : (binary_expression "pair<gold" identifier < identifier) : : (type_descriptor "Relobj*" type_identifier (abstract_pointer_declarator "*" *)) , (binary_expression "_unsigned_int>_>_>_>,_std" (binary_expression "_unsigned_int>_>_>_" (binary_expression "_unsigned_int>_>_" (binary_expression "_unsigned_int>_" identifier > identifier) > identifier) > identifier) > (ERROR "," ,) identifier) : : (binary_expression "_Select1st<std" identifier < identifier) : : (binary_expression "pair<const_std" identifier < identifier) : : (binary_expression "pair<gold" identifier < identifier) : : (type_descriptor "Relobj*" type_identifier (abstract_pointer_declarator "*" *)) , (binary_expression "_unsigned_int>,_std" identifier > (ERROR "," ,) identifier) : : (binary_expression "unordered_set<std" identifier < identifier) : : (binary_expression "pair<gold" identifier < identifier) : : (type_descriptor "Relobj*" type_identifier (abstract_pointer_declarator "*" *)) , (binary_expression "_unsigned_int>,_gold" identifier > (ERROR "," ,) identifier) : : (comma_expression "Section_id_hash,_std" identifier , identifier) : : (binary_expression "equal_to<std" identifier < identifier) : : (binary_expression "pair<gold" identifier < identifier) : : (type_descriptor "Relobj*" type_identifier (abstract_pointer_declarator "*" *)) , (binary_expression "_unsigned_int>_>,_std" (binary_expression "_unsigned_int>_" identifier > identifier) > (ERROR "," ,) identifier) : : (binary_expression "allocator<std" identifier < identifier) : : (binary_expression "pair<gold" identifier < identifier) : : (type_descriptor "Relobj*" type_identifier (abstract_pointer_declarator "*" *)) , (binary_expression "_unsigned_int>_>_>_>_>,_std" (binary_expression "_unsigned_int>_>_>_>_" (binary_expression "_unsigned_int>_>_>_" (binary_expression "_unsigned_int>_>_" (binary_expression "_unsigned_int>_" identifier > identifier) > identifier) > identifier) > identifier) > (ERROR "," ,) identifier) : : (binary_expression "less<std" identifier < identifier) : : (binary_expression "pair<gold" identifier < identifier) : : (type_descriptor "Relobj*" type_identifier (abstract_pointer_declarator "*" *)) , (binary_expression "_unsigned_int>_>,_std" (binary_expression "_unsigned_int>_" identifier > identifier) > (ERROR "," ,) identifier) : : (binary_expression "allocator<std" identifier < identifier) : : (binary_expression "pair<const_std" identifier < identifier) : : (binary_expression "pair<gold" identifier < identifier) : : (type_descriptor "Relobj*" type_identifier (abstract_pointer_declarator "*" *)) , (binary_expression "_unsigned_int>,_std" identifier > (ERROR "," ,) identifier) : : (binary_expression "unordered_set<std" identifier < identifier) : : (binary_expression "pair<gold" identifier < identifier) : : (type_descriptor "Relobj*" type_identifier (abstract_pointer_declarator "*" *)) , (binary_expression "_unsigned_int>,_gold" identifier > (ERROR "," ,) identifier) : : (comma_expression "Section_id_hash,_std" identifier , identifier) : : (binary_expression "equal_to<std" identifier < identifier) : : (binary_expression "pair<gold" identifier < identifier) : : (type_descriptor "Relobj*" type_identifier (abstract_pointer_declarator "*" *)) , (binary_expression "_unsigned_int>_>,_std" (binary_expression "_unsigned_int>_" identifier > identifier) > (ERROR "," ,) identifier) : : (binary_expression "allocator<std" identifier < identifier) : : (binary_expression "pair<gold" identifier < identifier) : : (type_descriptor "Relobj*" type_identifier (abstract_pointer_declarator "*" *)) ,) (comma_expression "_unsigned_int>_>_>_>_>_>\n                              *)puVar26[-6],(_Base_ptr)puVar26[-5],\n                             (tuple<const_std::pair<gold::Relobj*,_unsigned_int>&> *)puVar26[-4],\n                             (tuple<> *)puVar26[-3],(piecewise_construct_t *)puVar26[-2]);\n                  p_Var21 = local_a8;\n                }\n                else {\n                  do {\n                    while ((p_Var21 = (_Rb_tree_header *)p_Var8,\n                           object <= (Sized_relobj_file<32,_false> *)\n                                     ((_Base_ptr)((int)p_Var21 + 0x10))->_M_color &&\n                           ((object != (Sized_relobj_file<32,_false> *)\n                                       ((_Base_ptr)((int)p_Var21 + 0x10))->_M_color ||\n                            (data_shndx <= ((size_t *)((int)p_Var21 + 0x10))[1]))))) {\n                      p_Var8 = (p_Var21->_M_header)._M_left;\n                      p_Var20 = &p_Var21->_M_header;\n                      if ((p_Var21->_M_header)._M_left == (_Base_ptr)0x0) goto LAB_000d2962;\n                    }\n                    pp_Var2 = &(p_Var21->_M_header)._M_right;\n                    p_Var8 = *pp_Var2;\n                    p_Var21 = (_Rb_tree_header *)p_Var20;\n                  } while (*pp_Var2 != (_Base_ptr)0x0);\nLAB_000d2962:\n                  if (((p_Var21 == p_Var1) ||\n                      (object < (Sized_relobj_file<32,_false> *)p_Var21->_M_node_count)) ||\n                     ((object == (Sized_relobj_file<32,_false> *)p_Var21->_M_node_count &&\n                      (data_shndx < *(uint *)(p_Var21 + 1))))) goto LAB_000d2bd8;\n                }\n                ppGVar27 = (General_options **)(puVar26 + -2);\n                puVar26 = puVar26 + -2;\n                for (puVar11 = *(undefined4 **)(puVar13 + 0x30); puVar11 != (undefined4 *)0x0;\n                    puVar11 = (undefined4 *)*puVar11) {\n                  *(undefined4 *)((int)puVar26 + -0xc) = 1;\n                  *(undefined4 *)((int)puVar26 + -0x10) = 0;\n                  *(__node_gen_type **)((int)puVar26 + -0x14) = &__node_gen_1;\n                  *(undefined4 **)((int)puVar26 + -0x18) = puVar11 + 1;\n                  *(int *)((int)puVar26 + -0x1c) = (int)(p_Var21 + 1) + 4;\n                  *(undefined1 **)((int)puVar26 + -0x20) = local_e0;\n                  *(undefined4 *)((int)puVar26 + -0x24) = 0xd29ae;\n                  __node_gen_1._M_h = (__hashtable_alloc *)((int)(p_Var21 + 1) + 4);\n                  std::\n                  _Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>,_std::__detail::_Identity,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                  ::\n                  _M_insert<const_std::pair<gold::Relobj*,_unsigned_int>&,_std::__detail::_AllocNode<std::allocator<std::__detail::_Hash_node<std::pair<gold::Relobj*,_unsigned_int>,_true>_>_>_>\n                            ();\n                  ppGVar27 = (General_options **)((int)puVar26 + -4);\n                  puVar26 = (undefined4 *)((int)puVar26 + -4);\n                }\n              }\n            }\n          }\n        }\n      }\n      else {\n        if (uVar25 < object->local_symbol_count_) {\n          src_id_1.first = (Relobj *)0x0" (binary_expression "_unsigned_int>_>_>_>_>_>\n                              *)puVar26[-6]" (binary_expression "_unsigned_int>_>_>_>_>_" (binary_expression "_unsigned_int>_>_>_>_" (binary_expression "_unsigned_int>_>_>_" (binary_expression "_unsigned_int>_>_" (binary_expression "_unsigned_int>_" identifier > identifier) > identifier) > identifier) > identifier) > identifier) > (pointer_expression "*)puVar26[-6]" * (ERROR ")" )) (subscript_expression "puVar26[-6]" identifier [ number_literal ]))) , (comma_expression "(_Base_ptr)puVar26[-5],\n                             (tuple<const_std::pair<gold::Relobj*,_unsigned_int>&> *)puVar26[-4],\n                             (tuple<> *)puVar26[-3],(piecewise_construct_t *)puVar26[-2]);\n                  p_Var21 = local_a8;\n                }\n                else {\n                  do {\n                    while ((p_Var21 = (_Rb_tree_header *)p_Var8,\n                           object <= (Sized_relobj_file<32,_false> *)\n                                     ((_Base_ptr)((int)p_Var21 + 0x10))->_M_color &&\n                           ((object != (Sized_relobj_file<32,_false> *)\n                                       ((_Base_ptr)((int)p_Var21 + 0x10))->_M_color ||\n                            (data_shndx <= ((size_t *)((int)p_Var21 + 0x10))[1]))))) {\n                      p_Var8 = (p_Var21->_M_header)._M_left;\n                      p_Var20 = &p_Var21->_M_header;\n                      if ((p_Var21->_M_header)._M_left == (_Base_ptr)0x0) goto LAB_000d2962;\n                    }\n                    pp_Var2 = &(p_Var21->_M_header)._M_right;\n                    p_Var8 = *pp_Var2;\n                    p_Var21 = (_Rb_tree_header *)p_Var20;\n                  } while (*pp_Var2 != (_Base_ptr)0x0);\nLAB_000d2962:\n                  if (((p_Var21 == p_Var1) ||\n                      (object < (Sized_relobj_file<32,_false> *)p_Var21->_M_node_count)) ||\n                     ((object == (Sized_relobj_file<32,_false> *)p_Var21->_M_node_count &&\n                      (data_shndx < *(uint *)(p_Var21 + 1))))) goto LAB_000d2bd8;\n                }\n                ppGVar27 = (General_options **)(puVar26 + -2);\n                puVar26 = puVar26 + -2;\n                for (puVar11 = *(undefined4 **)(puVar13 + 0x30); puVar11 != (undefined4 *)0x0;\n                    puVar11 = (undefined4 *)*puVar11) {\n                  *(undefined4 *)((int)puVar26 + -0xc) = 1;\n                  *(undefined4 *)((int)puVar26 + -0x10) = 0;\n                  *(__node_gen_type **)((int)puVar26 + -0x14) = &__node_gen_1;\n                  *(undefined4 **)((int)puVar26 + -0x18) = puVar11 + 1;\n                  *(int *)((int)puVar26 + -0x1c) = (int)(p_Var21 + 1) + 4;\n                  *(undefined1 **)((int)puVar26 + -0x20) = local_e0;\n                  *(undefined4 *)((int)puVar26 + -0x24) = 0xd29ae;\n                  __node_gen_1._M_h = (__hashtable_alloc *)((int)(p_Var21 + 1) + 4);\n                  std::\n                  _Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>,_std::__detail::_Identity,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                  ::\n                  _M_insert<const_std::pair<gold::Relobj*,_unsigned_int>&,_std::__detail::_AllocNode<std::allocator<std::__detail::_Hash_node<std::pair<gold::Relobj*,_unsigned_int>,_true>_>_>_>\n                            ();\n                  ppGVar27 = (General_options **)((int)puVar26 + -4);\n                  puVar26 = (undefined4 *)((int)puVar26 + -4);\n                }\n              }\n            }\n          }\n        }\n      }\n      else {\n        if (uVar25 < object->local_symbol_count_) {\n          src_id_1.first = (Relobj *)0x0" (cast_expression "(_Base_ptr)puVar26[-5]" ( (type_descriptor "_Base_ptr" type_identifier) ) (subscript_expression "puVar26[-5]" identifier [ number_literal ])) , (assignment_expression "(tuple<const_std::pair<gold::Relobj*,_unsigned_int>&> *)puVar26[-4],\n                             (tuple<> *)puVar26[-3],(piecewise_construct_t *)puVar26[-2]);\n                  p_Var21 = local_a8;\n                }\n                else {\n                  do {\n                    while ((p_Var21 = (_Rb_tree_header *)p_Var8,\n                           object <= (Sized_relobj_file<32,_false> *)\n                                     ((_Base_ptr)((int)p_Var21 + 0x10))->_M_color &&\n                           ((object != (Sized_relobj_file<32,_false> *)\n                                       ((_Base_ptr)((int)p_Var21 + 0x10))->_M_color ||\n                            (data_shndx <= ((size_t *)((int)p_Var21 + 0x10))[1]))))) {\n                      p_Var8 = (p_Var21->_M_header)._M_left;\n                      p_Var20 = &p_Var21->_M_header;\n                      if ((p_Var21->_M_header)._M_left == (_Base_ptr)0x0) goto LAB_000d2962;\n                    }\n                    pp_Var2 = &(p_Var21->_M_header)._M_right;\n                    p_Var8 = *pp_Var2;\n                    p_Var21 = (_Rb_tree_header *)p_Var20;\n                  } while (*pp_Var2 != (_Base_ptr)0x0);\nLAB_000d2962:\n                  if (((p_Var21 == p_Var1) ||\n                      (object < (Sized_relobj_file<32,_false> *)p_Var21->_M_node_count)) ||\n                     ((object == (Sized_relobj_file<32,_false> *)p_Var21->_M_node_count &&\n                      (data_shndx < *(uint *)(p_Var21 + 1))))) goto LAB_000d2bd8;\n                }\n                ppGVar27 = (General_options **)(puVar26 + -2);\n                puVar26 = puVar26 + -2;\n                for (puVar11 = *(undefined4 **)(puVar13 + 0x30); puVar11 != (undefined4 *)0x0;\n                    puVar11 = (undefined4 *)*puVar11) {\n                  *(undefined4 *)((int)puVar26 + -0xc) = 1;\n                  *(undefined4 *)((int)puVar26 + -0x10) = 0;\n                  *(__node_gen_type **)((int)puVar26 + -0x14) = &__node_gen_1;\n                  *(undefined4 **)((int)puVar26 + -0x18) = puVar11 + 1;\n                  *(int *)((int)puVar26 + -0x1c) = (int)(p_Var21 + 1) + 4;\n                  *(undefined1 **)((int)puVar26 + -0x20) = local_e0;\n                  *(undefined4 *)((int)puVar26 + -0x24) = 0xd29ae;\n                  __node_gen_1._M_h = (__hashtable_alloc *)((int)(p_Var21 + 1) + 4);\n                  std::\n                  _Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>,_std::__detail::_Identity,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                  ::\n                  _M_insert<const_std::pair<gold::Relobj*,_unsigned_int>&,_std::__detail::_AllocNode<std::allocator<std::__detail::_Hash_node<std::pair<gold::Relobj*,_unsigned_int>,_true>_>_>_>\n                            ();\n                  ppGVar27 = (General_options **)((int)puVar26 + -4);\n                  puVar26 = (undefined4 *)((int)puVar26 + -4);\n                }\n              }\n            }\n          }\n        }\n      }\n      else {\n        if (uVar25 < object->local_symbol_count_) {\n          src_id_1.first = (Relobj *)0x0" (field_expression "(tuple<const_std::pair<gold::Relobj*,_unsigned_int>&> *)puVar26[-4],\n                             (tuple<> *)puVar26[-3],(piecewise_construct_t *)puVar26[-2]);\n                  p_Var21 = local_a8;\n                }\n                else {\n                  do {\n                    while ((p_Var21 = (_Rb_tree_header *)p_Var8,\n                           object <= (Sized_relobj_file<32,_false> *)\n                                     ((_Base_ptr)((int)p_Var21 + 0x10))->_M_color &&\n                           ((object != (Sized_relobj_file<32,_false> *)\n                                       ((_Base_ptr)((int)p_Var21 + 0x10))->_M_color ||\n                            (data_shndx <= ((size_t *)((int)p_Var21 + 0x10))[1]))))) {\n                      p_Var8 = (p_Var21->_M_header)._M_left;\n                      p_Var20 = &p_Var21->_M_header;\n                      if ((p_Var21->_M_header)._M_left == (_Base_ptr)0x0) goto LAB_000d2962;\n                    }\n                    pp_Var2 = &(p_Var21->_M_header)._M_right;\n                    p_Var8 = *pp_Var2;\n                    p_Var21 = (_Rb_tree_header *)p_Var20;\n                  } while (*pp_Var2 != (_Base_ptr)0x0);\nLAB_000d2962:\n                  if (((p_Var21 == p_Var1) ||\n                      (object < (Sized_relobj_file<32,_false> *)p_Var21->_M_node_count)) ||\n                     ((object == (Sized_relobj_file<32,_false> *)p_Var21->_M_node_count &&\n                      (data_shndx < *(uint *)(p_Var21 + 1))))) goto LAB_000d2bd8;\n                }\n                ppGVar27 = (General_options **)(puVar26 + -2);\n                puVar26 = puVar26 + -2;\n                for (puVar11 = *(undefined4 **)(puVar13 + 0x30); puVar11 != (undefined4 *)0x0;\n                    puVar11 = (undefined4 *)*puVar11) {\n                  *(undefined4 *)((int)puVar26 + -0xc) = 1;\n                  *(undefined4 *)((int)puVar26 + -0x10) = 0;\n                  *(__node_gen_type **)((int)puVar26 + -0x14) = &__node_gen_1;\n                  *(undefined4 **)((int)puVar26 + -0x18) = puVar11 + 1;\n                  *(int *)((int)puVar26 + -0x1c) = (int)(p_Var21 + 1) + 4;\n                  *(undefined1 **)((int)puVar26 + -0x20) = local_e0;\n                  *(undefined4 *)((int)puVar26 + -0x24) = 0xd29ae;\n                  __node_gen_1._M_h = (__hashtable_alloc *)((int)(p_Var21 + 1) + 4);\n                  std::\n                  _Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>,_std::__detail::_Identity,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                  ::\n                  _M_insert<const_std::pair<gold::Relobj*,_unsigned_int>&,_std::__detail::_AllocNode<std::allocator<std::__detail::_Hash_node<std::pair<gold::Relobj*,_unsigned_int>,_true>_>_>_>\n                            ();\n                  ppGVar27 = (General_options **)((int)puVar26 + -4);\n                  puVar26 = (undefined4 *)((int)puVar26 + -4);\n                }\n              }\n            }\n          }\n        }\n      }\n      else {\n        if (uVar25 < object->local_symbol_count_) {\n          src_id_1.first" (parenthesized_expression "(tuple<const_std::pair<gold::Relobj*,_unsigned_int>&> *)puVar26[-4],\n                             (tuple<> *)puVar26[-3],(piecewise_construct_t *)puVar26[-2]);\n                  p_Var21 = local_a8;\n                }\n                else {\n                  do {\n                    while ((p_Var21 = (_Rb_tree_header *)p_Var8,\n                           object <= (Sized_relobj_file<32,_false> *)\n                                     ((_Base_ptr)((int)p_Var21 + 0x10))->_M_color &&\n                           ((object != (Sized_relobj_file<32,_false> *)\n                                       ((_Base_ptr)((int)p_Var21 + 0x10))->_M_color ||\n                            (data_shndx <= ((size_t *)((int)p_Var21 + 0x10))[1]))))) {\n                      p_Var8 = (p_Var21->_M_header)._M_left;\n                      p_Var20 = &p_Var21->_M_header;\n                      if ((p_Var21->_M_header)._M_left == (_Base_ptr)0x0) goto LAB_000d2962;\n                    }\n                    pp_Var2 = &(p_Var21->_M_header)._M_right;\n                    p_Var8 = *pp_Var2;\n                    p_Var21 = (_Rb_tree_header *)p_Var20;\n                  } while (*pp_Var2 != (_Base_ptr)0x0);\nLAB_000d2962:\n                  if (((p_Var21 == p_Var1) ||\n                      (object < (Sized_relobj_file<32,_false> *)p_Var21->_M_node_count)) ||\n                     ((object == (Sized_relobj_file<32,_false> *)p_Var21->_M_node_count &&\n                      (data_shndx < *(uint *)(p_Var21 + 1))))) goto LAB_000d2bd8;\n                }\n                ppGVar27 = (General_options **)(puVar26 + -2);\n                puVar26 = puVar26 + -2;\n                for (puVar11 = *(undefined4 **)(puVar13 + 0x30); puVar11 != (undefined4 *)0x0;\n                    puVar11 = (undefined4 *)*puVar11) {\n                  *(undefined4 *)((int)puVar26 + -0xc) = 1;\n                  *(undefined4 *)((int)puVar26 + -0x10) = 0;\n                  *(__node_gen_type **)((int)puVar26 + -0x14) = &__node_gen_1;\n                  *(undefined4 **)((int)puVar26 + -0x18) = puVar11 + 1;\n                  *(int *)((int)puVar26 + -0x1c) = (int)(p_Var21 + 1) + 4;\n                  *(undefined1 **)((int)puVar26 + -0x20) = local_e0;\n                  *(undefined4 *)((int)puVar26 + -0x24) = 0xd29ae;\n                  __node_gen_1._M_h = (__hashtable_alloc *)((int)(p_Var21 + 1) + 4);\n                  std::\n                  _Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>,_std::__detail::_Identity,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                  ::\n                  _M_insert<const_std::pair<gold::Relobj*,_unsigned_int>&,_std::__detail::_AllocNode<std::allocator<std::__detail::_Hash_node<std::pair<gold::Relobj*,_unsigned_int>,_true>_>_>_>\n                            ();\n                  ppGVar27 = (General_options **)((int)puVar26 + -4);\n                  puVar26 = (undefined4 *)((int)puVar26 + -4);\n                }\n              }\n            }\n          }\n        }\n      }\n      else {\n        if (uVar25 < object->local_symbol_count_)" ( (ERROR "tuple<const_std::pair<gold::Relobj*,_unsigned_int>&> *)puVar26[-4],\n                             (tuple<> *)puVar26[-3],(piecewise_construct_t *)puVar26[-2]);\n                  p_Var21 = local_a8;\n                }\n                else" (comma_expression "tuple<const_std::pair<gold::Relobj*,_unsigned_int>&> *)puVar26[-4],\n                             (tuple<> *)puVar26[-3],(piecewise_construct_t *)puVar26[-2])" (binary_expression "tuple<const_std::pair<gold::Relobj*,_unsigned_int>&> *)puVar26[-4]" (binary_expression "tuple<const_std::pair<gold::Relobj*,_unsigned_int" (binary_expression "tuple<const_std::pair<gold" (binary_expression "tuple<const_std" identifier < identifier) (ERROR "::pair" : : identifier) < identifier) (ERROR "::Relobj" : : identifier) * (ERROR "," ,) identifier) > (pointer_expression "&> *)puVar26[-4]" & (ERROR ">" >) (pointer_expression "*)puVar26[-4]" * (ERROR ")" )) (subscript_expression "puVar26[-4]" identifier [ number_literal ])))) , (parenthesized_expression "(tuple<> *)puVar26[-3],(piecewise_construct_t *)puVar26[-2])" ( (comma_expression "tuple<> *)puVar26[-3],(piecewise_construct_t *)puVar26[-2]" (binary_expression "tuple<> *)puVar26[-3]" identifier < (ERROR ">" >) (pointer_expression "*)puVar26[-3]" * (ERROR ")" )) (subscript_expression "puVar26[-3]" identifier [ number_literal ]))) , (cast_expression "(piecewise_construct_t *)puVar26[-2]" ( (type_descriptor "piecewise_construct_t *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar26[-2]" identifier [ number_literal ]))) ))) ; (assignment_expression "p_Var21 = local_a8" identifier = identifier) ; } else) (compound_statement "{\n                  do {\n                    while ((p_Var21 = (_Rb_tree_header *)p_Var8,\n                           object <= (Sized_relobj_file<32,_false> *)\n                                     ((_Base_ptr)((int)p_Var21 + 0x10))->_M_color &&\n                           ((object != (Sized_relobj_file<32,_false> *)\n                                       ((_Base_ptr)((int)p_Var21 + 0x10))->_M_color ||\n                            (data_shndx <= ((size_t *)((int)p_Var21 + 0x10))[1]))))) {\n                      p_Var8 = (p_Var21->_M_header)._M_left;\n                      p_Var20 = &p_Var21->_M_header;\n                      if ((p_Var21->_M_header)._M_left == (_Base_ptr)0x0) goto LAB_000d2962;\n                    }\n                    pp_Var2 = &(p_Var21->_M_header)._M_right;\n                    p_Var8 = *pp_Var2;\n                    p_Var21 = (_Rb_tree_header *)p_Var20;\n                  } while (*pp_Var2 != (_Base_ptr)0x0);\nLAB_000d2962:\n                  if (((p_Var21 == p_Var1) ||\n                      (object < (Sized_relobj_file<32,_false> *)p_Var21->_M_node_count)) ||\n                     ((object == (Sized_relobj_file<32,_false> *)p_Var21->_M_node_count &&\n                      (data_shndx < *(uint *)(p_Var21 + 1))))) goto LAB_000d2bd8;\n                }\n                ppGVar27 = (General_options **)(puVar26 + -2);\n                puVar26 = puVar26 + -2;\n                for (puVar11 = *(undefined4 **)(puVar13 + 0x30); puVar11 != (undefined4 *)0x0;\n                    puVar11 = (undefined4 *)*puVar11) {\n                  *(undefined4 *)((int)puVar26 + -0xc) = 1;\n                  *(undefined4 *)((int)puVar26 + -0x10) = 0;\n                  *(__node_gen_type **)((int)puVar26 + -0x14) = &__node_gen_1;\n                  *(undefined4 **)((int)puVar26 + -0x18) = puVar11 + 1;\n                  *(int *)((int)puVar26 + -0x1c) = (int)(p_Var21 + 1) + 4;\n                  *(undefined1 **)((int)puVar26 + -0x20) = local_e0;\n                  *(undefined4 *)((int)puVar26 + -0x24) = 0xd29ae;\n                  __node_gen_1._M_h = (__hashtable_alloc *)((int)(p_Var21 + 1) + 4);\n                  std::\n                  _Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>,_std::__detail::_Identity,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                  ::\n                  _M_insert<const_std::pair<gold::Relobj*,_unsigned_int>&,_std::__detail::_AllocNode<std::allocator<std::__detail::_Hash_node<std::pair<gold::Relobj*,_unsigned_int>,_true>_>_>_>\n                            ();\n                  ppGVar27 = (General_options **)((int)puVar26 + -4);\n                  puVar26 = (undefined4 *)((int)puVar26 + -4);\n                }" { (do_statement "do {\n                    while ((p_Var21 = (_Rb_tree_header *)p_Var8,\n                           object <= (Sized_relobj_file<32,_false> *)\n                                     ((_Base_ptr)((int)p_Var21 + 0x10))->_M_color &&\n                           ((object != (Sized_relobj_file<32,_false> *)\n                                       ((_Base_ptr)((int)p_Var21 + 0x10))->_M_color ||\n                            (data_shndx <= ((size_t *)((int)p_Var21 + 0x10))[1]))))) {\n                      p_Var8 = (p_Var21->_M_header)._M_left;\n                      p_Var20 = &p_Var21->_M_header;\n                      if ((p_Var21->_M_header)._M_left == (_Base_ptr)0x0) goto LAB_000d2962;\n                    }\n                    pp_Var2 = &(p_Var21->_M_header)._M_right;\n                    p_Var8 = *pp_Var2;\n                    p_Var21 = (_Rb_tree_header *)p_Var20;\n                  } while (*pp_Var2 != (_Base_ptr)0x0);" do (ERROR "{\n                    while ((p_Var21 = (_Rb_tree_header *)p_Var8,\n                           object <= (Sized_relobj_file<32,_false> *)\n                                     ((_Base_ptr)((int)p_Var21 + 0x10))->_M_color &&\n                           ((object != (Sized_relobj_file<32,_false> *)\n                                       ((_Base_ptr)((int)p_Var21 + 0x10))->_M_color ||\n                            (data_shndx <= ((size_t *)((int)p_Var21 + 0x10))[1]))))) {\n                      p_Var8 = (p_Var21->_M_header)._M_left;\n                      p_Var20 = &p_Var21->_M_header;\n                      if ((p_Var21->_M_header)._M_left == (_Base_ptr)0x0) goto LAB_000d2962;\n                    }\n                    pp_Var2 = &(p_Var21->_M_header)._M_right;\n                    p_Var8 = *pp_Var2;" (compound_statement "{\n                    while ((p_Var21 = (_Rb_tree_header *)p_Var8,\n                           object <= (Sized_relobj_file<32,_false> *)\n                                     ((_Base_ptr)((int)p_Var21 + 0x10))->_M_color &&\n                           ((object != (Sized_relobj_file<32,_false> *)\n                                       ((_Base_ptr)((int)p_Var21 + 0x10))->_M_color ||\n                            (data_shndx <= ((size_t *)((int)p_Var21 + 0x10))[1]))))) {\n                      p_Var8 = (p_Var21->_M_header)._M_left;\n                      p_Var20 = &p_Var21->_M_header;\n                      if ((p_Var21->_M_header)._M_left == (_Base_ptr)0x0) goto LAB_000d2962;\n                    }" { (while_statement "while ((p_Var21 = (_Rb_tree_header *)p_Var8,\n                           object <= (Sized_relobj_file<32,_false> *)\n                                     ((_Base_ptr)((int)p_Var21 + 0x10))->_M_color &&\n                           ((object != (Sized_relobj_file<32,_false> *)\n                                       ((_Base_ptr)((int)p_Var21 + 0x10))->_M_color ||\n                            (data_shndx <= ((size_t *)((int)p_Var21 + 0x10))[1]))))) {\n                      p_Var8 = (p_Var21->_M_header)._M_left;\n                      p_Var20 = &p_Var21->_M_header;\n                      if ((p_Var21->_M_header)._M_left == (_Base_ptr)0x0) goto LAB_000d2962;" while (parenthesized_expression "((p_Var21 = (_Rb_tree_header *)p_Var8,\n                           object <= (Sized_relobj_file<32,_false> *)\n                                     ((_Base_ptr)((int)p_Var21 + 0x10))->_M_color &&\n                           ((object != (Sized_relobj_file<32,_false> *)\n                                       ((_Base_ptr)((int)p_Var21 + 0x10))->_M_color ||\n                            (data_shndx <= ((size_t *)((int)p_Var21 + 0x10))[1]))))) {\n                      p_Var8 = (p_Var21->_M_header)._M_left;\n                      p_Var20 = &p_Var21->_M_header;\n                      if ((p_Var21->_M_header)._M_left == (_Base_ptr)0x0)" ( (binary_expression "(p_Var21 = (_Rb_tree_header *)p_Var8,\n                           object <= (Sized_relobj_file<32,_false> *)\n                                     ((_Base_ptr)((int)p_Var21 + 0x10))->_M_color &&\n                           ((object != (Sized_relobj_file<32,_false> *)\n                                       ((_Base_ptr)((int)p_Var21 + 0x10))->_M_color ||\n                            (data_shndx <= ((size_t *)((int)p_Var21 + 0x10))[1]))))) {\n                      p_Var8 = (p_Var21->_M_header)._M_left;\n                      p_Var20 = &p_Var21->_M_header;\n                      if ((p_Var21->_M_header)._M_left == (_Base_ptr)0x0" (field_expression "(p_Var21 = (_Rb_tree_header *)p_Var8,\n                           object <= (Sized_relobj_file<32,_false> *)\n                                     ((_Base_ptr)((int)p_Var21 + 0x10))->_M_color &&\n                           ((object != (Sized_relobj_file<32,_false> *)\n                                       ((_Base_ptr)((int)p_Var21 + 0x10))->_M_color ||\n                            (data_shndx <= ((size_t *)((int)p_Var21 + 0x10))[1]))))) {\n                      p_Var8 = (p_Var21->_M_header)._M_left;\n                      p_Var20 = &p_Var21->_M_header;\n                      if ((p_Var21->_M_header)._M_left" (parenthesized_expression "(p_Var21 = (_Rb_tree_header *)p_Var8,\n                           object <= (Sized_relobj_file<32,_false> *)\n                                     ((_Base_ptr)((int)p_Var21 + 0x10))->_M_color &&\n                           ((object != (Sized_relobj_file<32,_false> *)\n                                       ((_Base_ptr)((int)p_Var21 + 0x10))->_M_color ||\n                            (data_shndx <= ((size_t *)((int)p_Var21 + 0x10))[1]))))) {\n                      p_Var8 = (p_Var21->_M_header)._M_left;\n                      p_Var20 = &p_Var21->_M_header;\n                      if ((p_Var21->_M_header)" ( (comma_expression "p_Var21 = (_Rb_tree_header *)p_Var8,\n                           object <= (Sized_relobj_file<32,_false> *)\n                                     ((_Base_ptr)((int)p_Var21 + 0x10))->_M_color &&\n                           ((object != (Sized_relobj_file<32,_false> *)\n                                       ((_Base_ptr)((int)p_Var21 + 0x10))->_M_color ||\n                            (data_shndx <= ((size_t *)((int)p_Var21 + 0x10))[1]))))) {\n                      p_Var8 = (p_Var21->_M_header)._M_left" (assignment_expression "p_Var21 = (_Rb_tree_header *)p_Var8" identifier = (cast_expression "(_Rb_tree_header *)p_Var8" ( (type_descriptor "_Rb_tree_header *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) , (binary_expression "object <= (Sized_relobj_file<32,_false> *)\n                                     ((_Base_ptr)((int)p_Var21 + 0x10))->_M_color &&\n                           ((object != (Sized_relobj_file<32,_false> *)\n                                       ((_Base_ptr)((int)p_Var21 + 0x10))->_M_color ||\n                            (data_shndx <= ((size_t *)((int)p_Var21 + 0x10))[1]))))) {\n                      p_Var8 = (p_Var21->_M_header)._M_left" identifier <= (assignment_expression "(Sized_relobj_file<32,_false> *)\n                                     ((_Base_ptr)((int)p_Var21 + 0x10))->_M_color &&\n                           ((object != (Sized_relobj_file<32,_false> *)\n                                       ((_Base_ptr)((int)p_Var21 + 0x10))->_M_color ||\n                            (data_shndx <= ((size_t *)((int)p_Var21 + 0x10))[1]))))) {\n                      p_Var8 = (p_Var21->_M_header)._M_left" (parenthesized_expression "(Sized_relobj_file<32,_false> *)\n                                     ((_Base_ptr)((int)p_Var21 + 0x10))->_M_color &&\n                           ((object != (Sized_relobj_file<32,_false> *)\n                                       ((_Base_ptr)((int)p_Var21 + 0x10))->_M_color ||\n                            (data_shndx <= ((size_t *)((int)p_Var21 + 0x10))[1])))))" ( (comma_expression "Sized_relobj_file<32,_false> *)\n                                     ((_Base_ptr)((int)p_Var21 + 0x10))->_M_color &&\n                           ((object != (Sized_relobj_file<32,_false> *)\n                                       ((_Base_ptr)((int)p_Var21 + 0x10))->_M_color ||\n                            (data_shndx <= ((size_t *)((int)p_Var21 + 0x10))[1]))))" (binary_expression "Sized_relobj_file<32" identifier < number_literal) , (binary_expression "_false> *)\n                                     ((_Base_ptr)((int)p_Var21 + 0x10))->_M_color &&\n                           ((object != (Sized_relobj_file<32,_false> *)\n                                       ((_Base_ptr)((int)p_Var21 + 0x10))->_M_color ||\n                            (data_shndx <= ((size_t *)((int)p_Var21 + 0x10))[1]))))" (binary_expression "_false> *)\n                                     ((_Base_ptr)((int)p_Var21 + 0x10))->_M_color" identifier > (pointer_expression "*)\n                                     ((_Base_ptr)((int)p_Var21 + 0x10))->_M_color" * (ERROR ")" )) (field_expression "((_Base_ptr)((int)p_Var21 + 0x10))->_M_color" (parenthesized_expression "((_Base_ptr)((int)p_Var21 + 0x10))" ( (call_expression "(_Base_ptr)((int)p_Var21 + 0x10)" (parenthesized_expression "(_Base_ptr)" ( identifier )) (argument_list "((int)p_Var21 + 0x10)" ( (binary_expression "(int)p_Var21 + 0x10" (cast_expression "(int)p_Var21" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))) )) -> field_identifier))) && (parenthesized_expression "((object != (Sized_relobj_file<32,_false> *)\n                                       ((_Base_ptr)((int)p_Var21 + 0x10))->_M_color ||\n                            (data_shndx <= ((size_t *)((int)p_Var21 + 0x10))[1]))))" ( (parenthesized_expression "(object != (Sized_relobj_file<32,_false> *)\n                                       ((_Base_ptr)((int)p_Var21 + 0x10))->_M_color ||\n                            (data_shndx <= ((size_t *)((int)p_Var21 + 0x10))[1])))" ( (binary_expression "object != (Sized_relobj_file<32,_false> *)\n                                       ((_Base_ptr)((int)p_Var21 + 0x10))->_M_color ||\n                            (data_shndx <= ((size_t *)((int)p_Var21 + 0x10))[1]))" identifier != (parenthesized_expression "(Sized_relobj_file<32,_false> *)\n                                       ((_Base_ptr)((int)p_Var21 + 0x10))->_M_color ||\n                            (data_shndx <= ((size_t *)((int)p_Var21 + 0x10))[1]))" ( (comma_expression "Sized_relobj_file<32,_false> *)\n                                       ((_Base_ptr)((int)p_Var21 + 0x10))->_M_color ||\n                            (data_shndx <= ((size_t *)((int)p_Var21 + 0x10))[1])" (binary_expression "Sized_relobj_file<32" identifier < number_literal) , (binary_expression "_false> *)\n                                       ((_Base_ptr)((int)p_Var21 + 0x10))->_M_color ||\n                            (data_shndx <= ((size_t *)((int)p_Var21 + 0x10))[1])" (binary_expression "_false> *)\n                                       ((_Base_ptr)((int)p_Var21 + 0x10))->_M_color" identifier > (pointer_expression "*)\n                                       ((_Base_ptr)((int)p_Var21 + 0x10))->_M_color" * (ERROR ")" )) (field_expression "((_Base_ptr)((int)p_Var21 + 0x10))->_M_color" (parenthesized_expression "((_Base_ptr)((int)p_Var21 + 0x10))" ( (call_expression "(_Base_ptr)((int)p_Var21 + 0x10)" (parenthesized_expression "(_Base_ptr)" ( identifier )) (argument_list "((int)p_Var21 + 0x10)" ( (binary_expression "(int)p_Var21 + 0x10" (cast_expression "(int)p_Var21" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))) )) -> field_identifier))) || (parenthesized_expression "(data_shndx <= ((size_t *)((int)p_Var21 + 0x10))[1])" ( (binary_expression "data_shndx <= ((size_t *)((int)p_Var21 + 0x10))[1]" identifier <= (subscript_expression "((size_t *)((int)p_Var21 + 0x10))[1]" (parenthesized_expression "((size_t *)((int)p_Var21 + 0x10))" ( (cast_expression "(size_t *)((int)p_Var21 + 0x10)" ( (type_descriptor "size_t *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)p_Var21 + 0x10)" ( (binary_expression "(int)p_Var21 + 0x10" (cast_expression "(int)p_Var21" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))) )) [ number_literal ])) )))) ))) )) )))) )) (ERROR "{\n                      p_Var8" { identifier) = (field_expression "(p_Var21->_M_header)._M_left" (parenthesized_expression "(p_Var21->_M_header)" ( (field_expression "p_Var21->_M_header" identifier -> field_identifier) )) . field_identifier)))) (ERROR ";\n                      p_Var20 = &p_Var21->_M_header;\n                      if ((p_Var21->_M_header" ; identifier = & identifier -> identifier ; if ( ( identifier -> identifier) )) . field_identifier) == (cast_expression "(_Base_ptr)0x0" ( (type_descriptor "_Base_ptr" type_identifier) ) number_literal)) )) (goto_statement "goto LAB_000d2962;" goto statement_identifier ;)) }) (expression_statement "pp_Var2 = &(p_Var21->_M_header)._M_right;" (assignment_expression "pp_Var2 = &(p_Var21->_M_header)._M_right" identifier = (pointer_expression "&(p_Var21->_M_header)._M_right" & (field_expression "(p_Var21->_M_header)._M_right" (parenthesized_expression "(p_Var21->_M_header)" ( (field_expression "p_Var21->_M_header" identifier -> field_identifier) )) . field_identifier))) ;) (expression_statement "p_Var8 = *pp_Var2;" (assignment_expression "p_Var8 = *pp_Var2" identifier = (pointer_expression "*pp_Var2" * identifier)) ;)) (expression_statement "p_Var21 = (_Rb_tree_header *)p_Var20;" (assignment_expression "p_Var21 = (_Rb_tree_header *)p_Var20" identifier = (cast_expression "(_Rb_tree_header *)p_Var20" ( (type_descriptor "_Rb_tree_header *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (ERROR "}" }) while (parenthesized_expression "(*pp_Var2 != (_Base_ptr)0x0)" ( (binary_expression "*pp_Var2 != (_Base_ptr)0x0" (pointer_expression "*pp_Var2" * identifier) != (cast_expression "(_Base_ptr)0x0" ( (type_descriptor "_Base_ptr" type_identifier) ) number_literal)) )) ;) (labeled_statement "LAB_000d2962:\n                  if (((p_Var21 == p_Var1) ||\n                      (object < (Sized_relobj_file<32,_false> *)p_Var21->_M_node_count)) ||\n                     ((object == (Sized_relobj_file<32,_false> *)p_Var21->_M_node_count &&\n                      (data_shndx < *(uint *)(p_Var21 + 1))))) goto LAB_000d2bd8;\n                }\n                ppGVar27 = (General_options **)(puVar26 + -2);\n                puVar26 = puVar26 + -2;\n                for (puVar11 = *(undefined4 **)(puVar13 + 0x30); puVar11 != (undefined4 *)0x0;\n                    puVar11 = (undefined4 *)*puVar11) {\n                  *(undefined4 *)((int)puVar26 + -0xc) = 1;\n                  *(undefined4 *)((int)puVar26 + -0x10) = 0;\n                  *(__node_gen_type **)((int)puVar26 + -0x14) = &__node_gen_1;\n                  *(undefined4 **)((int)puVar26 + -0x18) = puVar11 + 1;\n                  *(int *)((int)puVar26 + -0x1c) = (int)(p_Var21 + 1) + 4;\n                  *(undefined1 **)((int)puVar26 + -0x20) = local_e0;\n                  *(undefined4 *)((int)puVar26 + -0x24) = 0xd29ae;\n                  __node_gen_1._M_h = (__hashtable_alloc *)((int)(p_Var21 + 1) + 4);\n                  std::\n                  _Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>,_std::__detail::_Identity,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                  ::\n                  _M_insert<const_std::pair<gold::Relobj*,_unsigned_int>&,_std::__detail::_AllocNode<std::allocator<std::__detail::_Hash_node<std::pair<gold::Relobj*,_unsigned_int>,_true>_>_>_>\n                            ();" statement_identifier : (if_statement "if (((p_Var21 == p_Var1) ||\n                      (object < (Sized_relobj_file<32,_false> *)p_Var21->_M_node_count)) ||\n                     ((object == (Sized_relobj_file<32,_false> *)p_Var21->_M_node_count &&\n                      (data_shndx < *(uint *)(p_Var21 + 1))))) goto LAB_000d2bd8;\n                }\n                ppGVar27 = (General_options **)(puVar26 + -2);\n                puVar26 = puVar26 + -2;\n                for (puVar11 = *(undefined4 **)(puVar13 + 0x30); puVar11 != (undefined4 *)0x0;\n                    puVar11 = (undefined4 *)*puVar11) {\n                  *(undefined4 *)((int)puVar26 + -0xc) = 1;\n                  *(undefined4 *)((int)puVar26 + -0x10) = 0;\n                  *(__node_gen_type **)((int)puVar26 + -0x14) = &__node_gen_1;\n                  *(undefined4 **)((int)puVar26 + -0x18) = puVar11 + 1;\n                  *(int *)((int)puVar26 + -0x1c) = (int)(p_Var21 + 1) + 4;\n                  *(undefined1 **)((int)puVar26 + -0x20) = local_e0;\n                  *(undefined4 *)((int)puVar26 + -0x24) = 0xd29ae;\n                  __node_gen_1._M_h = (__hashtable_alloc *)((int)(p_Var21 + 1) + 4);\n                  std::\n                  _Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>,_std::__detail::_Identity,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                  ::\n                  _M_insert<const_std::pair<gold::Relobj*,_unsigned_int>&,_std::__detail::_AllocNode<std::allocator<std::__detail::_Hash_node<std::pair<gold::Relobj*,_unsigned_int>,_true>_>_>_>\n                            ();" if (parenthesized_expression "(((p_Var21 == p_Var1) ||\n                      (object < (Sized_relobj_file<32,_false> *)p_Var21->_M_node_count)) ||\n                     ((object == (Sized_relobj_file<32,_false> *)p_Var21->_M_node_count &&\n                      (data_shndx < *(uint *)(p_Var21 + 1))))) goto LAB_000d2bd8;\n                }\n                ppGVar27 = (General_options **)(puVar26 + -2);\n                puVar26 = puVar26 + -2;\n                for (puVar11 = *(undefined4 **)(puVar13 + 0x30); puVar11 != (undefined4 *)0x0;\n                    puVar11 = (undefined4 *)*puVar11) {\n                  *(undefined4 *)((int)puVar26 + -0xc) = 1;\n                  *(undefined4 *)((int)puVar26 + -0x10) = 0;\n                  *(__node_gen_type **)((int)puVar26 + -0x14) = &__node_gen_1;\n                  *(undefined4 **)((int)puVar26 + -0x18) = puVar11 + 1;\n                  *(int *)((int)puVar26 + -0x1c) = (int)(p_Var21 + 1) + 4;\n                  *(undefined1 **)((int)puVar26 + -0x20) = local_e0;\n                  *(undefined4 *)((int)puVar26 + -0x24) = 0xd29ae;\n                  __node_gen_1._M_h = (__hashtable_alloc *)((int)(p_Var21 + 1) + 4);\n                  std::\n                  _Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>,_std::__detail::_Identity,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                  ::\n                  _M_insert<const_std::pair<gold::Relobj*,_unsigned_int>&,_std::__detail::_AllocNode<std::allocator<std::__detail::_Hash_node<std::pair<gold::Relobj*,_unsigned_int>,_true>_>_>_>\n                            ()" ( (parenthesized_expression "((p_Var21 == p_Var1) ||\n                      (object < (Sized_relobj_file<32,_false> *)p_Var21->_M_node_count)) ||\n                     ((object == (Sized_relobj_file<32,_false> *)p_Var21->_M_node_count &&\n                      (data_shndx < *(uint *)(p_Var21 + 1))))) goto LAB_000d2bd8;\n                }\n                ppGVar27 = (General_options **)(puVar26 + -2);\n                puVar26 = puVar26 + -2;\n                for (puVar11 = *(undefined4 **)(puVar13 + 0x30); puVar11 != (undefined4 *)0x0;\n                    puVar11 = (undefined4 *)*puVar11) {\n                  *(undefined4 *)((int)puVar26 + -0xc) = 1;\n                  *(undefined4 *)((int)puVar26 + -0x10) = 0;\n                  *(__node_gen_type **)((int)puVar26 + -0x14) = &__node_gen_1;\n                  *(undefined4 **)((int)puVar26 + -0x18) = puVar11 + 1;\n                  *(int *)((int)puVar26 + -0x1c) = (int)(p_Var21 + 1) + 4;\n                  *(undefined1 **)((int)puVar26 + -0x20) = local_e0;\n                  *(undefined4 *)((int)puVar26 + -0x24) = 0xd29ae;\n                  __node_gen_1._M_h = (__hashtable_alloc *)((int)(p_Var21 + 1) + 4);\n                  std::\n                  _Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>,_std::__detail::_Identity,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                  ::\n                  _M_insert<const_std::pair<gold::Relobj*,_unsigned_int>&,_std::__detail::_AllocNode<std::allocator<std::__detail::_Hash_node<std::pair<gold::Relobj*,_unsigned_int>,_true>_>_>_>\n                            ()" ( (comma_expression "(p_Var21 == p_Var1) ||\n                      (object < (Sized_relobj_file<32,_false> *)p_Var21->_M_node_count)) ||\n                     ((object == (Sized_relobj_file<32,_false> *)p_Var21->_M_node_count &&\n                      (data_shndx < *(uint *)(p_Var21 + 1))))) goto LAB_000d2bd8;\n                }\n                ppGVar27 = (General_options **)(puVar26 + -2);\n                puVar26 = puVar26 + -2;\n                for (puVar11 = *(undefined4 **)(puVar13 + 0x30); puVar11 != (undefined4 *)0x0;\n                    puVar11 = (undefined4 *)*puVar11) {\n                  *(undefined4 *)((int)puVar26 + -0xc) = 1;\n                  *(undefined4 *)((int)puVar26 + -0x10) = 0;\n                  *(__node_gen_type **)((int)puVar26 + -0x14) = &__node_gen_1;\n                  *(undefined4 **)((int)puVar26 + -0x18) = puVar11 + 1;\n                  *(int *)((int)puVar26 + -0x1c) = (int)(p_Var21 + 1) + 4;\n                  *(undefined1 **)((int)puVar26 + -0x20) = local_e0;\n                  *(undefined4 *)((int)puVar26 + -0x24) = 0xd29ae;\n                  __node_gen_1._M_h = (__hashtable_alloc *)((int)(p_Var21 + 1) + 4);\n                  std::\n                  _Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>,_std::__detail::_Identity,_std" (binary_expression "(p_Var21 == p_Var1) ||\n                      (object < (Sized_relobj_file<32,_false> *)p_Var21->_M_node_count)) ||\n                     ((object == (Sized_relobj_file<32,_false> *)p_Var21->_M_node_count &&\n                      (data_shndx < *(uint *)(p_Var21 + 1))))) goto LAB_000d2bd8;\n                }\n                ppGVar27 = (General_options **)(puVar26 + -2);\n                puVar26 = puVar26 + -2;\n                for (puVar11 = *(undefined4 **)(puVar13 + 0x30); puVar11 != (undefined4 *)0x0;\n                    puVar11 = (undefined4 *)*puVar11) {\n                  *(undefined4 *)((int)puVar26 + -0xc) = 1;\n                  *(undefined4 *)((int)puVar26 + -0x10) = 0;\n                  *(__node_gen_type **)((int)puVar26 + -0x14) = &__node_gen_1;\n                  *(undefined4 **)((int)puVar26 + -0x18) = puVar11 + 1;\n                  *(int *)((int)puVar26 + -0x1c) = (int)(p_Var21 + 1) + 4;\n                  *(undefined1 **)((int)puVar26 + -0x20) = local_e0;\n                  *(undefined4 *)((int)puVar26 + -0x24) = 0xd29ae;\n                  __node_gen_1._M_h = (__hashtable_alloc *)((int)(p_Var21 + 1) + 4);\n                  std::\n                  _Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>,_std" (binary_expression "(p_Var21 == p_Var1) ||\n                      (object < (Sized_relobj_file<32,_false> *)p_Var21->_M_node_count)) ||\n                     ((object == (Sized_relobj_file<32,_false> *)p_Var21->_M_node_count &&\n                      (data_shndx < *(uint *)(p_Var21 + 1))))) goto LAB_000d2bd8;\n                }\n                ppGVar27 = (General_options **)(puVar26 + -2);\n                puVar26 = puVar26 + -2;\n                for (puVar11 = *(undefined4 **)(puVar13 + 0x30); puVar11 != (undefined4 *)0x0;\n                    puVar11 = (undefined4 *)*puVar11) {\n                  *(undefined4 *)((int)puVar26 + -0xc) = 1;\n                  *(undefined4 *)((int)puVar26 + -0x10) = 0;\n                  *(__node_gen_type **)((int)puVar26 + -0x14) = &__node_gen_1;\n                  *(undefined4 **)((int)puVar26 + -0x18) = puVar11 + 1;\n                  *(int *)((int)puVar26 + -0x1c) = (int)(p_Var21 + 1) + 4;\n                  *(undefined1 **)((int)puVar26 + -0x20) = local_e0;\n                  *(undefined4 *)((int)puVar26 + -0x24) = 0xd29ae;\n                  __node_gen_1._M_h = (__hashtable_alloc *)((int)(p_Var21 + 1) + 4);\n                  std::\n                  _Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_" (binary_expression "(p_Var21 == p_Var1) ||\n                      (object < (Sized_relobj_file<32,_false> *)p_Var21->_M_node_count)) ||\n                     ((object == (Sized_relobj_file<32,_false> *)p_Var21->_M_node_count &&\n                      (data_shndx < *(uint *)(p_Var21 + 1))))) goto LAB_000d2bd8;\n                }\n                ppGVar27 = (General_options **)(puVar26 + -2);\n                puVar26 = puVar26 + -2;\n                for (puVar11 = *(undefined4 **)(puVar13 + 0x30); puVar11 != (undefined4 *)0x0;\n                    puVar11 = (undefined4 *)*puVar11) {\n                  *(undefined4 *)((int)puVar26 + -0xc) = 1;\n                  *(undefined4 *)((int)puVar26 + -0x10) = 0;\n                  *(__node_gen_type **)((int)puVar26 + -0x14) = &__node_gen_1;\n                  *(undefined4 **)((int)puVar26 + -0x18) = puVar11 + 1;\n                  *(int *)((int)puVar26 + -0x1c) = (int)(p_Var21 + 1) + 4;\n                  *(undefined1 **)((int)puVar26 + -0x20) = local_e0;\n                  *(undefined4 *)((int)puVar26 + -0x24) = 0xd29ae;\n                  __node_gen_1._M_h = (__hashtable_alloc *)((int)(p_Var21 + 1) + 4);\n                  std::\n                  _Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int" (binary_expression "(p_Var21 == p_Var1) ||\n                      (object < (Sized_relobj_file<32,_false> *)p_Var21->_M_node_count)) ||\n                     ((object == (Sized_relobj_file<32,_false> *)p_Var21->_M_node_count &&\n                      (data_shndx < *(uint *)(p_Var21 + 1))))) goto LAB_000d2bd8;\n                }\n                ppGVar27 = (General_options **)(puVar26 + -2);\n                puVar26 = puVar26 + -2;\n                for (puVar11 = *(undefined4 **)(puVar13 + 0x30); puVar11 != (undefined4 *)0x0;\n                    puVar11 = (undefined4 *)*puVar11) {\n                  *(undefined4 *)((int)puVar26 + -0xc) = 1;\n                  *(undefined4 *)((int)puVar26 + -0x10) = 0;\n                  *(__node_gen_type **)((int)puVar26 + -0x14) = &__node_gen_1;\n                  *(undefined4 **)((int)puVar26 + -0x18) = puVar11 + 1;\n                  *(int *)((int)puVar26 + -0x1c) = (int)(p_Var21 + 1) + 4;\n                  *(undefined1 **)((int)puVar26 + -0x20) = local_e0;\n                  *(undefined4 *)((int)puVar26 + -0x24) = 0xd29ae;\n                  __node_gen_1._M_h = (__hashtable_alloc *)((int)(p_Var21 + 1) + 4);\n                  std::\n                  _Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold" (binary_expression "(p_Var21 == p_Var1) ||\n                      (object < (Sized_relobj_file<32,_false> *)p_Var21->_M_node_count)) ||\n                     ((object == (Sized_relobj_file<32,_false> *)p_Var21->_M_node_count &&\n                      (data_shndx < *(uint *)(p_Var21 + 1))))) goto LAB_000d2bd8;\n                }\n                ppGVar27 = (General_options **)(puVar26 + -2);\n                puVar26 = puVar26 + -2;\n                for (puVar11 = *(undefined4 **)(puVar13 + 0x30); puVar11 != (undefined4 *)0x0;\n                    puVar11 = (undefined4 *)*puVar11) {\n                  *(undefined4 *)((int)puVar26 + -0xc) = 1;\n                  *(undefined4 *)((int)puVar26 + -0x10) = 0;\n                  *(__node_gen_type **)((int)puVar26 + -0x14) = &__node_gen_1;\n                  *(undefined4 **)((int)puVar26 + -0x18) = puVar11 + 1;\n                  *(int *)((int)puVar26 + -0x1c) = (int)(p_Var21 + 1) + 4;\n                  *(undefined1 **)((int)puVar26 + -0x20) = local_e0;\n                  *(undefined4 *)((int)puVar26 + -0x24) = 0xd29ae;\n                  __node_gen_1._M_h = (__hashtable_alloc *)((int)(p_Var21 + 1) + 4);\n                  std::\n                  _Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std" (binary_expression "(p_Var21 == p_Var1) ||\n                      (object < (Sized_relobj_file<32,_false> *)p_Var21->_M_node_count)) ||\n                     ((object == (Sized_relobj_file<32,_false> *)p_Var21->_M_node_count &&\n                      (data_shndx < *(uint *)(p_Var21 + 1))))) goto LAB_000d2bd8;\n                }\n                ppGVar27 = (General_options **)(puVar26 + -2);\n                puVar26 = puVar26 + -2;\n                for (puVar11 = *(undefined4 **)(puVar13 + 0x30); puVar11 != (undefined4 *)0x0;\n                    puVar11 = (undefined4 *)*puVar11) {\n                  *(undefined4 *)((int)puVar26 + -0xc) = 1;\n                  *(undefined4 *)((int)puVar26 + -0x10) = 0;\n                  *(__node_gen_type **)((int)puVar26 + -0x14) = &__node_gen_1;\n                  *(undefined4 **)((int)puVar26 + -0x18) = puVar11 + 1;\n                  *(int *)((int)puVar26 + -0x1c) = (int)(p_Var21 + 1) + 4;\n                  *(undefined1 **)((int)puVar26 + -0x20) = local_e0;\n                  *(undefined4 *)((int)puVar26 + -0x24) = 0xd29ae;\n                  __node_gen_1._M_h = (__hashtable_alloc *)((int)(p_Var21 + 1) + 4);\n                  std::\n                  _Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std" (binary_expression "(p_Var21 == p_Var1) ||\n                      (object < (Sized_relobj_file<32,_false> *)p_Var21->_M_node_count)) ||\n                     ((object == (Sized_relobj_file<32,_false> *)p_Var21->_M_node_count &&\n                      (data_shndx < *(uint *)(p_Var21 + 1))))) goto LAB_000d2bd8;\n                }\n                ppGVar27 = (General_options **)(puVar26 + -2);\n                puVar26 = puVar26 + -2;\n                for (puVar11 = *(undefined4 **)(puVar13 + 0x30); puVar11 != (undefined4 *)0x0;\n                    puVar11 = (undefined4 *)*puVar11) {\n                  *(undefined4 *)((int)puVar26 + -0xc) = 1;\n                  *(undefined4 *)((int)puVar26 + -0x10) = 0;\n                  *(__node_gen_type **)((int)puVar26 + -0x14) = &__node_gen_1;\n                  *(undefined4 **)((int)puVar26 + -0x18) = puVar11 + 1;\n                  *(int *)((int)puVar26 + -0x1c) = (int)(p_Var21 + 1) + 4;\n                  *(undefined1 **)((int)puVar26 + -0x20) = local_e0;\n                  *(undefined4 *)((int)puVar26 + -0x24) = 0xd29ae;\n                  __node_gen_1._M_h = (__hashtable_alloc *)((int)(p_Var21 + 1) + 4);\n                  std::\n                  _Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int" (binary_expression "(p_Var21 == p_Var1) ||\n                      (object < (Sized_relobj_file<32,_false> *)p_Var21->_M_node_count)) ||\n                     ((object == (Sized_relobj_file<32,_false> *)p_Var21->_M_node_count &&\n                      (data_shndx < *(uint *)(p_Var21 + 1))))) goto LAB_000d2bd8;\n                }\n                ppGVar27 = (General_options **)(puVar26 + -2);\n                puVar26 = puVar26 + -2;\n                for (puVar11 = *(undefined4 **)(puVar13 + 0x30); puVar11 != (undefined4 *)0x0;\n                    puVar11 = (undefined4 *)*puVar11) {\n                  *(undefined4 *)((int)puVar26 + -0xc) = 1;\n                  *(undefined4 *)((int)puVar26 + -0x10) = 0;\n                  *(__node_gen_type **)((int)puVar26 + -0x14) = &__node_gen_1;\n                  *(undefined4 **)((int)puVar26 + -0x18) = puVar11 + 1;\n                  *(int *)((int)puVar26 + -0x1c) = (int)(p_Var21 + 1) + 4;\n                  *(undefined1 **)((int)puVar26 + -0x20) = local_e0;\n                  *(undefined4 *)((int)puVar26 + -0x24) = 0xd29ae;\n                  __node_gen_1._M_h = (__hashtable_alloc *)((int)(p_Var21 + 1) + 4);\n                  std::\n                  _Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold" (binary_expression "(p_Var21 == p_Var1) ||\n                      (object < (Sized_relobj_file<32,_false> *)p_Var21->_M_node_count)) ||\n                     ((object == (Sized_relobj_file<32,_false> *)p_Var21->_M_node_count &&\n                      (data_shndx < *(uint *)(p_Var21 + 1))))) goto LAB_000d2bd8;\n                }\n                ppGVar27 = (General_options **)(puVar26 + -2);\n                puVar26 = puVar26 + -2;\n                for (puVar11 = *(undefined4 **)(puVar13 + 0x30); puVar11 != (undefined4 *)0x0;\n                    puVar11 = (undefined4 *)*puVar11) {\n                  *(undefined4 *)((int)puVar26 + -0xc) = 1;\n                  *(undefined4 *)((int)puVar26 + -0x10) = 0;\n                  *(__node_gen_type **)((int)puVar26 + -0x14) = &__node_gen_1;\n                  *(undefined4 **)((int)puVar26 + -0x18) = puVar11 + 1;\n                  *(int *)((int)puVar26 + -0x1c) = (int)(p_Var21 + 1) + 4;\n                  *(undefined1 **)((int)puVar26 + -0x20) = local_e0;\n                  *(undefined4 *)((int)puVar26 + -0x24) = 0xd29ae;\n                  __node_gen_1._M_h = (__hashtable_alloc *)((int)(p_Var21 + 1) + 4);\n                  std::\n                  _Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std" (binary_expression "(p_Var21 == p_Var1) ||\n                      (object < (Sized_relobj_file<32,_false> *)p_Var21->_M_node_count)) ||\n                     ((object == (Sized_relobj_file<32,_false> *)p_Var21->_M_node_count &&\n                      (data_shndx < *(uint *)(p_Var21 + 1))))) goto LAB_000d2bd8;\n                }\n                ppGVar27 = (General_options **)(puVar26 + -2);\n                puVar26 = puVar26 + -2;\n                for (puVar11 = *(undefined4 **)(puVar13 + 0x30); puVar11 != (undefined4 *)0x0;\n                    puVar11 = (undefined4 *)*puVar11) {\n                  *(undefined4 *)((int)puVar26 + -0xc) = 1;\n                  *(undefined4 *)((int)puVar26 + -0x10) = 0;\n                  *(__node_gen_type **)((int)puVar26 + -0x14) = &__node_gen_1;\n                  *(undefined4 **)((int)puVar26 + -0x18) = puVar11 + 1;\n                  *(int *)((int)puVar26 + -0x1c) = (int)(p_Var21 + 1) + 4;\n                  *(undefined1 **)((int)puVar26 + -0x20) = local_e0;\n                  *(undefined4 *)((int)puVar26 + -0x24) = 0xd29ae;\n                  __node_gen_1._M_h = (__hashtable_alloc *)((int)(p_Var21 + 1) + 4);\n                  std::\n                  _Hashtable<std::pair<gold::Relobj*,_unsigned_int" (binary_expression "(p_Var21 == p_Var1) ||\n                      (object < (Sized_relobj_file<32,_false> *)p_Var21->_M_node_count)) ||\n                     ((object == (Sized_relobj_file<32,_false> *)p_Var21->_M_node_count &&\n                      (data_shndx < *(uint *)(p_Var21 + 1))))) goto LAB_000d2bd8;\n                }\n                ppGVar27 = (General_options **)(puVar26 + -2);\n                puVar26 = puVar26 + -2;\n                for (puVar11 = *(undefined4 **)(puVar13 + 0x30); puVar11 != (undefined4 *)0x0;\n                    puVar11 = (undefined4 *)*puVar11) {\n                  *(undefined4 *)((int)puVar26 + -0xc) = 1;\n                  *(undefined4 *)((int)puVar26 + -0x10) = 0;\n                  *(__node_gen_type **)((int)puVar26 + -0x14) = &__node_gen_1;\n                  *(undefined4 **)((int)puVar26 + -0x18) = puVar11 + 1;\n                  *(int *)((int)puVar26 + -0x1c) = (int)(p_Var21 + 1) + 4;\n                  *(undefined1 **)((int)puVar26 + -0x20) = local_e0;\n                  *(undefined4 *)((int)puVar26 + -0x24) = 0xd29ae;\n                  __node_gen_1._M_h = (__hashtable_alloc *)((int)(p_Var21 + 1) + 4);\n                  std::\n                  _Hashtable<std::pair<gold" (binary_expression "(p_Var21 == p_Var1) ||\n                      (object < (Sized_relobj_file<32,_false> *)p_Var21->_M_node_count)) ||\n                     ((object == (Sized_relobj_file<32,_false> *)p_Var21->_M_node_count &&\n                      (data_shndx < *(uint *)(p_Var21 + 1))))) goto LAB_000d2bd8;\n                }\n                ppGVar27 = (General_options **)(puVar26 + -2);\n                puVar26 = puVar26 + -2;\n                for (puVar11 = *(undefined4 **)(puVar13 + 0x30); puVar11 != (undefined4 *)0x0;\n                    puVar11 = (undefined4 *)*puVar11) {\n                  *(undefined4 *)((int)puVar26 + -0xc) = 1;\n                  *(undefined4 *)((int)puVar26 + -0x10) = 0;\n                  *(__node_gen_type **)((int)puVar26 + -0x14) = &__node_gen_1;\n                  *(undefined4 **)((int)puVar26 + -0x18) = puVar11 + 1;\n                  *(int *)((int)puVar26 + -0x1c) = (int)(p_Var21 + 1) + 4;\n                  *(undefined1 **)((int)puVar26 + -0x20) = local_e0;\n                  *(undefined4 *)((int)puVar26 + -0x24) = 0xd29ae;\n                  __node_gen_1._M_h = (__hashtable_alloc *)((int)(p_Var21 + 1) + 4);\n                  std::\n                  _Hashtable<std" (assignment_expression "(p_Var21 == p_Var1) ||\n                      (object < (Sized_relobj_file<32,_false> *)p_Var21->_M_node_count)) ||\n                     ((object == (Sized_relobj_file<32,_false> *)p_Var21->_M_node_count &&\n                      (data_shndx < *(uint *)(p_Var21 + 1))))) goto LAB_000d2bd8;\n                }\n                ppGVar27 = (General_options **)(puVar26 + -2);\n                puVar26 = puVar26 + -2;\n                for (puVar11 = *(undefined4 **)(puVar13 + 0x30); puVar11 != (undefined4 *)0x0;\n                    puVar11 = (undefined4 *)*puVar11) {\n                  *(undefined4 *)((int)puVar26 + -0xc) = 1;\n                  *(undefined4 *)((int)puVar26 + -0x10) = 0;\n                  *(__node_gen_type **)((int)puVar26 + -0x14) = &__node_gen_1;\n                  *(undefined4 **)((int)puVar26 + -0x18) = puVar11 + 1;\n                  *(int *)((int)puVar26 + -0x1c) = (int)(p_Var21 + 1) + 4;\n                  *(undefined1 **)((int)puVar26 + -0x20) = local_e0;\n                  *(undefined4 *)((int)puVar26 + -0x24) = 0xd29ae;\n                  __node_gen_1._M_h = (__hashtable_alloc *)((int)(p_Var21 + 1) + 4)" (field_expression "(p_Var21 == p_Var1) ||\n                      (object < (Sized_relobj_file<32,_false> *)p_Var21->_M_node_count)) ||\n                     ((object == (Sized_relobj_file<32,_false> *)p_Var21->_M_node_count &&\n                      (data_shndx < *(uint *)(p_Var21 + 1))))) goto LAB_000d2bd8;\n                }\n                ppGVar27 = (General_options **)(puVar26 + -2);\n                puVar26 = puVar26 + -2;\n                for (puVar11 = *(undefined4 **)(puVar13 + 0x30); puVar11 != (undefined4 *)0x0;\n                    puVar11 = (undefined4 *)*puVar11) {\n                  *(undefined4 *)((int)puVar26 + -0xc) = 1;\n                  *(undefined4 *)((int)puVar26 + -0x10) = 0;\n                  *(__node_gen_type **)((int)puVar26 + -0x14) = &__node_gen_1;\n                  *(undefined4 **)((int)puVar26 + -0x18) = puVar11 + 1;\n                  *(int *)((int)puVar26 + -0x1c) = (int)(p_Var21 + 1) + 4;\n                  *(undefined1 **)((int)puVar26 + -0x20) = local_e0;\n                  *(undefined4 *)((int)puVar26 + -0x24) = 0xd29ae;\n                  __node_gen_1._M_h" (binary_expression "(p_Var21 == p_Var1) ||\n                      (object < (Sized_relobj_file<32,_false> *)p_Var21->_M_node_count)) ||\n                     ((object == (Sized_relobj_file<32,_false> *)p_Var21->_M_node_count &&\n                      (data_shndx < *(uint *)(p_Var21 + 1))))) goto LAB_000d2bd8;\n                }\n                ppGVar27 = (General_options **)(puVar26 + -2);\n                puVar26 = puVar26 + -2;\n                for (puVar11 = *(undefined4 **)(puVar13 + 0x30); puVar11 != (undefined4 *)0x0;\n                    puVar11 = (undefined4 *)*puVar11) {\n                  *(undefined4 *)((int)puVar26 + -0xc) = 1;\n                  *(undefined4 *)((int)puVar26 + -0x10) = 0;\n                  *(__node_gen_type **)((int)puVar26 + -0x14) = &__node_gen_1;\n                  *(undefined4 **)((int)puVar26 + -0x18) = puVar11 + 1;\n                  *(int *)((int)puVar26 + -0x1c) = (int)(p_Var21 + 1) + 4;\n                  *(undefined1 **)((int)puVar26 + -0x20) = local_e0;\n                  *(undefined4 *)((int)puVar26 + -0x24) = 0xd29ae" (binary_expression "(p_Var21 == p_Var1) ||\n                      (object < (Sized_relobj_file<32,_false> *)p_Var21->_M_node_count)) ||\n                     ((object == (Sized_relobj_file<32,_false> *)p_Var21->_M_node_count &&\n                      (data_shndx < *(uint *)(p_Var21 + 1))))) goto LAB_000d2bd8;\n                }\n                ppGVar27 = (General_options **)(puVar26 + -2);\n                puVar26 = puVar26 + -2;\n                for (puVar11 = *(undefined4 **)(puVar13 + 0x30); puVar11 != (undefined4 *)0x0;\n                    puVar11 = (undefined4 *)*puVar11) {\n                  *(undefined4 *)((int)puVar26 + -0xc) = 1;\n                  *(undefined4 *)((int)puVar26 + -0x10) = 0;\n                  *(__node_gen_type **)((int)puVar26 + -0x14) = &__node_gen_1;\n                  *(undefined4 **)((int)puVar26 + -0x18) = puVar11 + 1;\n                  *(int *)((int)puVar26 + -0x1c) = (int)(p_Var21 + 1) + 4;\n                  *(undefined1 **)((int)puVar26 + -0x20) = local_e0" (binary_expression "(p_Var21 == p_Var1) ||\n                      (object < (Sized_relobj_file<32,_false> *)p_Var21->_M_node_count)) ||\n                     ((object == (Sized_relobj_file<32,_false> *)p_Var21->_M_node_count &&\n                      (data_shndx < *(uint *)(p_Var21 + 1))))) goto LAB_000d2bd8;\n                }\n                ppGVar27 = (General_options **)(puVar26 + -2);\n                puVar26 = puVar26 + -2;\n                for (puVar11 = *(undefined4 **)(puVar13 + 0x30); puVar11 != (undefined4 *)0x0;\n                    puVar11 = (undefined4 *)*puVar11) {\n                  *(undefined4 *)((int)puVar26 + -0xc) = 1;\n                  *(undefined4 *)((int)puVar26 + -0x10) = 0;\n                  *(__node_gen_type **)((int)puVar26 + -0x14) = &__node_gen_1;\n                  *(undefined4 **)((int)puVar26 + -0x18) = puVar11 + 1;\n                  *(int *)((int)puVar26 + -0x1c) = (int)(p_Var21 + 1) + 4" (binary_expression "(p_Var21 == p_Var1) ||\n                      (object < (Sized_relobj_file<32,_false> *)p_Var21->_M_node_count)) ||\n                     ((object == (Sized_relobj_file<32,_false> *)p_Var21->_M_node_count &&\n                      (data_shndx < *(uint *)(p_Var21 + 1))))) goto LAB_000d2bd8;\n                }\n                ppGVar27 = (General_options **)(puVar26 + -2);\n                puVar26 = puVar26 + -2;\n                for (puVar11 = *(undefined4 **)(puVar13 + 0x30); puVar11 != (undefined4 *)0x0;\n                    puVar11 = (undefined4 *)*puVar11) {\n                  *(undefined4 *)((int)puVar26 + -0xc) = 1;\n                  *(undefined4 *)((int)puVar26 + -0x10) = 0;\n                  *(__node_gen_type **)((int)puVar26 + -0x14) = &__node_gen_1;\n                  *(undefined4 **)((int)puVar26 + -0x18) = puVar11 + 1" (binary_expression "(p_Var21 == p_Var1) ||\n                      (object < (Sized_relobj_file<32,_false> *)p_Var21->_M_node_count)) ||\n                     ((object == (Sized_relobj_file<32,_false> *)p_Var21->_M_node_count &&\n                      (data_shndx < *(uint *)(p_Var21 + 1))))) goto LAB_000d2bd8;\n                }\n                ppGVar27 = (General_options **)(puVar26 + -2);\n                puVar26 = puVar26 + -2;\n                for (puVar11 = *(undefined4 **)(puVar13 + 0x30); puVar11 != (undefined4 *)0x0;\n                    puVar11 = (undefined4 *)*puVar11) {\n                  *(undefined4 *)((int)puVar26 + -0xc) = 1;\n                  *(undefined4 *)((int)puVar26 + -0x10) = 0;\n                  *(__node_gen_type **)((int)puVar26 + -0x14) = &__node_gen_1" (binary_expression "(p_Var21 == p_Var1) ||\n                      (object < (Sized_relobj_file<32,_false> *)p_Var21->_M_node_count)) ||\n                     ((object == (Sized_relobj_file<32,_false> *)p_Var21->_M_node_count &&\n                      (data_shndx < *(uint *)(p_Var21 + 1))))) goto LAB_000d2bd8;\n                }\n                ppGVar27 = (General_options **)(puVar26 + -2);\n                puVar26 = puVar26 + -2;\n                for (puVar11 = *(undefined4 **)(puVar13 + 0x30); puVar11 != (undefined4 *)0x0;\n                    puVar11 = (undefined4 *)*puVar11) {\n                  *(undefined4 *)((int)puVar26 + -0xc) = 1;\n                  *(undefined4 *)((int)puVar26 + -0x10) = 0" (binary_expression "(p_Var21 == p_Var1) ||\n                      (object < (Sized_relobj_file<32,_false> *)p_Var21->_M_node_count)) ||\n                     ((object == (Sized_relobj_file<32,_false> *)p_Var21->_M_node_count &&\n                      (data_shndx < *(uint *)(p_Var21 + 1))))) goto LAB_000d2bd8;\n                }\n                ppGVar27 = (General_options **)(puVar26 + -2);\n                puVar26 = puVar26 + -2;\n                for (puVar11 = *(undefined4 **)(puVar13 + 0x30); puVar11 != (undefined4 *)0x0;\n                    puVar11 = (undefined4 *)*puVar11) {\n                  *(undefined4 *)((int)puVar26 + -0xc) = 1" (call_expression "(p_Var21 == p_Var1) ||\n                      (object < (Sized_relobj_file<32,_false> *)p_Var21->_M_node_count)) ||\n                     ((object == (Sized_relobj_file<32,_false> *)p_Var21->_M_node_count &&\n                      (data_shndx < *(uint *)(p_Var21 + 1))))) goto LAB_000d2bd8;\n                }\n                ppGVar27 = (General_options **)(puVar26 + -2);\n                puVar26 = puVar26 + -2;\n                for (puVar11 = *(undefined4 **)(puVar13 + 0x30); puVar11 != (undefined4 *)0x0;\n                    puVar11 = (undefined4 *)*puVar11)" (binary_expression "(p_Var21 == p_Var1) ||\n                      (object < (Sized_relobj_file<32,_false> *)p_Var21->_M_node_count)) ||\n                     ((object == (Sized_relobj_file<32,_false> *)p_Var21->_M_node_count &&\n                      (data_shndx < *(uint *)(p_Var21 + 1))))) goto LAB_000d2bd8;\n                }\n                ppGVar27 = (General_options **)(puVar26 + -2);\n                puVar26 = puVar26 + -2" (binary_expression "(p_Var21 == p_Var1) ||\n                      (object < (Sized_relobj_file<32,_false> *)p_Var21->_M_node_count)) ||\n                     ((object == (Sized_relobj_file<32,_false> *)p_Var21->_M_node_count &&\n                      (data_shndx < *(uint *)(p_Var21 + 1))))) goto LAB_000d2bd8;\n                }\n                ppGVar27 = (General_options **)(puVar26 + -2)" (binary_expression "(p_Var21 == p_Var1) ||\n                      (object < (Sized_relobj_file<32,_false> *)p_Var21->_M_node_count))" (parenthesized_expression "(p_Var21 == p_Var1)" ( (binary_expression "p_Var21 == p_Var1" identifier == identifier) )) || (parenthesized_expression "(object < (Sized_relobj_file<32,_false> *)p_Var21->_M_node_count))" ( (binary_expression "object < (Sized_relobj_file<32,_false> *)p_Var21->_M_node_count)" identifier < (parenthesized_expression "(Sized_relobj_file<32,_false> *)p_Var21->_M_node_count)" ( (comma_expression "Sized_relobj_file<32,_false> *)p_Var21->_M_node_count" (binary_expression "Sized_relobj_file<32" identifier < number_literal) , (binary_expression "_false> *)p_Var21->_M_node_count" identifier > (pointer_expression "*)p_Var21->_M_node_count" * (ERROR ")" )) (field_expression "p_Var21->_M_node_count" identifier -> field_identifier)))) ))) ))) || (assignment_expression "((object == (Sized_relobj_file<32,_false> *)p_Var21->_M_node_count &&\n                      (data_shndx < *(uint *)(p_Var21 + 1))))) goto LAB_000d2bd8;\n                }\n                ppGVar27 = (General_options **)(puVar26 + -2)" (parenthesized_expression "((object == (Sized_relobj_file<32,_false> *)p_Var21->_M_node_count &&\n                      (data_shndx < *(uint *)(p_Var21 + 1)))))" ( (parenthesized_expression "(object == (Sized_relobj_file<32,_false> *)p_Var21->_M_node_count &&\n                      (data_shndx < *(uint *)(p_Var21 + 1))))" ( (binary_expression "object == (Sized_relobj_file<32,_false> *)p_Var21->_M_node_count &&\n                      (data_shndx < *(uint *)(p_Var21 + 1)))" identifier == (parenthesized_expression "(Sized_relobj_file<32,_false> *)p_Var21->_M_node_count &&\n                      (data_shndx < *(uint *)(p_Var21 + 1)))" ( (comma_expression "Sized_relobj_file<32,_false> *)p_Var21->_M_node_count &&\n                      (data_shndx < *(uint *)(p_Var21 + 1))" (binary_expression "Sized_relobj_file<32" identifier < number_literal) , (binary_expression "_false> *)p_Var21->_M_node_count &&\n                      (data_shndx < *(uint *)(p_Var21 + 1))" (binary_expression "_false> *)p_Var21->_M_node_count" identifier > (pointer_expression "*)p_Var21->_M_node_count" * (ERROR ")" )) (field_expression "p_Var21->_M_node_count" identifier -> field_identifier))) && (parenthesized_expression "(data_shndx < *(uint *)(p_Var21 + 1))" ( (binary_expression "data_shndx < *(uint *)(p_Var21 + 1)" identifier < (pointer_expression "*(uint *)(p_Var21 + 1)" * (cast_expression "(uint *)(p_Var21 + 1)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(p_Var21 + 1)" ( (binary_expression "p_Var21 + 1" identifier + number_literal) ))))) )))) ))) )) )) (ERROR "goto LAB_000d2bd8;\n                }\n                ppGVar27" identifier identifier ; } identifier) = (cast_expression "(General_options **)(puVar26 + -2)" ( (type_descriptor "General_options **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar26 + -2)" ( (binary_expression "puVar26 + -2" identifier + number_literal) ))))) (ERROR ";\n                puVar26 = puVar26" ; identifier = identifier) + number_literal) (ERROR ";\n                for" ; for) (argument_list "(puVar11 = *(undefined4 **)(puVar13 + 0x30); puVar11 != (undefined4 *)0x0;\n                    puVar11 = (undefined4 *)*puVar11)" ( (ERROR "puVar11 = *(undefined4 **)(puVar13 + 0x30); puVar11 != (undefined4 *)0x0;" (binary_expression "puVar11 = *(undefined4 **)(puVar13 + 0x30); puVar11 != (undefined4 *)0x0" (assignment_expression "puVar11 = *(undefined4 **)(puVar13 + 0x30)" identifier = (pointer_expression "*(undefined4 **)(puVar13 + 0x30)" * (cast_expression "(undefined4 **)(puVar13 + 0x30)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar13 + 0x30)" ( (binary_expression "puVar13 + 0x30" identifier + number_literal) ))))) (ERROR "; puVar11" ; identifier) != (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (assignment_expression "puVar11 = (undefined4 *)*puVar11" identifier = (cast_expression "(undefined4 *)*puVar11" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar11" * identifier))) ))) (ERROR "{" {) * (cast_expression "(undefined4 *)((int)puVar26 + -0xc) = 1" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (assignment_expression "((int)puVar26 + -0xc) = 1" (parenthesized_expression "((int)puVar26 + -0xc)" ( (binary_expression "(int)puVar26 + -0xc" (cast_expression "(int)puVar26" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )) = number_literal))) (ERROR ";" ;) * (cast_expression "(undefined4 *)((int)puVar26 + -0x10) = 0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (assignment_expression "((int)puVar26 + -0x10) = 0" (parenthesized_expression "((int)puVar26 + -0x10)" ( (binary_expression "(int)puVar26 + -0x10" (cast_expression "(int)puVar26" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )) = number_literal))) (ERROR ";" ;) * (cast_expression "(__node_gen_type **)((int)puVar26 + -0x14) = &__node_gen_1" ( (type_descriptor "__node_gen_type **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (assignment_expression "((int)puVar26 + -0x14) = &__node_gen_1" (parenthesized_expression "((int)puVar26 + -0x14)" ( (binary_expression "(int)puVar26 + -0x14" (cast_expression "(int)puVar26" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )) = (pointer_expression "&__node_gen_1" & identifier)))) (ERROR ";" ;) * (cast_expression "(undefined4 **)((int)puVar26 + -0x18) = puVar11 + 1" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (assignment_expression "((int)puVar26 + -0x18) = puVar11 + 1" (parenthesized_expression "((int)puVar26 + -0x18)" ( (binary_expression "(int)puVar26 + -0x18" (cast_expression "(int)puVar26" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )) = (binary_expression "puVar11 + 1" identifier + number_literal)))) (ERROR ";" ;) * (cast_expression "(int *)((int)puVar26 + -0x1c) = (int)(p_Var21 + 1) + 4" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (assignment_expression "((int)puVar26 + -0x1c) = (int)(p_Var21 + 1) + 4" (parenthesized_expression "((int)puVar26 + -0x1c)" ( (binary_expression "(int)puVar26 + -0x1c" (cast_expression "(int)puVar26" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )) = (binary_expression "(int)(p_Var21 + 1) + 4" (cast_expression "(int)(p_Var21 + 1)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(p_Var21 + 1)" ( (binary_expression "p_Var21 + 1" identifier + number_literal) ))) + number_literal)))) (ERROR ";" ;) * (cast_expression "(undefined1 **)((int)puVar26 + -0x20) = local_e0" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (assignment_expression "((int)puVar26 + -0x20) = local_e0" (parenthesized_expression "((int)puVar26 + -0x20)" ( (binary_expression "(int)puVar26 + -0x20" (cast_expression "(int)puVar26" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )) = identifier))) (ERROR ";" ;) * (cast_expression "(undefined4 *)((int)puVar26 + -0x24) = 0xd29ae" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (assignment_expression "((int)puVar26 + -0x24) = 0xd29ae" (parenthesized_expression "((int)puVar26 + -0x24)" ( (binary_expression "(int)puVar26 + -0x24" (cast_expression "(int)puVar26" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )) = number_literal))) (ERROR ";\n                  __node_gen_1" ; identifier) . field_identifier) = (cast_expression "(__hashtable_alloc *)((int)(p_Var21 + 1) + 4)" ( (type_descriptor "__hashtable_alloc *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)(p_Var21 + 1) + 4)" ( (binary_expression "(int)(p_Var21 + 1) + 4" (cast_expression "(int)(p_Var21 + 1)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(p_Var21 + 1)" ( (binary_expression "p_Var21 + 1" identifier + number_literal) ))) + number_literal) )))) (ERROR ";\n                  std::\n                  _Hashtable" ; identifier : : identifier) < identifier) (ERROR "::pair" : : identifier) < identifier) (ERROR "::Relobj" : : identifier) * (ERROR "," ,) identifier) > (ERROR "," ,) identifier) (ERROR "::pair" : : identifier) < identifier) (ERROR "::Relobj" : : identifier) * (ERROR "," ,) identifier) > (ERROR "," ,) identifier) (ERROR "::allocator" : : identifier) < identifier) (ERROR "::pair" : : identifier) < identifier) (ERROR "::Relobj" : : identifier) * (ERROR "," ,) identifier) > identifier) > (ERROR "," ,) identifier) (ERROR "::__detail::_Identity" : : identifier : : identifier) , identifier) (ERROR "::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                  ::\n                  _M_insert<const_std::pair<gold::Relobj*,_unsigned_int>&,_std::__detail::_AllocNode<std::allocator<std::__detail::_Hash_node<std::pair<gold::Relobj*,_unsigned_int>,_true>_>_>_>\n                            (" : : identifier < identifier : : identifier < identifier : : identifier * , identifier > identifier > , identifier : : identifier , identifier : : identifier : : identifier , identifier : : identifier : : identifier , identifier : : identifier : : identifier , identifier : : identifier : : identifier < true , identifier , identifier > identifier > : : identifier < identifier : : identifier < identifier : : identifier * , identifier > & , identifier : : identifier : : identifier < identifier : : identifier < identifier : : identifier : : identifier < identifier : : identifier < identifier : : identifier * , identifier > , identifier > identifier > identifier > identifier > () )) )) (expression_statement ";" ;))) (expression_statement "ppGVar27 = (General_options **)((int)puVar26 + -4);" (assignment_expression "ppGVar27 = (General_options **)((int)puVar26 + -4)" identifier = (cast_expression "(General_options **)((int)puVar26 + -4)" ( (type_descriptor "General_options **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar26 + -4)" ( (binary_expression "(int)puVar26 + -4" (cast_expression "(int)puVar26" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "puVar26 = (undefined4 *)((int)puVar26 + -4);" (assignment_expression "puVar26 = (undefined4 *)((int)puVar26 + -4)" identifier = (cast_expression "(undefined4 *)((int)puVar26 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar26 + -4)" ( (binary_expression "(int)puVar26 + -4" (cast_expression "(int)puVar26" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) }) (ERROR "}\n            }\n          }\n        }\n      }\n      else {\n        if (uVar25 < object->local_symbol_count_" } } } } } else { if ( identifier < identifier -> identifier) )) (ERROR "{\n          src_id_1" { identifier) . field_identifier) = (cast_expression "(Relobj *)0x0" ( (type_descriptor "Relobj *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)))) (ERROR ";\nLAB_000d2a1f:\n          *(undefined ***" ; identifier : * ( identifier * * *) )) (argument_list "((int)ppGVar27 + -8)" ( (binary_expression "(int)ppGVar27 + -8" (cast_expression "(int)ppGVar27" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))) = (binary_expression "local_b8 + -0x615ed" identifier + number_literal)) ))) ;) (expression_statement "*(undefined4 *)((int)ppGVar27 + -0xc) = 0x11c;" (assignment_expression "*(undefined4 *)((int)ppGVar27 + -0xc) = 0x11c" (pointer_expression "*(undefined4 *)((int)ppGVar27 + -0xc)" * (cast_expression "(undefined4 *)((int)ppGVar27 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppGVar27 + -0xc)" ( (binary_expression "(int)ppGVar27 + -0xc" (cast_expression "(int)ppGVar27" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)((int)ppGVar27 + -0x10) = (int)local_b8 + -0x19ca36;" (assignment_expression "*(int *)((int)ppGVar27 + -0x10) = (int)local_b8 + -0x19ca36" (pointer_expression "*(int *)((int)ppGVar27 + -0x10)" * (cast_expression "(int *)((int)ppGVar27 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppGVar27 + -0x10)" ( (binary_expression "(int)ppGVar27 + -0x10" (cast_expression "(int)ppGVar27" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "(int)local_b8 + -0x19ca36" (cast_expression "(int)local_b8" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) comment (expression_statement "*(undefined4 *)((int)ppGVar27 + -0x14) = 0xd2a40;" (assignment_expression "*(undefined4 *)((int)ppGVar27 + -0x14) = 0xd2a40" (pointer_expression "*(undefined4 *)((int)ppGVar27 + -0x14)" * (cast_expression "(undefined4 *)((int)ppGVar27 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppGVar27 + -0x14)" ( (binary_expression "(int)ppGVar27 + -0x14" (cast_expression "(int)ppGVar27" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (labeled_statement "gold::do_gold_unreachable\n                    (*(char **)((int)ppGVar27 + -0x10),*(int *)((int)ppGVar27 + -0xc),\n                     *(char **)((int)ppGVar27 + -8));" statement_identifier : (ERROR ":" :) (expression_statement "do_gold_unreachable\n                    (*(char **)((int)ppGVar27 + -0x10),*(int *)((int)ppGVar27 + -0xc),\n                     *(char **)((int)ppGVar27 + -8));" (call_expression "do_gold_unreachable\n                    (*(char **)((int)ppGVar27 + -0x10),*(int *)((int)ppGVar27 + -0xc),\n                     *(char **)((int)ppGVar27 + -8))" identifier (argument_list "(*(char **)((int)ppGVar27 + -0x10),*(int *)((int)ppGVar27 + -0xc),\n                     *(char **)((int)ppGVar27 + -8))" ( (pointer_expression "*(char **)((int)ppGVar27 + -0x10)" * (cast_expression "(char **)((int)ppGVar27 + -0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)ppGVar27 + -0x10)" ( (binary_expression "(int)ppGVar27 + -0x10" (cast_expression "(int)ppGVar27" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (pointer_expression "*(int *)((int)ppGVar27 + -0xc)" * (cast_expression "(int *)((int)ppGVar27 + -0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppGVar27 + -0xc)" ( (binary_expression "(int)ppGVar27 + -0xc" (cast_expression "(int)ppGVar27" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (pointer_expression "*(char **)((int)ppGVar27 + -8)" * (cast_expression "(char **)((int)ppGVar27 + -8)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)ppGVar27 + -8)" ( (binary_expression "(int)ppGVar27 + -8" (cast_expression "(int)ppGVar27" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ))) ;)) })) (expression_statement "uVar25 = uVar25 - object->local_symbol_count_;" (assignment_expression "uVar25 = uVar25 - object->local_symbol_count_" identifier = (binary_expression "uVar25 - object->local_symbol_count_" identifier - (field_expression "object->local_symbol_count_" identifier -> field_identifier))) ;) (expression_statement "ppSVar7 = (object->symbols_).\n                  super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl._M_start\n        ;" (field_expression "ppSVar7 = (object->symbols_).\n                  super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl._M_start" (field_expression "ppSVar7 = (object->symbols_).\n                  super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl" (binary_expression "ppSVar7 = (object->symbols_).\n                  super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_" (binary_expression "ppSVar7 = (object->symbols_).\n                  super__Vector_base<gold::Symbol*,_std::allocator<gold" (binary_expression "ppSVar7 = (object->symbols_).\n                  super__Vector_base<gold::Symbol*,_std" (assignment_expression "ppSVar7 = (object->symbols_).\n                  super__Vector_base<gold" identifier = (binary_expression "(object->symbols_).\n                  super__Vector_base<gold" (field_expression "(object->symbols_).\n                  super__Vector_base" (parenthesized_expression "(object->symbols_)" ( (field_expression "object->symbols_" identifier -> field_identifier) )) . field_identifier) < identifier)) (ERROR "::Symbol" : : identifier) * (ERROR "," ,) identifier) (ERROR "::allocator" : : identifier) < identifier) (ERROR "::Symbol" : : identifier) * (ERROR ">" >) identifier) (ERROR ">" >) . field_identifier) . field_identifier) ;) (expression_statement "local_b0 = (Icf *)(object->symbols_).\n                          super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                          _M_finish;" (field_expression "local_b0 = (Icf *)(object->symbols_).\n                          super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                          _M_finish" (field_expression "local_b0 = (Icf *)(object->symbols_).\n                          super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl" (binary_expression "local_b0 = (Icf *)(object->symbols_).\n                          super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_" (binary_expression "local_b0 = (Icf *)(object->symbols_).\n                          super__Vector_base<gold::Symbol*,_std::allocator<gold" (binary_expression "local_b0 = (Icf *)(object->symbols_).\n                          super__Vector_base<gold::Symbol*,_std" (assignment_expression "local_b0 = (Icf *)(object->symbols_).\n                          super__Vector_base<gold" identifier = (binary_expression "(Icf *)(object->symbols_).\n                          super__Vector_base<gold" (cast_expression "(Icf *)(object->symbols_).\n                          super__Vector_base" ( (type_descriptor "Icf *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "(object->symbols_).\n                          super__Vector_base" (parenthesized_expression "(object->symbols_)" ( (field_expression "object->symbols_" identifier -> field_identifier) )) . field_identifier)) < identifier)) (ERROR "::Symbol" : : identifier) * (ERROR "," ,) identifier) (ERROR "::allocator" : : identifier) < identifier) (ERROR "::Symbol" : : identifier) * (ERROR ">" >) identifier) (ERROR ">" >) . field_identifier) . field_identifier) ;) (if_statement "if ((uint)((int)local_b0 - (int)ppSVar7 >> 2) <= uVar25) {\n          *(undefined ***)((int)ppGVar27 + -8) = local_b8 + -0x6156c;\n          *(undefined4 *)((int)ppGVar27 + -0xc) = 0x8ad;\n          *(int *)((int)ppGVar27 + -0x10) = (int)local_b8 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n          *(undefined4 *)((int)ppGVar27 + -0x14) = 0xd2f8f;\n          gold::do_gold_unreachable\n                    (*(char **)((int)ppGVar27 + -0x10),*(int *)((int)ppGVar27 + -0xc),\n                     *(char **)((int)ppGVar27 + -8));\n        }" if (parenthesized_expression "((uint)((int)local_b0 - (int)ppSVar7 >> 2) <= uVar25)" ( (binary_expression "(uint)((int)local_b0 - (int)ppSVar7 >> 2) <= uVar25" (call_expression "(uint)((int)local_b0 - (int)ppSVar7 >> 2)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((int)local_b0 - (int)ppSVar7 >> 2)" ( (binary_expression "(int)local_b0 - (int)ppSVar7 >> 2" (binary_expression "(int)local_b0 - (int)ppSVar7" (cast_expression "(int)local_b0" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)ppSVar7" ( (type_descriptor "int" primitive_type) ) identifier)) >> number_literal) ))) <= identifier) )) (compound_statement "{\n          *(undefined ***)((int)ppGVar27 + -8) = local_b8 + -0x6156c;\n          *(undefined4 *)((int)ppGVar27 + -0xc) = 0x8ad;\n          *(int *)((int)ppGVar27 + -0x10) = (int)local_b8 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n          *(undefined4 *)((int)ppGVar27 + -0x14) = 0xd2f8f;\n          gold::do_gold_unreachable\n                    (*(char **)((int)ppGVar27 + -0x10),*(int *)((int)ppGVar27 + -0xc),\n                     *(char **)((int)ppGVar27 + -8));\n        }" { (expression_statement "*(undefined ***)((int)ppGVar27 + -8) = local_b8 + -0x6156c;" (assignment_expression "*(undefined ***)((int)ppGVar27 + -8) = local_b8 + -0x6156c" (pointer_expression "*(undefined ***)((int)ppGVar27 + -8)" * (cast_expression "(undefined ***)((int)ppGVar27 + -8)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "((int)ppGVar27 + -8)" ( (binary_expression "(int)ppGVar27 + -8" (cast_expression "(int)ppGVar27" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "local_b8 + -0x6156c" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)((int)ppGVar27 + -0xc) = 0x8ad;" (assignment_expression "*(undefined4 *)((int)ppGVar27 + -0xc) = 0x8ad" (pointer_expression "*(undefined4 *)((int)ppGVar27 + -0xc)" * (cast_expression "(undefined4 *)((int)ppGVar27 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppGVar27 + -0xc)" ( (binary_expression "(int)ppGVar27 + -0xc" (cast_expression "(int)ppGVar27" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)((int)ppGVar27 + -0x10) = (int)local_b8 + -0x19cc7b;" (assignment_expression "*(int *)((int)ppGVar27 + -0x10) = (int)local_b8 + -0x19cc7b" (pointer_expression "*(int *)((int)ppGVar27 + -0x10)" * (cast_expression "(int *)((int)ppGVar27 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppGVar27 + -0x10)" ( (binary_expression "(int)ppGVar27 + -0x10" (cast_expression "(int)ppGVar27" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "(int)local_b8 + -0x19cc7b" (cast_expression "(int)local_b8" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) comment (expression_statement "*(undefined4 *)((int)ppGVar27 + -0x14) = 0xd2f8f;" (assignment_expression "*(undefined4 *)((int)ppGVar27 + -0x14) = 0xd2f8f" (pointer_expression "*(undefined4 *)((int)ppGVar27 + -0x14)" * (cast_expression "(undefined4 *)((int)ppGVar27 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppGVar27 + -0x14)" ( (binary_expression "(int)ppGVar27 + -0x14" (cast_expression "(int)ppGVar27" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (labeled_statement "gold::do_gold_unreachable\n                    (*(char **)((int)ppGVar27 + -0x10),*(int *)((int)ppGVar27 + -0xc),\n                     *(char **)((int)ppGVar27 + -8));" statement_identifier : (ERROR ":" :) (expression_statement "do_gold_unreachable\n                    (*(char **)((int)ppGVar27 + -0x10),*(int *)((int)ppGVar27 + -0xc),\n                     *(char **)((int)ppGVar27 + -8));" (call_expression "do_gold_unreachable\n                    (*(char **)((int)ppGVar27 + -0x10),*(int *)((int)ppGVar27 + -0xc),\n                     *(char **)((int)ppGVar27 + -8))" identifier (argument_list "(*(char **)((int)ppGVar27 + -0x10),*(int *)((int)ppGVar27 + -0xc),\n                     *(char **)((int)ppGVar27 + -8))" ( (pointer_expression "*(char **)((int)ppGVar27 + -0x10)" * (cast_expression "(char **)((int)ppGVar27 + -0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)ppGVar27 + -0x10)" ( (binary_expression "(int)ppGVar27 + -0x10" (cast_expression "(int)ppGVar27" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (pointer_expression "*(int *)((int)ppGVar27 + -0xc)" * (cast_expression "(int *)((int)ppGVar27 + -0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppGVar27 + -0xc)" ( (binary_expression "(int)ppGVar27 + -0xc" (cast_expression "(int)ppGVar27" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (pointer_expression "*(char **)((int)ppGVar27 + -8)" * (cast_expression "(char **)((int)ppGVar27 + -8)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)ppGVar27 + -8)" ( (binary_expression "(int)ppGVar27 + -8" (cast_expression "(int)ppGVar27" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ))) ;)) })) (expression_statement "src_id_1.first = (Relobj *)ppSVar7[uVar25];" (assignment_expression "src_id_1.first = (Relobj *)ppSVar7[uVar25]" (field_expression "src_id_1.first" identifier . field_identifier) = (cast_expression "(Relobj *)ppSVar7[uVar25]" ( (type_descriptor "Relobj *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "ppSVar7[uVar25]" identifier [ identifier ]))) ;) (if_statement "if (src_id_1.first == (Relobj *)0x0) goto LAB_000d2a1f;" if (parenthesized_expression "(src_id_1.first == (Relobj *)0x0)" ( (binary_expression "src_id_1.first == (Relobj *)0x0" (field_expression "src_id_1.first" identifier . field_identifier) == (cast_expression "(Relobj *)0x0" ( (type_descriptor "Relobj *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_000d2a1f;" goto statement_identifier ;)) (if_statement "if ((((src_id_1.first)->super_Object).shnum_ & 0x100000) == 0) {\n          if ((((src_id_1.first)->super_Object).shnum_ & 0x70000) != 0) goto LAB_000d29e2;\nLAB_000d25f7:\n          local_f0 = (Relobj *)((src_id_1.first)->super_Object).xindex_;\n          local_c0 = ((anon_union_4_3_b0f6f408_for_u1_ *)\n                     &((src_id_1.first)->super_Object).name_._M_string_length)->output_segment;\n          local_c4 = (int)&local_bc->first + (int)local_f0;\n          if (((uint)local_c0->output_lists_[3].\n                     super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>.\n                     _M_impl._M_end_of_storage & 1) == 0) {\n            local_b4 = (Relobj *)\n                       ((src_id_1.first)->super_Object).name_.field_2._M_allocated_capacity;\n            bVar22 = (byte)((src_id_1.first)->super_Object).shnum_ & 0xf;\n            bVar23 = *(byte *)((int)&((src_id_1.first)->super_Object).shnum_ + 3) >> 5 & 1;\n            bVar34 = bVar22 < 2;\n            bVar36 = bVar22 == 2;\n            if (bVar36) {\n              bVar34 = false;\n              bVar36 = local_d2 == false;\n              if ((!bVar36) &&\n                 (((bVar23 == 0 || (bVar36 = uVar31 == 0x17, 0x17 < uVar31)) ||\n                  (bVar34 = (0x843f84U >> (uVar6 & 0x1f) & 1) != 0, !bVar34)))) {\n                local_b0 = symtab->icf_;\n                *(undefined4 *)((int)ppGVar27 + -0xc) = 1;\n                *(undefined4 *)((int)ppGVar27 + -0x10) = 0;\n                *(__node_gen_type **)((int)ppGVar27 + -0x14) = &__node_gen_3;\n                *(Output_segment ***)((int)ppGVar27 + -0x18) = &local_78;\n                __node_gen_3._M_h = (__hashtable_alloc *)&local_b0->fptr_section_id_;\n                *(__hashtable_alloc **)((int)ppGVar27 + -0x1c) = __node_gen_3._M_h;\n                *(undefined1 **)((int)ppGVar27 + -0x20) = local_e0;\n                    /* try { // try from 000d2cc6 to 000d2cca has its CatchHandler @ 000d302c */\n                *(undefined4 *)((int)ppGVar27 + -0x24) = 0xd2ccb;\n                local_78 = local_c0;\n                local_74 = local_b4;\n                std::\n                _Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>,_std::__detail::_Identity,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                ::\n                _M_insert<std::pair<gold::Relobj*,_unsigned_int>,_std::__detail::_AllocNode<std::allocator<std::__detail::_Hash_node<std::pair<gold::Relobj*,_unsigned_int>,_true>_>_>_>\n                          ();\n                bVar34 = (undefined1 *)0xffffffe3 < (undefined1 *)((int)ppGVar27 + -0x20);\n                bVar36 = ppGVar27 == (General_options **)0x4;\n                ppGVar27 = (General_options **)((int)ppGVar27 + -4);\n              }\n            }\n          }\n          else {\n            local_b4 = (Relobj *)0x0;\n            bVar34 = false;\n            bVar23 = 0;\n            bVar36 = true;\n            local_c0 = (Output_segment *)0x0;\n          }\n        }\n        else {\n          *(Relobj **)((int)ppGVar27 + -0xc) = src_id_1.first;\n          *(Symbol_table **)((int)ppGVar27 + -0x10) = symtab;\n          *(undefined4 *)((int)ppGVar27 + -0x14) = 0xd29d2;\n          src_id_1.first =\n               (Relobj *)\n               gold::Symbol_table::resolve_forwards\n                         (*(Symbol_table **)((int)ppGVar27 + -0x10),\n                          *(Symbol **)((int)ppGVar27 + -0xc));\n          if ((((src_id_1.first)->super_Object).shnum_ & 0x70000) == 0) goto LAB_000d25f7;\nLAB_000d29e2:\n          local_f0 = (Relobj *)((src_id_1.first)->super_Object).xindex_;\n          bVar23 = 0;\n          local_b4 = (Relobj *)0x0;\n          local_c0 = (Output_segment *)0x0;\n          bVar34 = CARRY4((uint)local_bc,(uint)local_f0);\n          local_c4 = (int)&local_bc->first + (int)local_f0;\n          bVar36 = local_c4 == 0;\n        }" if (parenthesized_expression "((((src_id_1.first)->super_Object).shnum_ & 0x100000) == 0)" ( (binary_expression "(((src_id_1.first)->super_Object).shnum_ & 0x100000) == 0" (parenthesized_expression "(((src_id_1.first)->super_Object).shnum_ & 0x100000)" ( (binary_expression "((src_id_1.first)->super_Object).shnum_ & 0x100000" (field_expression "((src_id_1.first)->super_Object).shnum_" (parenthesized_expression "((src_id_1.first)->super_Object)" ( (field_expression "(src_id_1.first)->super_Object" (parenthesized_expression "(src_id_1.first)" ( (field_expression "src_id_1.first" identifier . field_identifier) )) -> field_identifier) )) . field_identifier) & number_literal) )) == number_literal) )) (compound_statement "{\n          if ((((src_id_1.first)->super_Object).shnum_ & 0x70000) != 0) goto LAB_000d29e2;\nLAB_000d25f7:\n          local_f0 = (Relobj *)((src_id_1.first)->super_Object).xindex_;\n          local_c0 = ((anon_union_4_3_b0f6f408_for_u1_ *)\n                     &((src_id_1.first)->super_Object).name_._M_string_length)->output_segment;\n          local_c4 = (int)&local_bc->first + (int)local_f0;\n          if (((uint)local_c0->output_lists_[3].\n                     super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>.\n                     _M_impl._M_end_of_storage & 1) == 0) {\n            local_b4 = (Relobj *)\n                       ((src_id_1.first)->super_Object).name_.field_2._M_allocated_capacity;\n            bVar22 = (byte)((src_id_1.first)->super_Object).shnum_ & 0xf;\n            bVar23 = *(byte *)((int)&((src_id_1.first)->super_Object).shnum_ + 3) >> 5 & 1;\n            bVar34 = bVar22 < 2;\n            bVar36 = bVar22 == 2;\n            if (bVar36) {\n              bVar34 = false;\n              bVar36 = local_d2 == false;\n              if ((!bVar36) &&\n                 (((bVar23 == 0 || (bVar36 = uVar31 == 0x17, 0x17 < uVar31)) ||\n                  (bVar34 = (0x843f84U >> (uVar6 & 0x1f) & 1) != 0, !bVar34)))) {\n                local_b0 = symtab->icf_;\n                *(undefined4 *)((int)ppGVar27 + -0xc) = 1;\n                *(undefined4 *)((int)ppGVar27 + -0x10) = 0;\n                *(__node_gen_type **)((int)ppGVar27 + -0x14) = &__node_gen_3;\n                *(Output_segment ***)((int)ppGVar27 + -0x18) = &local_78;\n                __node_gen_3._M_h = (__hashtable_alloc *)&local_b0->fptr_section_id_;\n                *(__hashtable_alloc **)((int)ppGVar27 + -0x1c) = __node_gen_3._M_h;\n                *(undefined1 **)((int)ppGVar27 + -0x20) = local_e0;\n                    /* try { // try from 000d2cc6 to 000d2cca has its CatchHandler @ 000d302c */\n                *(undefined4 *)((int)ppGVar27 + -0x24) = 0xd2ccb;\n                local_78 = local_c0;\n                local_74 = local_b4;\n                std::\n                _Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>,_std::__detail::_Identity,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                ::\n                _M_insert<std::pair<gold::Relobj*,_unsigned_int>,_std::__detail::_AllocNode<std::allocator<std::__detail::_Hash_node<std::pair<gold::Relobj*,_unsigned_int>,_true>_>_>_>\n                          ();\n                bVar34 = (undefined1 *)0xffffffe3 < (undefined1 *)((int)ppGVar27 + -0x20);\n                bVar36 = ppGVar27 == (General_options **)0x4;\n                ppGVar27 = (General_options **)((int)ppGVar27 + -4);\n              }\n            }\n          }\n          else {\n            local_b4 = (Relobj *)0x0;\n            bVar34 = false;\n            bVar23 = 0;\n            bVar36 = true;\n            local_c0 = (Output_segment *)0x0;\n          }\n        }" { (if_statement "if ((((src_id_1.first)->super_Object).shnum_ & 0x70000) != 0) goto LAB_000d29e2;" if (parenthesized_expression "((((src_id_1.first)->super_Object).shnum_ & 0x70000) != 0)" ( (binary_expression "(((src_id_1.first)->super_Object).shnum_ & 0x70000) != 0" (parenthesized_expression "(((src_id_1.first)->super_Object).shnum_ & 0x70000)" ( (binary_expression "((src_id_1.first)->super_Object).shnum_ & 0x70000" (field_expression "((src_id_1.first)->super_Object).shnum_" (parenthesized_expression "((src_id_1.first)->super_Object)" ( (field_expression "(src_id_1.first)->super_Object" (parenthesized_expression "(src_id_1.first)" ( (field_expression "src_id_1.first" identifier . field_identifier) )) -> field_identifier) )) . field_identifier) & number_literal) )) != number_literal) )) (goto_statement "goto LAB_000d29e2;" goto statement_identifier ;)) (labeled_statement "LAB_000d25f7:\n          local_f0 = (Relobj *)((src_id_1.first)->super_Object).xindex_;" statement_identifier : (expression_statement "local_f0 = (Relobj *)((src_id_1.first)->super_Object).xindex_;" (assignment_expression "local_f0 = (Relobj *)((src_id_1.first)->super_Object).xindex_" identifier = (cast_expression "(Relobj *)((src_id_1.first)->super_Object).xindex_" ( (type_descriptor "Relobj *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "((src_id_1.first)->super_Object).xindex_" (parenthesized_expression "((src_id_1.first)->super_Object)" ( (field_expression "(src_id_1.first)->super_Object" (parenthesized_expression "(src_id_1.first)" ( (field_expression "src_id_1.first" identifier . field_identifier) )) -> field_identifier) )) . field_identifier))) ;)) (expression_statement "local_c0 = ((anon_union_4_3_b0f6f408_for_u1_ *)\n                     &((src_id_1.first)->super_Object).name_._M_string_length)->output_segment;" (assignment_expression "local_c0 = ((anon_union_4_3_b0f6f408_for_u1_ *)\n                     &((src_id_1.first)->super_Object).name_._M_string_length)->output_segment" identifier = (field_expression "((anon_union_4_3_b0f6f408_for_u1_ *)\n                     &((src_id_1.first)->super_Object).name_._M_string_length)->output_segment" (parenthesized_expression "((anon_union_4_3_b0f6f408_for_u1_ *)\n                     &((src_id_1.first)->super_Object).name_._M_string_length)" ( (cast_expression "(anon_union_4_3_b0f6f408_for_u1_ *)\n                     &((src_id_1.first)->super_Object).name_._M_string_length" ( (type_descriptor "anon_union_4_3_b0f6f408_for_u1_ *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&((src_id_1.first)->super_Object).name_._M_string_length" & (field_expression "((src_id_1.first)->super_Object).name_._M_string_length" (field_expression "((src_id_1.first)->super_Object).name_" (parenthesized_expression "((src_id_1.first)->super_Object)" ( (field_expression "(src_id_1.first)->super_Object" (parenthesized_expression "(src_id_1.first)" ( (field_expression "src_id_1.first" identifier . field_identifier) )) -> field_identifier) )) . field_identifier) . field_identifier))) )) -> field_identifier)) ;) (expression_statement "local_c4 = (int)&local_bc->first + (int)local_f0;" (assignment_expression "local_c4 = (int)&local_bc->first + (int)local_f0" identifier = (binary_expression "(int)&local_bc->first + (int)local_f0" (cast_expression "(int)&local_bc->first" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&local_bc->first" & (field_expression "local_bc->first" identifier -> field_identifier))) + (cast_expression "(int)local_f0" ( (type_descriptor "int" primitive_type) ) identifier))) ;) (if_statement "if (((uint)local_c0->output_lists_[3].\n                     super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>.\n                     _M_impl._M_end_of_storage & 1) == 0) {\n            local_b4 = (Relobj *)\n                       ((src_id_1.first)->super_Object).name_.field_2._M_allocated_capacity;\n            bVar22 = (byte)((src_id_1.first)->super_Object).shnum_ & 0xf;\n            bVar23 = *(byte *)((int)&((src_id_1.first)->super_Object).shnum_ + 3) >> 5 & 1;\n            bVar34 = bVar22 < 2;\n            bVar36 = bVar22 == 2;\n            if (bVar36) {\n              bVar34 = false;\n              bVar36 = local_d2 == false;\n              if ((!bVar36) &&\n                 (((bVar23 == 0 || (bVar36 = uVar31 == 0x17, 0x17 < uVar31)) ||\n                  (bVar34 = (0x843f84U >> (uVar6 & 0x1f) & 1) != 0, !bVar34)))) {\n                local_b0 = symtab->icf_;\n                *(undefined4 *)((int)ppGVar27 + -0xc) = 1;\n                *(undefined4 *)((int)ppGVar27 + -0x10) = 0;\n                *(__node_gen_type **)((int)ppGVar27 + -0x14) = &__node_gen_3;\n                *(Output_segment ***)((int)ppGVar27 + -0x18) = &local_78;\n                __node_gen_3._M_h = (__hashtable_alloc *)&local_b0->fptr_section_id_;\n                *(__hashtable_alloc **)((int)ppGVar27 + -0x1c) = __node_gen_3._M_h;\n                *(undefined1 **)((int)ppGVar27 + -0x20) = local_e0;\n                    /* try { // try from 000d2cc6 to 000d2cca has its CatchHandler @ 000d302c */\n                *(undefined4 *)((int)ppGVar27 + -0x24) = 0xd2ccb;\n                local_78 = local_c0;\n                local_74 = local_b4;\n                std::\n                _Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>,_std::__detail::_Identity,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                ::\n                _M_insert<std::pair<gold::Relobj*,_unsigned_int>,_std::__detail::_AllocNode<std::allocator<std::__detail::_Hash_node<std::pair<gold::Relobj*,_unsigned_int>,_true>_>_>_>\n                          ();\n                bVar34 = (undefined1 *)0xffffffe3 < (undefined1 *)((int)ppGVar27 + -0x20);\n                bVar36 = ppGVar27 == (General_options **)0x4;\n                ppGVar27 = (General_options **)((int)ppGVar27 + -4);\n              }\n            }\n          }\n          else {\n            local_b4 = (Relobj *)0x0;\n            bVar34 = false;\n            bVar23 = 0;\n            bVar36 = true;\n            local_c0 = (Output_segment *)0x0;\n          }" if (parenthesized_expression "(((uint)local_c0->output_lists_[3].\n                     super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>.\n                     _M_impl._M_end_of_storage & 1) == 0)" ( (binary_expression "((uint)local_c0->output_lists_[3].\n                     super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>.\n                     _M_impl._M_end_of_storage & 1) == 0" (parenthesized_expression "((uint)local_c0->output_lists_[3].\n                     super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>.\n                     _M_impl._M_end_of_storage & 1)" ( (binary_expression "(uint)local_c0->output_lists_[3].\n                     super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>.\n                     _M_impl._M_end_of_storage & 1" (field_expression "(uint)local_c0->output_lists_[3].\n                     super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>.\n                     _M_impl._M_end_of_storage" (field_expression "(uint)local_c0->output_lists_[3].\n                     super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>.\n                     _M_impl" (binary_expression "(uint)local_c0->output_lists_[3].\n                     super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_" (binary_expression "(uint)local_c0->output_lists_[3].\n                     super__Vector_base<gold::Output_data*,_std::allocator<gold" (binary_expression "(uint)local_c0->output_lists_[3].\n                     super__Vector_base<gold::Output_data*,_std" (binary_expression "(uint)local_c0->output_lists_[3].\n                     super__Vector_base<gold" (cast_expression "(uint)local_c0->output_lists_[3].\n                     super__Vector_base" ( (type_descriptor "uint" type_identifier) ) (field_expression "local_c0->output_lists_[3].\n                     super__Vector_base" (subscript_expression "local_c0->output_lists_[3]" (field_expression "local_c0->output_lists_" identifier -> field_identifier) [ number_literal ]) . field_identifier)) < identifier) (ERROR "::Output_data" : : identifier) * (ERROR "," ,) identifier) (ERROR "::allocator" : : identifier) < identifier) (ERROR "::Output_data" : : identifier) * (ERROR ">" >) identifier) (ERROR ">" >) . field_identifier) . field_identifier) & number_literal) )) == number_literal) )) (compound_statement "{\n            local_b4 = (Relobj *)\n                       ((src_id_1.first)->super_Object).name_.field_2._M_allocated_capacity;\n            bVar22 = (byte)((src_id_1.first)->super_Object).shnum_ & 0xf;\n            bVar23 = *(byte *)((int)&((src_id_1.first)->super_Object).shnum_ + 3) >> 5 & 1;\n            bVar34 = bVar22 < 2;\n            bVar36 = bVar22 == 2;\n            if (bVar36) {\n              bVar34 = false;\n              bVar36 = local_d2 == false;\n              if ((!bVar36) &&\n                 (((bVar23 == 0 || (bVar36 = uVar31 == 0x17, 0x17 < uVar31)) ||\n                  (bVar34 = (0x843f84U >> (uVar6 & 0x1f) & 1) != 0, !bVar34)))) {\n                local_b0 = symtab->icf_;\n                *(undefined4 *)((int)ppGVar27 + -0xc) = 1;\n                *(undefined4 *)((int)ppGVar27 + -0x10) = 0;\n                *(__node_gen_type **)((int)ppGVar27 + -0x14) = &__node_gen_3;\n                *(Output_segment ***)((int)ppGVar27 + -0x18) = &local_78;\n                __node_gen_3._M_h = (__hashtable_alloc *)&local_b0->fptr_section_id_;\n                *(__hashtable_alloc **)((int)ppGVar27 + -0x1c) = __node_gen_3._M_h;\n                *(undefined1 **)((int)ppGVar27 + -0x20) = local_e0;\n                    /* try { // try from 000d2cc6 to 000d2cca has its CatchHandler @ 000d302c */\n                *(undefined4 *)((int)ppGVar27 + -0x24) = 0xd2ccb;\n                local_78 = local_c0;\n                local_74 = local_b4;\n                std::\n                _Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>,_std::__detail::_Identity,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                ::\n                _M_insert<std::pair<gold::Relobj*,_unsigned_int>,_std::__detail::_AllocNode<std::allocator<std::__detail::_Hash_node<std::pair<gold::Relobj*,_unsigned_int>,_true>_>_>_>\n                          ();\n                bVar34 = (undefined1 *)0xffffffe3 < (undefined1 *)((int)ppGVar27 + -0x20);\n                bVar36 = ppGVar27 == (General_options **)0x4;\n                ppGVar27 = (General_options **)((int)ppGVar27 + -4);\n              }\n            }\n          }" { (expression_statement "local_b4 = (Relobj *)\n                       ((src_id_1.first)->super_Object).name_.field_2._M_allocated_capacity;" (assignment_expression "local_b4 = (Relobj *)\n                       ((src_id_1.first)->super_Object).name_.field_2._M_allocated_capacity" identifier = (cast_expression "(Relobj *)\n                       ((src_id_1.first)->super_Object).name_.field_2._M_allocated_capacity" ( (type_descriptor "Relobj *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "((src_id_1.first)->super_Object).name_.field_2._M_allocated_capacity" (field_expression "((src_id_1.first)->super_Object).name_.field_2" (field_expression "((src_id_1.first)->super_Object).name_" (parenthesized_expression "((src_id_1.first)->super_Object)" ( (field_expression "(src_id_1.first)->super_Object" (parenthesized_expression "(src_id_1.first)" ( (field_expression "src_id_1.first" identifier . field_identifier) )) -> field_identifier) )) . field_identifier) . field_identifier) . field_identifier))) ;) (expression_statement "bVar22 = (byte)((src_id_1.first)->super_Object).shnum_ & 0xf;" (assignment_expression "bVar22 = (byte)((src_id_1.first)->super_Object).shnum_ & 0xf" identifier = (binary_expression "(byte)((src_id_1.first)->super_Object).shnum_ & 0xf" (field_expression "(byte)((src_id_1.first)->super_Object).shnum_" (call_expression "(byte)((src_id_1.first)->super_Object)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "((src_id_1.first)->super_Object)" ( (field_expression "(src_id_1.first)->super_Object" (parenthesized_expression "(src_id_1.first)" ( (field_expression "src_id_1.first" identifier . field_identifier) )) -> field_identifier) ))) . field_identifier) & number_literal)) ;) (expression_statement "bVar23 = *(byte *)((int)&((src_id_1.first)->super_Object).shnum_ + 3) >> 5 & 1;" (assignment_expression "bVar23 = *(byte *)((int)&((src_id_1.first)->super_Object).shnum_ + 3) >> 5 & 1" identifier = (binary_expression "*(byte *)((int)&((src_id_1.first)->super_Object).shnum_ + 3) >> 5 & 1" (binary_expression "*(byte *)((int)&((src_id_1.first)->super_Object).shnum_ + 3) >> 5" (pointer_expression "*(byte *)((int)&((src_id_1.first)->super_Object).shnum_ + 3)" * (cast_expression "(byte *)((int)&((src_id_1.first)->super_Object).shnum_ + 3)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&((src_id_1.first)->super_Object).shnum_ + 3)" ( (binary_expression "(int)&((src_id_1.first)->super_Object).shnum_ + 3" (cast_expression "(int)&((src_id_1.first)->super_Object).shnum_" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&((src_id_1.first)->super_Object).shnum_" & (field_expression "((src_id_1.first)->super_Object).shnum_" (parenthesized_expression "((src_id_1.first)->super_Object)" ( (field_expression "(src_id_1.first)->super_Object" (parenthesized_expression "(src_id_1.first)" ( (field_expression "src_id_1.first" identifier . field_identifier) )) -> field_identifier) )) . field_identifier))) + number_literal) )))) >> number_literal) & number_literal)) ;) (expression_statement "bVar34 = bVar22 < 2;" (assignment_expression "bVar34 = bVar22 < 2" identifier = (binary_expression "bVar22 < 2" identifier < number_literal)) ;) (expression_statement "bVar36 = bVar22 == 2;" (assignment_expression "bVar36 = bVar22 == 2" identifier = (binary_expression "bVar22 == 2" identifier == number_literal)) ;) (if_statement "if (bVar36) {\n              bVar34 = false;\n              bVar36 = local_d2 == false;\n              if ((!bVar36) &&\n                 (((bVar23 == 0 || (bVar36 = uVar31 == 0x17, 0x17 < uVar31)) ||\n                  (bVar34 = (0x843f84U >> (uVar6 & 0x1f) & 1) != 0, !bVar34)))) {\n                local_b0 = symtab->icf_;\n                *(undefined4 *)((int)ppGVar27 + -0xc) = 1;\n                *(undefined4 *)((int)ppGVar27 + -0x10) = 0;\n                *(__node_gen_type **)((int)ppGVar27 + -0x14) = &__node_gen_3;\n                *(Output_segment ***)((int)ppGVar27 + -0x18) = &local_78;\n                __node_gen_3._M_h = (__hashtable_alloc *)&local_b0->fptr_section_id_;\n                *(__hashtable_alloc **)((int)ppGVar27 + -0x1c) = __node_gen_3._M_h;\n                *(undefined1 **)((int)ppGVar27 + -0x20) = local_e0;\n                    /* try { // try from 000d2cc6 to 000d2cca has its CatchHandler @ 000d302c */\n                *(undefined4 *)((int)ppGVar27 + -0x24) = 0xd2ccb;\n                local_78 = local_c0;\n                local_74 = local_b4;\n                std::\n                _Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>,_std::__detail::_Identity,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                ::\n                _M_insert<std::pair<gold::Relobj*,_unsigned_int>,_std::__detail::_AllocNode<std::allocator<std::__detail::_Hash_node<std::pair<gold::Relobj*,_unsigned_int>,_true>_>_>_>\n                          ();\n                bVar34 = (undefined1 *)0xffffffe3 < (undefined1 *)((int)ppGVar27 + -0x20);\n                bVar36 = ppGVar27 == (General_options **)0x4;\n                ppGVar27 = (General_options **)((int)ppGVar27 + -4);\n              }\n            }" if (parenthesized_expression "(bVar36)" ( identifier )) (compound_statement "{\n              bVar34 = false;\n              bVar36 = local_d2 == false;\n              if ((!bVar36) &&\n                 (((bVar23 == 0 || (bVar36 = uVar31 == 0x17, 0x17 < uVar31)) ||\n                  (bVar34 = (0x843f84U >> (uVar6 & 0x1f) & 1) != 0, !bVar34)))) {\n                local_b0 = symtab->icf_;\n                *(undefined4 *)((int)ppGVar27 + -0xc) = 1;\n                *(undefined4 *)((int)ppGVar27 + -0x10) = 0;\n                *(__node_gen_type **)((int)ppGVar27 + -0x14) = &__node_gen_3;\n                *(Output_segment ***)((int)ppGVar27 + -0x18) = &local_78;\n                __node_gen_3._M_h = (__hashtable_alloc *)&local_b0->fptr_section_id_;\n                *(__hashtable_alloc **)((int)ppGVar27 + -0x1c) = __node_gen_3._M_h;\n                *(undefined1 **)((int)ppGVar27 + -0x20) = local_e0;\n                    /* try { // try from 000d2cc6 to 000d2cca has its CatchHandler @ 000d302c */\n                *(undefined4 *)((int)ppGVar27 + -0x24) = 0xd2ccb;\n                local_78 = local_c0;\n                local_74 = local_b4;\n                std::\n                _Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>,_std::__detail::_Identity,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                ::\n                _M_insert<std::pair<gold::Relobj*,_unsigned_int>,_std::__detail::_AllocNode<std::allocator<std::__detail::_Hash_node<std::pair<gold::Relobj*,_unsigned_int>,_true>_>_>_>\n                          ();\n                bVar34 = (undefined1 *)0xffffffe3 < (undefined1 *)((int)ppGVar27 + -0x20);\n                bVar36 = ppGVar27 == (General_options **)0x4;\n                ppGVar27 = (General_options **)((int)ppGVar27 + -4);\n              }\n            }" { (expression_statement "bVar34 = false;" (assignment_expression "bVar34 = false" identifier = false) ;) (expression_statement "bVar36 = local_d2 == false;" (assignment_expression "bVar36 = local_d2 == false" identifier = (binary_expression "local_d2 == false" identifier == false)) ;) (if_statement "if ((!bVar36) &&\n                 (((bVar23 == 0 || (bVar36 = uVar31 == 0x17, 0x17 < uVar31)) ||\n                  (bVar34 = (0x843f84U >> (uVar6 & 0x1f) & 1) != 0, !bVar34)))) {\n                local_b0 = symtab->icf_;\n                *(undefined4 *)((int)ppGVar27 + -0xc) = 1;\n                *(undefined4 *)((int)ppGVar27 + -0x10) = 0;\n                *(__node_gen_type **)((int)ppGVar27 + -0x14) = &__node_gen_3;\n                *(Output_segment ***)((int)ppGVar27 + -0x18) = &local_78;\n                __node_gen_3._M_h = (__hashtable_alloc *)&local_b0->fptr_section_id_;\n                *(__hashtable_alloc **)((int)ppGVar27 + -0x1c) = __node_gen_3._M_h;\n                *(undefined1 **)((int)ppGVar27 + -0x20) = local_e0;\n                    /* try { // try from 000d2cc6 to 000d2cca has its CatchHandler @ 000d302c */\n                *(undefined4 *)((int)ppGVar27 + -0x24) = 0xd2ccb;\n                local_78 = local_c0;\n                local_74 = local_b4;\n                std::\n                _Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>,_std::__detail::_Identity,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                ::\n                _M_insert<std::pair<gold::Relobj*,_unsigned_int>,_std::__detail::_AllocNode<std::allocator<std::__detail::_Hash_node<std::pair<gold::Relobj*,_unsigned_int>,_true>_>_>_>\n                          ();\n                bVar34 = (undefined1 *)0xffffffe3 < (undefined1 *)((int)ppGVar27 + -0x20);\n                bVar36 = ppGVar27 == (General_options **)0x4;\n                ppGVar27 = (General_options **)((int)ppGVar27 + -4);\n              }" if (parenthesized_expression "((!bVar36) &&\n                 (((bVar23 == 0 || (bVar36 = uVar31 == 0x17, 0x17 < uVar31)) ||\n                  (bVar34 = (0x843f84U >> (uVar6 & 0x1f) & 1) != 0, !bVar34))))" ( (binary_expression "(!bVar36) &&\n                 (((bVar23 == 0 || (bVar36 = uVar31 == 0x17, 0x17 < uVar31)) ||\n                  (bVar34 = (0x843f84U >> (uVar6 & 0x1f) & 1) != 0, !bVar34)))" (parenthesized_expression "(!bVar36)" ( (unary_expression "!bVar36" ! identifier) )) && (parenthesized_expression "(((bVar23 == 0 || (bVar36 = uVar31 == 0x17, 0x17 < uVar31)) ||\n                  (bVar34 = (0x843f84U >> (uVar6 & 0x1f) & 1) != 0, !bVar34)))" ( (parenthesized_expression "((bVar23 == 0 || (bVar36 = uVar31 == 0x17, 0x17 < uVar31)) ||\n                  (bVar34 = (0x843f84U >> (uVar6 & 0x1f) & 1) != 0, !bVar34))" ( (binary_expression "(bVar23 == 0 || (bVar36 = uVar31 == 0x17, 0x17 < uVar31)) ||\n                  (bVar34 = (0x843f84U >> (uVar6 & 0x1f) & 1) != 0, !bVar34)" (parenthesized_expression "(bVar23 == 0 || (bVar36 = uVar31 == 0x17, 0x17 < uVar31))" ( (binary_expression "bVar23 == 0 || (bVar36 = uVar31 == 0x17, 0x17 < uVar31)" (binary_expression "bVar23 == 0" identifier == number_literal) || (parenthesized_expression "(bVar36 = uVar31 == 0x17, 0x17 < uVar31)" ( (comma_expression "bVar36 = uVar31 == 0x17, 0x17 < uVar31" (assignment_expression "bVar36 = uVar31 == 0x17" identifier = (binary_expression "uVar31 == 0x17" identifier == number_literal)) , (binary_expression "0x17 < uVar31" number_literal < identifier)) ))) )) || (parenthesized_expression "(bVar34 = (0x843f84U >> (uVar6 & 0x1f) & 1) != 0, !bVar34)" ( (comma_expression "bVar34 = (0x843f84U >> (uVar6 & 0x1f) & 1) != 0, !bVar34" (assignment_expression "bVar34 = (0x843f84U >> (uVar6 & 0x1f) & 1) != 0" identifier = (binary_expression "(0x843f84U >> (uVar6 & 0x1f) & 1) != 0" (parenthesized_expression "(0x843f84U >> (uVar6 & 0x1f) & 1)" ( (binary_expression "0x843f84U >> (uVar6 & 0x1f) & 1" (binary_expression "0x843f84U >> (uVar6 & 0x1f)" number_literal >> (parenthesized_expression "(uVar6 & 0x1f)" ( (binary_expression "uVar6 & 0x1f" identifier & number_literal) ))) & number_literal) )) != number_literal)) , (unary_expression "!bVar34" ! identifier)) ))) )) ))) )) (compound_statement "{\n                local_b0 = symtab->icf_;\n                *(undefined4 *)((int)ppGVar27 + -0xc) = 1;\n                *(undefined4 *)((int)ppGVar27 + -0x10) = 0;\n                *(__node_gen_type **)((int)ppGVar27 + -0x14) = &__node_gen_3;\n                *(Output_segment ***)((int)ppGVar27 + -0x18) = &local_78;\n                __node_gen_3._M_h = (__hashtable_alloc *)&local_b0->fptr_section_id_;\n                *(__hashtable_alloc **)((int)ppGVar27 + -0x1c) = __node_gen_3._M_h;\n                *(undefined1 **)((int)ppGVar27 + -0x20) = local_e0;\n                    /* try { // try from 000d2cc6 to 000d2cca has its CatchHandler @ 000d302c */\n                *(undefined4 *)((int)ppGVar27 + -0x24) = 0xd2ccb;\n                local_78 = local_c0;\n                local_74 = local_b4;\n                std::\n                _Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>,_std::__detail::_Identity,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                ::\n                _M_insert<std::pair<gold::Relobj*,_unsigned_int>,_std::__detail::_AllocNode<std::allocator<std::__detail::_Hash_node<std::pair<gold::Relobj*,_unsigned_int>,_true>_>_>_>\n                          ();\n                bVar34 = (undefined1 *)0xffffffe3 < (undefined1 *)((int)ppGVar27 + -0x20);\n                bVar36 = ppGVar27 == (General_options **)0x4;\n                ppGVar27 = (General_options **)((int)ppGVar27 + -4);\n              }" { (expression_statement "local_b0 = symtab->icf_;" (assignment_expression "local_b0 = symtab->icf_" identifier = (field_expression "symtab->icf_" identifier -> field_identifier)) ;) (expression_statement "*(undefined4 *)((int)ppGVar27 + -0xc) = 1;" (assignment_expression "*(undefined4 *)((int)ppGVar27 + -0xc) = 1" (pointer_expression "*(undefined4 *)((int)ppGVar27 + -0xc)" * (cast_expression "(undefined4 *)((int)ppGVar27 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppGVar27 + -0xc)" ( (binary_expression "(int)ppGVar27 + -0xc" (cast_expression "(int)ppGVar27" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)((int)ppGVar27 + -0x10) = 0;" (assignment_expression "*(undefined4 *)((int)ppGVar27 + -0x10) = 0" (pointer_expression "*(undefined4 *)((int)ppGVar27 + -0x10)" * (cast_expression "(undefined4 *)((int)ppGVar27 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppGVar27 + -0x10)" ( (binary_expression "(int)ppGVar27 + -0x10" (cast_expression "(int)ppGVar27" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(__node_gen_type **)((int)ppGVar27 + -0x14) = &__node_gen_3;" (assignment_expression "*(__node_gen_type **)((int)ppGVar27 + -0x14) = &__node_gen_3" (pointer_expression "*(__node_gen_type **)((int)ppGVar27 + -0x14)" * (cast_expression "(__node_gen_type **)((int)ppGVar27 + -0x14)" ( (type_descriptor "__node_gen_type **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)ppGVar27 + -0x14)" ( (binary_expression "(int)ppGVar27 + -0x14" (cast_expression "(int)ppGVar27" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "&__node_gen_3" & identifier)) ;) (expression_statement "*(Output_segment ***)((int)ppGVar27 + -0x18) = &local_78;" (assignment_expression "*(Output_segment ***)((int)ppGVar27 + -0x18) = &local_78" (pointer_expression "*(Output_segment ***)((int)ppGVar27 + -0x18)" * (cast_expression "(Output_segment ***)((int)ppGVar27 + -0x18)" ( (type_descriptor "Output_segment ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "((int)ppGVar27 + -0x18)" ( (binary_expression "(int)ppGVar27 + -0x18" (cast_expression "(int)ppGVar27" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "&local_78" & identifier)) ;) (expression_statement "__node_gen_3._M_h = (__hashtable_alloc *)&local_b0->fptr_section_id_;" (assignment_expression "__node_gen_3._M_h = (__hashtable_alloc *)&local_b0->fptr_section_id_" (field_expression "__node_gen_3._M_h" identifier . field_identifier) = (cast_expression "(__hashtable_alloc *)&local_b0->fptr_section_id_" ( (type_descriptor "__hashtable_alloc *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&local_b0->fptr_section_id_" & (field_expression "local_b0->fptr_section_id_" identifier -> field_identifier)))) ;) (expression_statement "*(__hashtable_alloc **)((int)ppGVar27 + -0x1c) = __node_gen_3._M_h;" (assignment_expression "*(__hashtable_alloc **)((int)ppGVar27 + -0x1c) = __node_gen_3._M_h" (pointer_expression "*(__hashtable_alloc **)((int)ppGVar27 + -0x1c)" * (cast_expression "(__hashtable_alloc **)((int)ppGVar27 + -0x1c)" ( (type_descriptor "__hashtable_alloc **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)ppGVar27 + -0x1c)" ( (binary_expression "(int)ppGVar27 + -0x1c" (cast_expression "(int)ppGVar27" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (field_expression "__node_gen_3._M_h" identifier . field_identifier)) ;) (expression_statement "*(undefined1 **)((int)ppGVar27 + -0x20) = local_e0;" (assignment_expression "*(undefined1 **)((int)ppGVar27 + -0x20) = local_e0" (pointer_expression "*(undefined1 **)((int)ppGVar27 + -0x20)" * (cast_expression "(undefined1 **)((int)ppGVar27 + -0x20)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)ppGVar27 + -0x20)" ( (binary_expression "(int)ppGVar27 + -0x20" (cast_expression "(int)ppGVar27" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) comment (expression_statement "*(undefined4 *)((int)ppGVar27 + -0x24) = 0xd2ccb;" (assignment_expression "*(undefined4 *)((int)ppGVar27 + -0x24) = 0xd2ccb" (pointer_expression "*(undefined4 *)((int)ppGVar27 + -0x24)" * (cast_expression "(undefined4 *)((int)ppGVar27 + -0x24)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppGVar27 + -0x24)" ( (binary_expression "(int)ppGVar27 + -0x24" (cast_expression "(int)ppGVar27" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "local_78 = local_c0;" (assignment_expression "local_78 = local_c0" identifier = identifier) ;) (expression_statement "local_74 = local_b4;" (assignment_expression "local_74 = local_b4" identifier = identifier) ;) (ERROR "std::\n                _Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>,_std::__detail::_Identity,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::" (comma_expression "std::\n                _Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std" identifier (ERROR "::\n                _Hashtable<std::pair<gold::Relobj*,_unsigned_int>" : : (binary_expression "_Hashtable<std" identifier < identifier) : : (binary_expression "pair<gold" identifier < identifier) : : identifier * , identifier >) , identifier) : : (binary_expression "pair<gold" identifier < identifier) : : (binary_expression "Relobj*,_unsigned_int>,_std" (binary_expression "Relobj*,_unsigned_int" identifier * (ERROR "," ,) identifier) > (ERROR "," ,) identifier) : : (binary_expression "allocator<std" identifier < identifier) : : (binary_expression "pair<gold" identifier < identifier) : : (binary_expression "Relobj*,_unsigned_int>_>,_std" (binary_expression "Relobj*,_unsigned_int>_" (binary_expression "Relobj*,_unsigned_int" identifier * (ERROR "," ,) identifier) > identifier) > (ERROR "," ,) identifier) : : (comma_expression "__detail::_Identity,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold" identifier (ERROR "::_Identity,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>" : : (comma_expression "_Identity,_std" identifier , identifier) : : (binary_expression "equal_to<std" identifier < identifier) : : (binary_expression "pair<gold" identifier < identifier) : : identifier * , (binary_expression "_unsigned_int>_" identifier > identifier) >) , identifier) : : (comma_expression "Section_id_hash,_std" identifier , identifier) : :) (labeled_statement "__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                ::\n                _M_insert<std::pair<gold::Relobj*,_unsigned_int>,_std::__detail::_AllocNode<std::allocator<std::__detail::_Hash_node<std::pair<gold::Relobj*,_unsigned_int>,_true>_>_>_>\n                          ();" statement_identifier (ERROR "::_Mod_range_hashing,_std:" : : (comma_expression "_Mod_range_hashing,_std" identifier , identifier) :) : (labeled_statement "__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                ::\n                _M_insert<std::pair<gold::Relobj*,_unsigned_int>,_std::__detail::_AllocNode<std::allocator<std::__detail::_Hash_node<std::pair<gold::Relobj*,_unsigned_int>,_true>_>_>_>\n                          ();" statement_identifier (ERROR "::_Default_ranged_hash,_std:" : : (comma_expression "_Default_ranged_hash,_std" identifier , identifier) :) : (labeled_statement "__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                ::\n                _M_insert<std::pair<gold::Relobj*,_unsigned_int>,_std::__detail::_AllocNode<std::allocator<std::__detail::_Hash_node<std::pair<gold::Relobj*,_unsigned_int>,_true>_>_>_>\n                          ();" statement_identifier (ERROR "::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                ::\n                _M_insert<std::pair<gold::Relobj*,_unsigned_int>,_std:" : : (comma_expression "_Prime_rehash_policy,_std" identifier , identifier) : : (comma_expression "__detail::_Hashtable_traits<true,_true,_true>_>\n                ::\n                _M_insert<std::pair<gold::Relobj*,_unsigned_int>,_std" identifier (ERROR "::_Hashtable_traits<true,_true,_true>_>\n                ::\n                _M_insert<std::pair<gold::Relobj*,_unsigned_int>" : : (comma_expression "_Hashtable_traits<true,_true,_true>_>\n                ::\n                _M_insert<std" (binary_expression "_Hashtable_traits<true" identifier < true) , (comma_expression "_true,_true>_>\n                ::\n                _M_insert<std" identifier , (binary_expression "_true>_>\n                ::\n                _M_insert<std" (binary_expression "_true>_>\n                ::\n                _M_insert" (binary_expression "_true>_" identifier > identifier) > (ERROR "::" : :) identifier) < identifier))) : : (binary_expression "pair<gold" identifier < identifier) : : identifier * , identifier >) , identifier) :) : (labeled_statement "__detail::_AllocNode<std::allocator<std::__detail::_Hash_node<std::pair<gold::Relobj*,_unsigned_int>,_true>_>_>_>\n                          ();" statement_identifier (ERROR "::_AllocNode<std::allocator<std:" : : (binary_expression "_AllocNode<std" identifier < identifier) : : (binary_expression "allocator<std" identifier < identifier) :) : (expression_statement "__detail::_Hash_node<std::pair<gold::Relobj*,_unsigned_int>,_true>_>_>_>\n                          ();" (comma_expression "__detail::_Hash_node<std::pair<gold::Relobj*,_unsigned_int>,_true>_>_>_>\n                          ()" identifier (ERROR "::_Hash_node<std::pair<gold::Relobj*,_unsigned_int>" : : (binary_expression "_Hash_node<std" identifier < identifier) : : (binary_expression "pair<gold" identifier < identifier) : : identifier * , identifier >) , (binary_expression "_true>_>_>_>\n                          ()" (binary_expression "_true>_>_>_" (binary_expression "_true>_>_" (binary_expression "_true>_" identifier > identifier) > identifier) > identifier) > (parenthesized_expression "()" ( identifier )))) ;))))) (expression_statement "bVar34 = (undefined1 *)0xffffffe3 < (undefined1 *)((int)ppGVar27 + -0x20);" (assignment_expression "bVar34 = (undefined1 *)0xffffffe3 < (undefined1 *)((int)ppGVar27 + -0x20)" identifier = (binary_expression "(undefined1 *)0xffffffe3 < (undefined1 *)((int)ppGVar27 + -0x20)" (cast_expression "(undefined1 *)0xffffffe3" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) < (cast_expression "(undefined1 *)((int)ppGVar27 + -0x20)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppGVar27 + -0x20)" ( (binary_expression "(int)ppGVar27 + -0x20" (cast_expression "(int)ppGVar27" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "bVar36 = ppGVar27 == (General_options **)0x4;" (assignment_expression "bVar36 = ppGVar27 == (General_options **)0x4" identifier = (binary_expression "ppGVar27 == (General_options **)0x4" identifier == (cast_expression "(General_options **)0x4" ( (type_descriptor "General_options **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal))) ;) (expression_statement "ppGVar27 = (General_options **)((int)ppGVar27 + -4);" (assignment_expression "ppGVar27 = (General_options **)((int)ppGVar27 + -4)" identifier = (cast_expression "(General_options **)((int)ppGVar27 + -4)" ( (type_descriptor "General_options **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)ppGVar27 + -4)" ( (binary_expression "(int)ppGVar27 + -4" (cast_expression "(int)ppGVar27" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) })) })) }) (else_clause "else {\n            local_b4 = (Relobj *)0x0;\n            bVar34 = false;\n            bVar23 = 0;\n            bVar36 = true;\n            local_c0 = (Output_segment *)0x0;\n          }" else (compound_statement "{\n            local_b4 = (Relobj *)0x0;\n            bVar34 = false;\n            bVar23 = 0;\n            bVar36 = true;\n            local_c0 = (Output_segment *)0x0;\n          }" { (expression_statement "local_b4 = (Relobj *)0x0;" (assignment_expression "local_b4 = (Relobj *)0x0" identifier = (cast_expression "(Relobj *)0x0" ( (type_descriptor "Relobj *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "bVar34 = false;" (assignment_expression "bVar34 = false" identifier = false) ;) (expression_statement "bVar23 = 0;" (assignment_expression "bVar23 = 0" identifier = number_literal) ;) (expression_statement "bVar36 = true;" (assignment_expression "bVar36 = true" identifier = true) ;) (expression_statement "local_c0 = (Output_segment *)0x0;" (assignment_expression "local_c0 = (Output_segment *)0x0" identifier = (cast_expression "(Output_segment *)0x0" ( (type_descriptor "Output_segment *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }))) }) (else_clause "else {\n          *(Relobj **)((int)ppGVar27 + -0xc) = src_id_1.first;\n          *(Symbol_table **)((int)ppGVar27 + -0x10) = symtab;\n          *(undefined4 *)((int)ppGVar27 + -0x14) = 0xd29d2;\n          src_id_1.first =\n               (Relobj *)\n               gold::Symbol_table::resolve_forwards\n                         (*(Symbol_table **)((int)ppGVar27 + -0x10),\n                          *(Symbol **)((int)ppGVar27 + -0xc));\n          if ((((src_id_1.first)->super_Object).shnum_ & 0x70000) == 0) goto LAB_000d25f7;\nLAB_000d29e2:\n          local_f0 = (Relobj *)((src_id_1.first)->super_Object).xindex_;\n          bVar23 = 0;\n          local_b4 = (Relobj *)0x0;\n          local_c0 = (Output_segment *)0x0;\n          bVar34 = CARRY4((uint)local_bc,(uint)local_f0);\n          local_c4 = (int)&local_bc->first + (int)local_f0;\n          bVar36 = local_c4 == 0;\n        }" else (compound_statement "{\n          *(Relobj **)((int)ppGVar27 + -0xc) = src_id_1.first;\n          *(Symbol_table **)((int)ppGVar27 + -0x10) = symtab;\n          *(undefined4 *)((int)ppGVar27 + -0x14) = 0xd29d2;\n          src_id_1.first =\n               (Relobj *)\n               gold::Symbol_table::resolve_forwards\n                         (*(Symbol_table **)((int)ppGVar27 + -0x10),\n                          *(Symbol **)((int)ppGVar27 + -0xc));\n          if ((((src_id_1.first)->super_Object).shnum_ & 0x70000) == 0) goto LAB_000d25f7;\nLAB_000d29e2:\n          local_f0 = (Relobj *)((src_id_1.first)->super_Object).xindex_;\n          bVar23 = 0;\n          local_b4 = (Relobj *)0x0;\n          local_c0 = (Output_segment *)0x0;\n          bVar34 = CARRY4((uint)local_bc,(uint)local_f0);\n          local_c4 = (int)&local_bc->first + (int)local_f0;\n          bVar36 = local_c4 == 0;\n        }" { (expression_statement "*(Relobj **)((int)ppGVar27 + -0xc) = src_id_1.first;" (assignment_expression "*(Relobj **)((int)ppGVar27 + -0xc) = src_id_1.first" (pointer_expression "*(Relobj **)((int)ppGVar27 + -0xc)" * (cast_expression "(Relobj **)((int)ppGVar27 + -0xc)" ( (type_descriptor "Relobj **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)ppGVar27 + -0xc)" ( (binary_expression "(int)ppGVar27 + -0xc" (cast_expression "(int)ppGVar27" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (field_expression "src_id_1.first" identifier . field_identifier)) ;) (expression_statement "*(Symbol_table **)((int)ppGVar27 + -0x10) = symtab;" (assignment_expression "*(Symbol_table **)((int)ppGVar27 + -0x10) = symtab" (pointer_expression "*(Symbol_table **)((int)ppGVar27 + -0x10)" * (cast_expression "(Symbol_table **)((int)ppGVar27 + -0x10)" ( (type_descriptor "Symbol_table **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)ppGVar27 + -0x10)" ( (binary_expression "(int)ppGVar27 + -0x10" (cast_expression "(int)ppGVar27" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)ppGVar27 + -0x14) = 0xd29d2;" (assignment_expression "*(undefined4 *)((int)ppGVar27 + -0x14) = 0xd29d2" (pointer_expression "*(undefined4 *)((int)ppGVar27 + -0x14)" * (cast_expression "(undefined4 *)((int)ppGVar27 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppGVar27 + -0x14)" ( (binary_expression "(int)ppGVar27 + -0x14" (cast_expression "(int)ppGVar27" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (ERROR "src_id_1.first =\n               (Relobj *)\n               gold::Symbol_table::" (assignment_expression "src_id_1.first =\n               (Relobj *)\n               gold" (field_expression "src_id_1.first" identifier . field_identifier) = (cast_expression "(Relobj *)\n               gold" ( (type_descriptor "Relobj *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) : : identifier : :) (expression_statement "resolve_forwards\n                         (*(Symbol_table **)((int)ppGVar27 + -0x10),\n                          *(Symbol **)((int)ppGVar27 + -0xc));" (call_expression "resolve_forwards\n                         (*(Symbol_table **)((int)ppGVar27 + -0x10),\n                          *(Symbol **)((int)ppGVar27 + -0xc))" identifier (argument_list "(*(Symbol_table **)((int)ppGVar27 + -0x10),\n                          *(Symbol **)((int)ppGVar27 + -0xc))" ( (pointer_expression "*(Symbol_table **)((int)ppGVar27 + -0x10)" * (cast_expression "(Symbol_table **)((int)ppGVar27 + -0x10)" ( (type_descriptor "Symbol_table **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)ppGVar27 + -0x10)" ( (binary_expression "(int)ppGVar27 + -0x10" (cast_expression "(int)ppGVar27" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (pointer_expression "*(Symbol **)((int)ppGVar27 + -0xc)" * (cast_expression "(Symbol **)((int)ppGVar27 + -0xc)" ( (type_descriptor "Symbol **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)ppGVar27 + -0xc)" ( (binary_expression "(int)ppGVar27 + -0xc" (cast_expression "(int)ppGVar27" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ))) ;) (if_statement "if ((((src_id_1.first)->super_Object).shnum_ & 0x70000) == 0) goto LAB_000d25f7;" if (parenthesized_expression "((((src_id_1.first)->super_Object).shnum_ & 0x70000) == 0)" ( (binary_expression "(((src_id_1.first)->super_Object).shnum_ & 0x70000) == 0" (parenthesized_expression "(((src_id_1.first)->super_Object).shnum_ & 0x70000)" ( (binary_expression "((src_id_1.first)->super_Object).shnum_ & 0x70000" (field_expression "((src_id_1.first)->super_Object).shnum_" (parenthesized_expression "((src_id_1.first)->super_Object)" ( (field_expression "(src_id_1.first)->super_Object" (parenthesized_expression "(src_id_1.first)" ( (field_expression "src_id_1.first" identifier . field_identifier) )) -> field_identifier) )) . field_identifier) & number_literal) )) == number_literal) )) (goto_statement "goto LAB_000d25f7;" goto statement_identifier ;)) (labeled_statement "LAB_000d29e2:\n          local_f0 = (Relobj *)((src_id_1.first)->super_Object).xindex_;" statement_identifier : (expression_statement "local_f0 = (Relobj *)((src_id_1.first)->super_Object).xindex_;" (assignment_expression "local_f0 = (Relobj *)((src_id_1.first)->super_Object).xindex_" identifier = (cast_expression "(Relobj *)((src_id_1.first)->super_Object).xindex_" ( (type_descriptor "Relobj *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "((src_id_1.first)->super_Object).xindex_" (parenthesized_expression "((src_id_1.first)->super_Object)" ( (field_expression "(src_id_1.first)->super_Object" (parenthesized_expression "(src_id_1.first)" ( (field_expression "src_id_1.first" identifier . field_identifier) )) -> field_identifier) )) . field_identifier))) ;)) (expression_statement "bVar23 = 0;" (assignment_expression "bVar23 = 0" identifier = number_literal) ;) (expression_statement "local_b4 = (Relobj *)0x0;" (assignment_expression "local_b4 = (Relobj *)0x0" identifier = (cast_expression "(Relobj *)0x0" ( (type_descriptor "Relobj *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_c0 = (Output_segment *)0x0;" (assignment_expression "local_c0 = (Output_segment *)0x0" identifier = (cast_expression "(Output_segment *)0x0" ( (type_descriptor "Output_segment *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "bVar34 = CARRY4((uint)local_bc,(uint)local_f0);" (assignment_expression "bVar34 = CARRY4((uint)local_bc,(uint)local_f0)" identifier = (call_expression "CARRY4((uint)local_bc,(uint)local_f0)" identifier (argument_list "((uint)local_bc,(uint)local_f0)" ( (cast_expression "(uint)local_bc" ( (type_descriptor "uint" type_identifier) ) identifier) , (cast_expression "(uint)local_f0" ( (type_descriptor "uint" type_identifier) ) identifier) )))) ;) (expression_statement "local_c4 = (int)&local_bc->first + (int)local_f0;" (assignment_expression "local_c4 = (int)&local_bc->first + (int)local_f0" identifier = (binary_expression "(int)&local_bc->first + (int)local_f0" (cast_expression "(int)&local_bc->first" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&local_bc->first" & (field_expression "local_bc->first" identifier -> field_identifier))) + (cast_expression "(int)local_f0" ( (type_descriptor "int" primitive_type) ) identifier))) ;) (expression_statement "bVar36 = local_c4 == 0;" (assignment_expression "bVar36 = local_c4 == 0" identifier = (binary_expression "local_c4 == 0" identifier == number_literal)) ;) }))) (expression_statement "pp_Var17 = ((src_id_1.first)->super_Object)._vptr_Object;" (assignment_expression "pp_Var17 = ((src_id_1.first)->super_Object)._vptr_Object" identifier = (field_expression "((src_id_1.first)->super_Object)._vptr_Object" (parenthesized_expression "((src_id_1.first)->super_Object)" ( (field_expression "(src_id_1.first)->super_Object" (parenthesized_expression "(src_id_1.first)" ( (field_expression "src_id_1.first" identifier . field_identifier) )) -> field_identifier) )) . field_identifier)) ;) (expression_statement "iVar19 = 8;" (assignment_expression "iVar19 = 8" identifier = number_literal) ;) (expression_statement "pbVar29 = (byte *)((int)local_b8 + -0x19ca26);" (assignment_expression "pbVar29 = (byte *)((int)local_b8 + -0x19ca26)" identifier = (cast_expression "(byte *)((int)local_b8 + -0x19ca26)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_b8 + -0x19ca26)" ( (binary_expression "(int)local_b8 + -0x19ca26" (cast_expression "(int)local_b8" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "pp_Var32 = pp_Var17;" (assignment_expression "pp_Var32 = pp_Var17" identifier = identifier) ;) (do_statement "do {\n          if (iVar19 == 0) break;\n          iVar19 = iVar19 + -1;\n          bVar34 = *pbVar29 < *(byte *)pp_Var32;\n          bVar36 = *pbVar29 == *(byte *)pp_Var32;\n          pbVar29 = pbVar29 + (uint)bVar37 * -2 + 1;\n          pp_Var32 = (_func_int_varargs **)((int)pp_Var32 + (uint)bVar37 * -2 + 1);\n        } while (bVar36);" do (compound_statement "{\n          if (iVar19 == 0) break;\n          iVar19 = iVar19 + -1;\n          bVar34 = *pbVar29 < *(byte *)pp_Var32;\n          bVar36 = *pbVar29 == *(byte *)pp_Var32;\n          pbVar29 = pbVar29 + (uint)bVar37 * -2 + 1;\n          pp_Var32 = (_func_int_varargs **)((int)pp_Var32 + (uint)bVar37 * -2 + 1);\n        }" { (if_statement "if (iVar19 == 0) break;" if (parenthesized_expression "(iVar19 == 0)" ( (binary_expression "iVar19 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar19 = iVar19 + -1;" (assignment_expression "iVar19 = iVar19 + -1" identifier = (binary_expression "iVar19 + -1" identifier + number_literal)) ;) (expression_statement "bVar34 = *pbVar29 < *(byte *)pp_Var32;" (assignment_expression "bVar34 = *pbVar29 < *(byte *)pp_Var32" identifier = (binary_expression "*pbVar29 < *(byte *)pp_Var32" (pointer_expression "*pbVar29" * identifier) < (pointer_expression "*(byte *)pp_Var32" * (cast_expression "(byte *)pp_Var32" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)))) ;) (expression_statement "bVar36 = *pbVar29 == *(byte *)pp_Var32;" (assignment_expression "bVar36 = *pbVar29 == *(byte *)pp_Var32" identifier = (binary_expression "*pbVar29 == *(byte *)pp_Var32" (pointer_expression "*pbVar29" * identifier) == (pointer_expression "*(byte *)pp_Var32" * (cast_expression "(byte *)pp_Var32" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)))) ;) (expression_statement "pbVar29 = pbVar29 + (uint)bVar37 * -2 + 1;" (assignment_expression "pbVar29 = pbVar29 + (uint)bVar37 * -2 + 1" identifier = (binary_expression "pbVar29 + (uint)bVar37 * -2 + 1" (binary_expression "pbVar29 + (uint)bVar37 * -2" identifier + (binary_expression "(uint)bVar37 * -2" (cast_expression "(uint)bVar37" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pp_Var32 = (_func_int_varargs **)((int)pp_Var32 + (uint)bVar37 * -2 + 1);" (assignment_expression "pp_Var32 = (_func_int_varargs **)((int)pp_Var32 + (uint)bVar37 * -2 + 1)" identifier = (cast_expression "(_func_int_varargs **)((int)pp_Var32 + (uint)bVar37 * -2 + 1)" ( (type_descriptor "_func_int_varargs **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)pp_Var32 + (uint)bVar37 * -2 + 1)" ( (binary_expression "(int)pp_Var32 + (uint)bVar37 * -2 + 1" (binary_expression "(int)pp_Var32 + (uint)bVar37 * -2" (cast_expression "(int)pp_Var32" ( (type_descriptor "int" primitive_type) ) identifier) + (binary_expression "(uint)bVar37 * -2" (cast_expression "(uint)bVar37" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal) )))) ;) }) while (parenthesized_expression "(bVar36)" ( identifier )) ;) (expression_statement "bVar35 = false;" (assignment_expression "bVar35 = false" identifier = false) ;) (expression_statement "bVar34 = (!bVar34 && !bVar36) == bVar34;" (assignment_expression "bVar34 = (!bVar34 && !bVar36) == bVar34" identifier = (binary_expression "(!bVar34 && !bVar36) == bVar34" (parenthesized_expression "(!bVar34 && !bVar36)" ( (binary_expression "!bVar34 && !bVar36" (unary_expression "!bVar34" ! identifier) && (unary_expression "!bVar36" ! identifier)) )) == identifier)) ;) (if_statement "if (bVar34) {\n          local_d8 = pp_Var17 + 2;\n        }\n        else {\n          iVar19 = 7;\n          pbVar29 = (byte *)((int)local_b8 + -0x19ca1d);\n          pp_Var32 = pp_Var17;\n          do {\n            if (iVar19 == 0) break;\n            iVar19 = iVar19 + -1;\n            bVar35 = *pbVar29 < *(byte *)pp_Var32;\n            bVar34 = *pbVar29 == *(byte *)pp_Var32;\n            pbVar29 = pbVar29 + (uint)bVar37 * -2 + 1;\n            pp_Var32 = (_func_int_varargs **)((int)pp_Var32 + (uint)bVar37 * -2 + 1);\n          } while (bVar34);\n          pp_Var17 = (_func_int_varargs **)((int)pp_Var17 + 7);\n          if ((!bVar35 && !bVar34) != bVar35) {\n            pp_Var17 = local_d8;\n          }\n          local_d8 = pp_Var17;\n        }" if (parenthesized_expression "(bVar34)" ( identifier )) (compound_statement "{\n          local_d8 = pp_Var17 + 2;\n        }" { (expression_statement "local_d8 = pp_Var17 + 2;" (assignment_expression "local_d8 = pp_Var17 + 2" identifier = (binary_expression "pp_Var17 + 2" identifier + number_literal)) ;) }) (else_clause "else {\n          iVar19 = 7;\n          pbVar29 = (byte *)((int)local_b8 + -0x19ca1d);\n          pp_Var32 = pp_Var17;\n          do {\n            if (iVar19 == 0) break;\n            iVar19 = iVar19 + -1;\n            bVar35 = *pbVar29 < *(byte *)pp_Var32;\n            bVar34 = *pbVar29 == *(byte *)pp_Var32;\n            pbVar29 = pbVar29 + (uint)bVar37 * -2 + 1;\n            pp_Var32 = (_func_int_varargs **)((int)pp_Var32 + (uint)bVar37 * -2 + 1);\n          } while (bVar34);\n          pp_Var17 = (_func_int_varargs **)((int)pp_Var17 + 7);\n          if ((!bVar35 && !bVar34) != bVar35) {\n            pp_Var17 = local_d8;\n          }\n          local_d8 = pp_Var17;\n        }" else (compound_statement "{\n          iVar19 = 7;\n          pbVar29 = (byte *)((int)local_b8 + -0x19ca1d);\n          pp_Var32 = pp_Var17;\n          do {\n            if (iVar19 == 0) break;\n            iVar19 = iVar19 + -1;\n            bVar35 = *pbVar29 < *(byte *)pp_Var32;\n            bVar34 = *pbVar29 == *(byte *)pp_Var32;\n            pbVar29 = pbVar29 + (uint)bVar37 * -2 + 1;\n            pp_Var32 = (_func_int_varargs **)((int)pp_Var32 + (uint)bVar37 * -2 + 1);\n          } while (bVar34);\n          pp_Var17 = (_func_int_varargs **)((int)pp_Var17 + 7);\n          if ((!bVar35 && !bVar34) != bVar35) {\n            pp_Var17 = local_d8;\n          }\n          local_d8 = pp_Var17;\n        }" { (expression_statement "iVar19 = 7;" (assignment_expression "iVar19 = 7" identifier = number_literal) ;) (expression_statement "pbVar29 = (byte *)((int)local_b8 + -0x19ca1d);" (assignment_expression "pbVar29 = (byte *)((int)local_b8 + -0x19ca1d)" identifier = (cast_expression "(byte *)((int)local_b8 + -0x19ca1d)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_b8 + -0x19ca1d)" ( (binary_expression "(int)local_b8 + -0x19ca1d" (cast_expression "(int)local_b8" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "pp_Var32 = pp_Var17;" (assignment_expression "pp_Var32 = pp_Var17" identifier = identifier) ;) (do_statement "do {\n            if (iVar19 == 0) break;\n            iVar19 = iVar19 + -1;\n            bVar35 = *pbVar29 < *(byte *)pp_Var32;\n            bVar34 = *pbVar29 == *(byte *)pp_Var32;\n            pbVar29 = pbVar29 + (uint)bVar37 * -2 + 1;\n            pp_Var32 = (_func_int_varargs **)((int)pp_Var32 + (uint)bVar37 * -2 + 1);\n          } while (bVar34);" do (compound_statement "{\n            if (iVar19 == 0) break;\n            iVar19 = iVar19 + -1;\n            bVar35 = *pbVar29 < *(byte *)pp_Var32;\n            bVar34 = *pbVar29 == *(byte *)pp_Var32;\n            pbVar29 = pbVar29 + (uint)bVar37 * -2 + 1;\n            pp_Var32 = (_func_int_varargs **)((int)pp_Var32 + (uint)bVar37 * -2 + 1);\n          }" { (if_statement "if (iVar19 == 0) break;" if (parenthesized_expression "(iVar19 == 0)" ( (binary_expression "iVar19 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar19 = iVar19 + -1;" (assignment_expression "iVar19 = iVar19 + -1" identifier = (binary_expression "iVar19 + -1" identifier + number_literal)) ;) (expression_statement "bVar35 = *pbVar29 < *(byte *)pp_Var32;" (assignment_expression "bVar35 = *pbVar29 < *(byte *)pp_Var32" identifier = (binary_expression "*pbVar29 < *(byte *)pp_Var32" (pointer_expression "*pbVar29" * identifier) < (pointer_expression "*(byte *)pp_Var32" * (cast_expression "(byte *)pp_Var32" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)))) ;) (expression_statement "bVar34 = *pbVar29 == *(byte *)pp_Var32;" (assignment_expression "bVar34 = *pbVar29 == *(byte *)pp_Var32" identifier = (binary_expression "*pbVar29 == *(byte *)pp_Var32" (pointer_expression "*pbVar29" * identifier) == (pointer_expression "*(byte *)pp_Var32" * (cast_expression "(byte *)pp_Var32" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)))) ;) (expression_statement "pbVar29 = pbVar29 + (uint)bVar37 * -2 + 1;" (assignment_expression "pbVar29 = pbVar29 + (uint)bVar37 * -2 + 1" identifier = (binary_expression "pbVar29 + (uint)bVar37 * -2 + 1" (binary_expression "pbVar29 + (uint)bVar37 * -2" identifier + (binary_expression "(uint)bVar37 * -2" (cast_expression "(uint)bVar37" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pp_Var32 = (_func_int_varargs **)((int)pp_Var32 + (uint)bVar37 * -2 + 1);" (assignment_expression "pp_Var32 = (_func_int_varargs **)((int)pp_Var32 + (uint)bVar37 * -2 + 1)" identifier = (cast_expression "(_func_int_varargs **)((int)pp_Var32 + (uint)bVar37 * -2 + 1)" ( (type_descriptor "_func_int_varargs **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)pp_Var32 + (uint)bVar37 * -2 + 1)" ( (binary_expression "(int)pp_Var32 + (uint)bVar37 * -2 + 1" (binary_expression "(int)pp_Var32 + (uint)bVar37 * -2" (cast_expression "(int)pp_Var32" ( (type_descriptor "int" primitive_type) ) identifier) + (binary_expression "(uint)bVar37 * -2" (cast_expression "(uint)bVar37" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal) )))) ;) }) while (parenthesized_expression "(bVar34)" ( identifier )) ;) (expression_statement "pp_Var17 = (_func_int_varargs **)((int)pp_Var17 + 7);" (assignment_expression "pp_Var17 = (_func_int_varargs **)((int)pp_Var17 + 7)" identifier = (cast_expression "(_func_int_varargs **)((int)pp_Var17 + 7)" ( (type_descriptor "_func_int_varargs **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)pp_Var17 + 7)" ( (binary_expression "(int)pp_Var17 + 7" (cast_expression "(int)pp_Var17" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (if_statement "if ((!bVar35 && !bVar34) != bVar35) {\n            pp_Var17 = local_d8;\n          }" if (parenthesized_expression "((!bVar35 && !bVar34) != bVar35)" ( (binary_expression "(!bVar35 && !bVar34) != bVar35" (parenthesized_expression "(!bVar35 && !bVar34)" ( (binary_expression "!bVar35 && !bVar34" (unary_expression "!bVar35" ! identifier) && (unary_expression "!bVar34" ! identifier)) )) != identifier) )) (compound_statement "{\n            pp_Var17 = local_d8;\n          }" { (expression_statement "pp_Var17 = local_d8;" (assignment_expression "pp_Var17 = local_d8" identifier = identifier) ;) })) (expression_statement "local_d8 = pp_Var17;" (assignment_expression "local_d8 = pp_Var17" identifier = identifier) ;) }))) (if_statement "if (local_d1 != '\0') {\n          if (bVar23 == 0) {\n            src_id.first = (Relobj *)0x0;\n            src_id.second = 0;\n          }\n          else {\n            src_id.first = (Relobj *)local_c0;\n            src_id.second = (uint)local_b4;\n          }\n          *(Icf **)((int)ppGVar27 + -0xc) = (Icf *)&src_id;\n          *(mapped_type **)((int)ppGVar27 + -0x10) = local_c8;\n          local_b0 = (Icf *)&src_id;\n          *(undefined4 *)((int)ppGVar27 + -0x14) = 0xd26b9;\n          std::\n          vector<std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>\n          ::emplace_back<std::pair<gold::Relobj*,_unsigned_int>_>\n                    (*(vector<std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>\n                       **)((int)ppGVar27 + -0x10),\n                     *(pair<gold::Relobj*,_unsigned_int> **)((int)ppGVar27 + -0xc));\n          ppSVar7 = (local_cc->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>).\n                    _M_impl._M_finish;\n          if (ppSVar7 ==\n              (local_cc->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>)._M_impl.\n              _M_end_of_storage) {\n            *(Section_id **)((int)ppGVar27 + -8) = &src_id_1;\n            *(pointer *)((int)ppGVar27 + -0xc) = ppSVar7;\n            *(Symbol_info **)((int)ppGVar27 + -0x10) = local_cc;\n            *(undefined4 *)((int)ppGVar27 + -0x14) = 0xd2b4b;\n            std::vector<gold::Symbol*,_std::allocator<gold::Symbol*>_>::\n            _M_realloc_insert<gold::Symbol*_const&>\n                      (*(vector<gold::Symbol*,_std::allocator<gold::Symbol*>_> **)\n                        ((int)ppGVar27 + -0x10),(iterator)*(Symbol ***)((int)ppGVar27 + -0xc),\n                       *(Symbol ***)((int)ppGVar27 + -8));\n          }\n          else {\n            *ppSVar7 = (Symbol *)src_id_1.first;\n            (local_cc->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>)._M_impl.\n            _M_finish = ppSVar7 + 1;\n          }\n          *(Icf **)((int)ppGVar27 + -0xc) = local_b0;\n          *(Addend_info **)((int)ppGVar27 + -0x10) = local_e8;\n          src_id.first = local_f0;\n          src_id.second = 0;\n          local_2c = local_bc;\n          local_28._M_p = (pointer)((int)local_bc >> 0x1f);\n          *(undefined4 *)((int)ppGVar27 + -0x14) = 0xd270d;\n          std::\n          vector<std::pair<long_long_int,_long_long_int>,_std::allocator<std::pair<long_long_int,_long_long_int>_>_>\n          ::emplace_back<std::pair<long_long_int,_long_long_int>_>\n                    (*(vector<std::pair<long_long_int,_long_long_int>,_std::allocator<std::pair<long_long_int,_long_long_int>_>_>\n                       **)((int)ppGVar27 + -0x10),\n                     *(pair<long_long_int,_long_long_int> **)((int)ppGVar27 + -0xc));\n          src_id.second = 0;\n          puVar5 = (local_d0->\n                   super__Vector_base<long_long_unsigned_int,_std::allocator<long_long_unsigned_int>_>\n                   )._M_impl._M_finish;\n          src_id.first = *(Relobj **)prelocs;\n          if (puVar5 == (local_d0->\n                        super__Vector_base<long_long_unsigned_int,_std::allocator<long_long_unsigned_int>_>\n                        )._M_impl._M_end_of_storage) {\n            *(Icf **)((int)ppGVar27 + -8) = local_b0;\n            *(pointer *)((int)ppGVar27 + -0xc) = puVar5;\n            *(Offset_info **)((int)ppGVar27 + -0x10) = local_d0;\n            *(undefined4 *)((int)ppGVar27 + -0x14) = 0xd2bbd;\n            std::vector<long_long_unsigned_int,_std::allocator<long_long_unsigned_int>_>::\n            _M_realloc_insert<long_long_unsigned_int_const&>\n                      (*(vector<long_long_unsigned_int,_std::allocator<long_long_unsigned_int>_> **)\n                        ((int)ppGVar27 + -0x10),(iterator)*(ulonglong **)((int)ppGVar27 + -0xc),\n                       *(ulonglong **)((int)ppGVar27 + -8));\n          }\n          else {\n            *(Relobj **)puVar5 = *(Relobj **)prelocs;\n            *(undefined4 *)((int)puVar5 + 4) = 0;\n            (local_d0->\n            super__Vector_base<long_long_unsigned_int,_std::allocator<long_long_unsigned_int>_>).\n            _M_impl._M_finish = puVar5 + 1;\n          }\n          dst_id.first = (Relobj *)0x0;\n          *(Section_id **)((int)ppGVar27 + -0xc) = &dst_id;\n          *(Reloc_addend_size_info **)((int)ppGVar27 + -0x10) = local_ec;\n          *(undefined4 *)((int)ppGVar27 + -0x14) = 0xd2753;\n          std::vector<unsigned_int,_std::allocator<unsigned_int>_>::emplace_back<unsigned_int>\n                    (*(vector<unsigned_int,_std::allocator<unsigned_int>_> **)\n                      ((int)ppGVar27 + -0x10),*(uint **)((int)ppGVar27 + -0xc));\n        }" if (parenthesized_expression "(local_d1 != '\0')" ( (binary_expression "local_d1 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n          if (bVar23 == 0) {\n            src_id.first = (Relobj *)0x0;\n            src_id.second = 0;\n          }\n          else {\n            src_id.first = (Relobj *)local_c0;\n            src_id.second = (uint)local_b4;\n          }\n          *(Icf **)((int)ppGVar27 + -0xc) = (Icf *)&src_id;\n          *(mapped_type **)((int)ppGVar27 + -0x10) = local_c8;\n          local_b0 = (Icf *)&src_id;\n          *(undefined4 *)((int)ppGVar27 + -0x14) = 0xd26b9;\n          std::\n          vector<std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>\n          ::emplace_back<std::pair<gold::Relobj*,_unsigned_int>_>\n                    (*(vector<std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>\n                       **)((int)ppGVar27 + -0x10),\n                     *(pair<gold::Relobj*,_unsigned_int> **)((int)ppGVar27 + -0xc));\n          ppSVar7 = (local_cc->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>).\n                    _M_impl._M_finish;\n          if (ppSVar7 ==\n              (local_cc->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>)._M_impl.\n              _M_end_of_storage) {\n            *(Section_id **)((int)ppGVar27 + -8) = &src_id_1;\n            *(pointer *)((int)ppGVar27 + -0xc) = ppSVar7;\n            *(Symbol_info **)((int)ppGVar27 + -0x10) = local_cc;\n            *(undefined4 *)((int)ppGVar27 + -0x14) = 0xd2b4b;\n            std::vector<gold::Symbol*,_std::allocator<gold::Symbol*>_>::\n            _M_realloc_insert<gold::Symbol*_const&>\n                      (*(vector<gold::Symbol*,_std::allocator<gold::Symbol*>_> **)\n                        ((int)ppGVar27 + -0x10),(iterator)*(Symbol ***)((int)ppGVar27 + -0xc),\n                       *(Symbol ***)((int)ppGVar27 + -8));\n          }\n          else {\n            *ppSVar7 = (Symbol *)src_id_1.first;\n            (local_cc->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>)._M_impl.\n            _M_finish = ppSVar7 + 1;\n          }\n          *(Icf **)((int)ppGVar27 + -0xc) = local_b0;\n          *(Addend_info **)((int)ppGVar27 + -0x10) = local_e8;\n          src_id.first = local_f0;\n          src_id.second = 0;\n          local_2c = local_bc;\n          local_28._M_p = (pointer)((int)local_bc >> 0x1f);\n          *(undefined4 *)((int)ppGVar27 + -0x14) = 0xd270d;\n          std::\n          vector<std::pair<long_long_int,_long_long_int>,_std::allocator<std::pair<long_long_int,_long_long_int>_>_>\n          ::emplace_back<std::pair<long_long_int,_long_long_int>_>\n                    (*(vector<std::pair<long_long_int,_long_long_int>,_std::allocator<std::pair<long_long_int,_long_long_int>_>_>\n                       **)((int)ppGVar27 + -0x10),\n                     *(pair<long_long_int,_long_long_int> **)((int)ppGVar27 + -0xc));\n          src_id.second = 0;\n          puVar5 = (local_d0->\n                   super__Vector_base<long_long_unsigned_int,_std::allocator<long_long_unsigned_int>_>\n                   )._M_impl._M_finish;\n          src_id.first = *(Relobj **)prelocs;\n          if (puVar5 == (local_d0->\n                        super__Vector_base<long_long_unsigned_int,_std::allocator<long_long_unsigned_int>_>\n                        )._M_impl._M_end_of_storage) {\n            *(Icf **)((int)ppGVar27 + -8) = local_b0;\n            *(pointer *)((int)ppGVar27 + -0xc) = puVar5;\n            *(Offset_info **)((int)ppGVar27 + -0x10) = local_d0;\n            *(undefined4 *)((int)ppGVar27 + -0x14) = 0xd2bbd;\n            std::vector<long_long_unsigned_int,_std::allocator<long_long_unsigned_int>_>::\n            _M_realloc_insert<long_long_unsigned_int_const&>\n                      (*(vector<long_long_unsigned_int,_std::allocator<long_long_unsigned_int>_> **)\n                        ((int)ppGVar27 + -0x10),(iterator)*(ulonglong **)((int)ppGVar27 + -0xc),\n                       *(ulonglong **)((int)ppGVar27 + -8));\n          }\n          else {\n            *(Relobj **)puVar5 = *(Relobj **)prelocs;\n            *(undefined4 *)((int)puVar5 + 4) = 0;\n            (local_d0->\n            super__Vector_base<long_long_unsigned_int,_std::allocator<long_long_unsigned_int>_>).\n            _M_impl._M_finish = puVar5 + 1;\n          }\n          dst_id.first = (Relobj *)0x0;\n          *(Section_id **)((int)ppGVar27 + -0xc) = &dst_id;\n          *(Reloc_addend_size_info **)((int)ppGVar27 + -0x10) = local_ec;\n          *(undefined4 *)((int)ppGVar27 + -0x14) = 0xd2753;\n          std::vector<unsigned_int,_std::allocator<unsigned_int>_>::emplace_back<unsigned_int>\n                    (*(vector<unsigned_int,_std::allocator<unsigned_int>_> **)\n                      ((int)ppGVar27 + -0x10),*(uint **)((int)ppGVar27 + -0xc));\n        }" { (if_statement "if (bVar23 == 0) {\n            src_id.first = (Relobj *)0x0;\n            src_id.second = 0;\n          }\n          else {\n            src_id.first = (Relobj *)local_c0;\n            src_id.second = (uint)local_b4;\n          }" if (parenthesized_expression "(bVar23 == 0)" ( (binary_expression "bVar23 == 0" identifier == number_literal) )) (compound_statement "{\n            src_id.first = (Relobj *)0x0;\n            src_id.second = 0;\n          }" { (expression_statement "src_id.first = (Relobj *)0x0;" (assignment_expression "src_id.first = (Relobj *)0x0" (field_expression "src_id.first" identifier . field_identifier) = (cast_expression "(Relobj *)0x0" ( (type_descriptor "Relobj *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "src_id.second = 0;" (assignment_expression "src_id.second = 0" (field_expression "src_id.second" identifier . field_identifier) = number_literal) ;) }) (else_clause "else {\n            src_id.first = (Relobj *)local_c0;\n            src_id.second = (uint)local_b4;\n          }" else (compound_statement "{\n            src_id.first = (Relobj *)local_c0;\n            src_id.second = (uint)local_b4;\n          }" { (expression_statement "src_id.first = (Relobj *)local_c0;" (assignment_expression "src_id.first = (Relobj *)local_c0" (field_expression "src_id.first" identifier . field_identifier) = (cast_expression "(Relobj *)local_c0" ( (type_descriptor "Relobj *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "src_id.second = (uint)local_b4;" (assignment_expression "src_id.second = (uint)local_b4" (field_expression "src_id.second" identifier . field_identifier) = (cast_expression "(uint)local_b4" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) }))) (expression_statement "*(Icf **)((int)ppGVar27 + -0xc) = (Icf *)&src_id;" (assignment_expression "*(Icf **)((int)ppGVar27 + -0xc) = (Icf *)&src_id" (pointer_expression "*(Icf **)((int)ppGVar27 + -0xc)" * (cast_expression "(Icf **)((int)ppGVar27 + -0xc)" ( (type_descriptor "Icf **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)ppGVar27 + -0xc)" ( (binary_expression "(int)ppGVar27 + -0xc" (cast_expression "(int)ppGVar27" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (cast_expression "(Icf *)&src_id" ( (type_descriptor "Icf *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&src_id" & identifier))) ;) (expression_statement "*(mapped_type **)((int)ppGVar27 + -0x10) = local_c8;" (assignment_expression "*(mapped_type **)((int)ppGVar27 + -0x10) = local_c8" (pointer_expression "*(mapped_type **)((int)ppGVar27 + -0x10)" * (cast_expression "(mapped_type **)((int)ppGVar27 + -0x10)" ( (type_descriptor "mapped_type **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)ppGVar27 + -0x10)" ( (binary_expression "(int)ppGVar27 + -0x10" (cast_expression "(int)ppGVar27" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "local_b0 = (Icf *)&src_id;" (assignment_expression "local_b0 = (Icf *)&src_id" identifier = (cast_expression "(Icf *)&src_id" ( (type_descriptor "Icf *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&src_id" & identifier))) ;) (expression_statement "*(undefined4 *)((int)ppGVar27 + -0x14) = 0xd26b9;" (assignment_expression "*(undefined4 *)((int)ppGVar27 + -0x14) = 0xd26b9" (pointer_expression "*(undefined4 *)((int)ppGVar27 + -0x14)" * (cast_expression "(undefined4 *)((int)ppGVar27 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppGVar27 + -0x14)" ( (binary_expression "(int)ppGVar27 + -0x14" (cast_expression "(int)ppGVar27" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (ERROR "std::\n          vector<std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>\n          ::emplace_back<std::pair<gold::" (comma_expression "std::\n          vector<std::pair<gold::Relobj*,_unsigned_int>,_std" identifier (ERROR "::\n          vector<std::pair<gold::Relobj*,_unsigned_int>" : : (binary_expression "vector<std" identifier < identifier) : : (binary_expression "pair<gold" identifier < identifier) : : identifier * , identifier >) , identifier) : : (binary_expression "allocator<std" identifier < identifier) : : (binary_expression "pair<gold" identifier < identifier) : : (binary_expression "Relobj*,_unsigned_int>_>_>\n          ::emplace_back<std" (binary_expression "Relobj*,_unsigned_int>_>_>\n          ::emplace_back" (binary_expression "Relobj*,_unsigned_int>_>_" (binary_expression "Relobj*,_unsigned_int>_" (binary_expression "Relobj*,_unsigned_int" identifier * (ERROR "," ,) identifier) > identifier) > identifier) > (ERROR "::" : :) identifier) < identifier) : : (binary_expression "pair<gold" identifier < identifier) : :) (expression_statement "Relobj*,_unsigned_int>_>\n                    (*(vector<std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>\n                       **)((int)ppGVar27 + -0x10),\n                     *(pair<gold::Relobj*,_unsigned_int> **)((int)ppGVar27 + -0xc));" (binary_expression "Relobj*,_unsigned_int>_>\n                    (*(vector<std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>\n                       **)((int)ppGVar27 + -0x10),\n                     *(pair<gold::Relobj*,_unsigned_int> **)((int)ppGVar27 + -0xc))" (binary_expression "Relobj*,_unsigned_int>_" (binary_expression "Relobj*,_unsigned_int" identifier * (ERROR "," ,) identifier) > identifier) > (parenthesized_expression "(*(vector<std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>\n                       **)((int)ppGVar27 + -0x10),\n                     *(pair<gold::Relobj*,_unsigned_int> **)((int)ppGVar27 + -0xc))" ( (comma_expression "*(vector<std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>\n                       **)((int)ppGVar27 + -0x10),\n                     *(pair<gold::Relobj*,_unsigned_int> **)((int)ppGVar27 + -0xc)" (pointer_expression "*(vector<std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>\n                       **)((int)ppGVar27 + -0x10)" * (call_expression "(vector<std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>\n                       **)((int)ppGVar27 + -0x10)" (parenthesized_expression "(vector<std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>\n                       **)" ( (binary_expression "vector<std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>\n                       **" (binary_expression "vector<std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_" (binary_expression "vector<std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_" (binary_expression "vector<std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int" (binary_expression "vector<std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold" (binary_expression "vector<std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std" (binary_expression "vector<std::pair<gold::Relobj*,_unsigned_int>,_std" (binary_expression "vector<std::pair<gold::Relobj*,_unsigned_int" (binary_expression "vector<std::pair<gold" (binary_expression "vector<std" identifier < identifier) (ERROR "::pair" : : identifier) < identifier) (ERROR "::Relobj" : : identifier) * (ERROR "," ,) identifier) > (ERROR "," ,) identifier) (ERROR "::allocator" : : identifier) < identifier) (ERROR "::pair" : : identifier) < identifier) (ERROR "::Relobj" : : identifier) * (ERROR "," ,) identifier) > identifier) > identifier) > (pointer_expression "**" * (pointer_expression "*" * identifier))) )) (argument_list "((int)ppGVar27 + -0x10)" ( (binary_expression "(int)ppGVar27 + -0x10" (cast_expression "(int)ppGVar27" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (pointer_expression "*(pair<gold::Relobj*,_unsigned_int> **)((int)ppGVar27 + -0xc)" * (call_expression "(pair<gold::Relobj*,_unsigned_int> **)((int)ppGVar27 + -0xc)" (parenthesized_expression "(pair<gold::Relobj*,_unsigned_int> **)" ( (binary_expression "pair<gold::Relobj*,_unsigned_int> **" (binary_expression "pair<gold::Relobj*,_unsigned_int" (binary_expression "pair<gold" identifier < identifier) (ERROR "::Relobj" : : identifier) * (ERROR "," ,) identifier) > (pointer_expression "**" * (pointer_expression "*" * identifier))) )) (argument_list "((int)ppGVar27 + -0xc)" ( (binary_expression "(int)ppGVar27 + -0xc" (cast_expression "(int)ppGVar27" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ))) ;) (expression_statement "ppSVar7 = (local_cc->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>).\n                    _M_impl._M_finish;" (assignment_expression "ppSVar7 = (local_cc->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>).\n                    _M_impl._M_finish" identifier = (field_expression "(local_cc->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>).\n                    _M_impl._M_finish" (field_expression "(local_cc->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>).\n                    _M_impl" (parenthesized_expression "(local_cc->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>)" ( (ERROR "local_cc->super__Vector_base<gold::Symbol*,_std::allocator<gold::" (comma_expression "local_cc->super__Vector_base<gold::Symbol*,_std" (binary_expression "local_cc->super__Vector_base<gold::Symbol*" (binary_expression "local_cc->super__Vector_base<gold" (field_expression "local_cc->super__Vector_base" identifier -> field_identifier) < identifier) (ERROR "::Symbol" : : identifier) * identifier) , identifier) : : (binary_expression "allocator<gold" identifier < identifier) : :) (binary_expression "Symbol*>_>" (binary_expression "Symbol*>_" identifier * (ERROR ">" >) identifier) > identifier) )) . field_identifier) . field_identifier)) ;) (if_statement "if (ppSVar7 ==\n              (local_cc->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>)._M_impl.\n              _M_end_of_storage) {\n            *(Section_id **)((int)ppGVar27 + -8) = &src_id_1;\n            *(pointer *)((int)ppGVar27 + -0xc) = ppSVar7;\n            *(Symbol_info **)((int)ppGVar27 + -0x10) = local_cc;\n            *(undefined4 *)((int)ppGVar27 + -0x14) = 0xd2b4b;\n            std::vector<gold::Symbol*,_std::allocator<gold::Symbol*>_>::\n            _M_realloc_insert<gold::Symbol*_const&>\n                      (*(vector<gold::Symbol*,_std::allocator<gold::Symbol*>_> **)\n                        ((int)ppGVar27 + -0x10),(iterator)*(Symbol ***)((int)ppGVar27 + -0xc),\n                       *(Symbol ***)((int)ppGVar27 + -8));\n          }\n          else {\n            *ppSVar7 = (Symbol *)src_id_1.first;\n            (local_cc->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>)._M_impl.\n            _M_finish = ppSVar7 + 1;\n          }" if (parenthesized_expression "(ppSVar7 ==\n              (local_cc->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>)._M_impl.\n              _M_end_of_storage)" ( (binary_expression "ppSVar7 ==\n              (local_cc->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>)._M_impl.\n              _M_end_of_storage" identifier == (field_expression "(local_cc->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>)._M_impl.\n              _M_end_of_storage" (field_expression "(local_cc->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>)._M_impl" (parenthesized_expression "(local_cc->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>)" ( (binary_expression "local_cc->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>" (binary_expression "local_cc->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_" (binary_expression "local_cc->super__Vector_base<gold::Symbol*,_std::allocator<gold" (binary_expression "local_cc->super__Vector_base<gold::Symbol*,_std" (binary_expression "local_cc->super__Vector_base<gold" (field_expression "local_cc->super__Vector_base" identifier -> field_identifier) < identifier) (ERROR "::Symbol" : : identifier) * (ERROR "," ,) identifier) (ERROR "::allocator" : : identifier) < identifier) (ERROR "::Symbol" : : identifier) * (ERROR ">" >) identifier) > identifier) )) . field_identifier) . field_identifier)) )) (compound_statement "{\n            *(Section_id **)((int)ppGVar27 + -8) = &src_id_1;\n            *(pointer *)((int)ppGVar27 + -0xc) = ppSVar7;\n            *(Symbol_info **)((int)ppGVar27 + -0x10) = local_cc;\n            *(undefined4 *)((int)ppGVar27 + -0x14) = 0xd2b4b;\n            std::vector<gold::Symbol*,_std::allocator<gold::Symbol*>_>::\n            _M_realloc_insert<gold::Symbol*_const&>\n                      (*(vector<gold::Symbol*,_std::allocator<gold::Symbol*>_> **)\n                        ((int)ppGVar27 + -0x10),(iterator)*(Symbol ***)((int)ppGVar27 + -0xc),\n                       *(Symbol ***)((int)ppGVar27 + -8));\n          }" { (expression_statement "*(Section_id **)((int)ppGVar27 + -8) = &src_id_1;" (assignment_expression "*(Section_id **)((int)ppGVar27 + -8) = &src_id_1" (pointer_expression "*(Section_id **)((int)ppGVar27 + -8)" * (cast_expression "(Section_id **)((int)ppGVar27 + -8)" ( (type_descriptor "Section_id **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)ppGVar27 + -8)" ( (binary_expression "(int)ppGVar27 + -8" (cast_expression "(int)ppGVar27" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "&src_id_1" & identifier)) ;) (expression_statement "*(pointer *)((int)ppGVar27 + -0xc) = ppSVar7;" (assignment_expression "*(pointer *)((int)ppGVar27 + -0xc) = ppSVar7" (pointer_expression "*(pointer *)((int)ppGVar27 + -0xc)" * (cast_expression "(pointer *)((int)ppGVar27 + -0xc)" ( (type_descriptor "pointer *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppGVar27 + -0xc)" ( (binary_expression "(int)ppGVar27 + -0xc" (cast_expression "(int)ppGVar27" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(Symbol_info **)((int)ppGVar27 + -0x10) = local_cc;" (assignment_expression "*(Symbol_info **)((int)ppGVar27 + -0x10) = local_cc" (pointer_expression "*(Symbol_info **)((int)ppGVar27 + -0x10)" * (cast_expression "(Symbol_info **)((int)ppGVar27 + -0x10)" ( (type_descriptor "Symbol_info **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)ppGVar27 + -0x10)" ( (binary_expression "(int)ppGVar27 + -0x10" (cast_expression "(int)ppGVar27" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)ppGVar27 + -0x14) = 0xd2b4b;" (assignment_expression "*(undefined4 *)((int)ppGVar27 + -0x14) = 0xd2b4b" (pointer_expression "*(undefined4 *)((int)ppGVar27 + -0x14)" * (cast_expression "(undefined4 *)((int)ppGVar27 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppGVar27 + -0x14)" ( (binary_expression "(int)ppGVar27 + -0x14" (cast_expression "(int)ppGVar27" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (ERROR "std::vector<gold::Symbol*,_std::allocator<gold::Symbol*>_>::\n            _M_realloc_insert<gold::" (comma_expression "std::vector<gold::Symbol*,_std" identifier (ERROR "::vector<gold::Symbol*" : : (binary_expression "vector<gold" identifier < identifier) : : identifier *) , identifier) : : (binary_expression "allocator<gold" identifier < identifier) : : (binary_expression "Symbol*>_>::\n            _M_realloc_insert<gold" (binary_expression "Symbol*>_>::\n            _M_realloc_insert" (binary_expression "Symbol*>_" identifier * (ERROR ">" >) identifier) > (ERROR "::" : :) identifier) < identifier) : :) (expression_statement "Symbol*_const&>\n                      (*(vector<gold::Symbol*,_std::allocator<gold::Symbol*>_> **)\n                        ((int)ppGVar27 + -0x10),(iterator)*(Symbol ***)((int)ppGVar27 + -0xc),\n                       *(Symbol ***)((int)ppGVar27 + -8));" (binary_expression "Symbol*_const&>\n                      (*(vector<gold::Symbol*,_std::allocator<gold::Symbol*>_> **)\n                        ((int)ppGVar27 + -0x10),(iterator)*(Symbol ***)((int)ppGVar27 + -0xc),\n                       *(Symbol ***)((int)ppGVar27 + -8))" (binary_expression "Symbol*_const" identifier * identifier) (ERROR "&" &) > (parenthesized_expression "(*(vector<gold::Symbol*,_std::allocator<gold::Symbol*>_> **)\n                        ((int)ppGVar27 + -0x10),(iterator)*(Symbol ***)((int)ppGVar27 + -0xc),\n                       *(Symbol ***)((int)ppGVar27 + -8))" ( (comma_expression "*(vector<gold::Symbol*,_std::allocator<gold::Symbol*>_> **)\n                        ((int)ppGVar27 + -0x10),(iterator)*(Symbol ***)((int)ppGVar27 + -0xc),\n                       *(Symbol ***)((int)ppGVar27 + -8)" (pointer_expression "*(vector<gold::Symbol*,_std::allocator<gold::Symbol*>_> **)\n                        ((int)ppGVar27 + -0x10)" * (call_expression "(vector<gold::Symbol*,_std::allocator<gold::Symbol*>_> **)\n                        ((int)ppGVar27 + -0x10)" (parenthesized_expression "(vector<gold::Symbol*,_std::allocator<gold::Symbol*>_> **)" ( (binary_expression "vector<gold::Symbol*,_std::allocator<gold::Symbol*>_> **" (binary_expression "vector<gold::Symbol*,_std::allocator<gold::Symbol*>_" (binary_expression "vector<gold::Symbol*,_std::allocator<gold" (binary_expression "vector<gold::Symbol*,_std" (binary_expression "vector<gold" identifier < identifier) (ERROR "::Symbol" : : identifier) * (ERROR "," ,) identifier) (ERROR "::allocator" : : identifier) < identifier) (ERROR "::Symbol" : : identifier) * (ERROR ">" >) identifier) > (pointer_expression "**" * (pointer_expression "*" * identifier))) )) (argument_list "((int)ppGVar27 + -0x10)" ( (binary_expression "(int)ppGVar27 + -0x10" (cast_expression "(int)ppGVar27" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (comma_expression "(iterator)*(Symbol ***)((int)ppGVar27 + -0xc),\n                       *(Symbol ***)((int)ppGVar27 + -8)" (binary_expression "(iterator)*(Symbol ***)((int)ppGVar27 + -0xc)" (parenthesized_expression "(iterator)" ( identifier )) * (cast_expression "(Symbol ***)((int)ppGVar27 + -0xc)" ( (type_descriptor "Symbol ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "((int)ppGVar27 + -0xc)" ( (binary_expression "(int)ppGVar27 + -0xc" (cast_expression "(int)ppGVar27" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (pointer_expression "*(Symbol ***)((int)ppGVar27 + -8)" * (cast_expression "(Symbol ***)((int)ppGVar27 + -8)" ( (type_descriptor "Symbol ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "((int)ppGVar27 + -8)" ( (binary_expression "(int)ppGVar27 + -8" (cast_expression "(int)ppGVar27" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))))) ))) ;) }) (else_clause "else {\n            *ppSVar7 = (Symbol *)src_id_1.first;\n            (local_cc->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>)._M_impl.\n            _M_finish = ppSVar7 + 1;\n          }" else (compound_statement "{\n            *ppSVar7 = (Symbol *)src_id_1.first;\n            (local_cc->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>)._M_impl.\n            _M_finish = ppSVar7 + 1;\n          }" { (expression_statement "*ppSVar7 = (Symbol *)src_id_1.first;" (assignment_expression "*ppSVar7 = (Symbol *)src_id_1.first" (pointer_expression "*ppSVar7" * identifier) = (cast_expression "(Symbol *)src_id_1.first" ( (type_descriptor "Symbol *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "src_id_1.first" identifier . field_identifier))) ;) (expression_statement "(local_cc->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>)._M_impl.\n            _M_finish = ppSVar7 + 1;" (assignment_expression "(local_cc->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>)._M_impl.\n            _M_finish = ppSVar7 + 1" (field_expression "(local_cc->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>)._M_impl.\n            _M_finish" (field_expression "(local_cc->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>)._M_impl" (parenthesized_expression "(local_cc->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>)" ( (binary_expression "local_cc->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>" (binary_expression "local_cc->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_" (binary_expression "local_cc->super__Vector_base<gold::Symbol*,_std::allocator<gold" (binary_expression "local_cc->super__Vector_base<gold::Symbol*,_std" (binary_expression "local_cc->super__Vector_base<gold" (field_expression "local_cc->super__Vector_base" identifier -> field_identifier) < identifier) (ERROR "::Symbol" : : identifier) * (ERROR "," ,) identifier) (ERROR "::allocator" : : identifier) < identifier) (ERROR "::Symbol" : : identifier) * (ERROR ">" >) identifier) > identifier) )) . field_identifier) . field_identifier) = (binary_expression "ppSVar7 + 1" identifier + number_literal)) ;) }))) (expression_statement "*(Icf **)((int)ppGVar27 + -0xc) = local_b0;" (assignment_expression "*(Icf **)((int)ppGVar27 + -0xc) = local_b0" (pointer_expression "*(Icf **)((int)ppGVar27 + -0xc)" * (cast_expression "(Icf **)((int)ppGVar27 + -0xc)" ( (type_descriptor "Icf **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)ppGVar27 + -0xc)" ( (binary_expression "(int)ppGVar27 + -0xc" (cast_expression "(int)ppGVar27" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(Addend_info **)((int)ppGVar27 + -0x10) = local_e8;" (assignment_expression "*(Addend_info **)((int)ppGVar27 + -0x10) = local_e8" (pointer_expression "*(Addend_info **)((int)ppGVar27 + -0x10)" * (cast_expression "(Addend_info **)((int)ppGVar27 + -0x10)" ( (type_descriptor "Addend_info **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)ppGVar27 + -0x10)" ( (binary_expression "(int)ppGVar27 + -0x10" (cast_expression "(int)ppGVar27" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "src_id.first = local_f0;" (assignment_expression "src_id.first = local_f0" (field_expression "src_id.first" identifier . field_identifier) = identifier) ;) (expression_statement "src_id.second = 0;" (assignment_expression "src_id.second = 0" (field_expression "src_id.second" identifier . field_identifier) = number_literal) ;) (expression_statement "local_2c = local_bc;" (assignment_expression "local_2c = local_bc" identifier = identifier) ;) (expression_statement "local_28._M_p = (pointer)((int)local_bc >> 0x1f);" (assignment_expression "local_28._M_p = (pointer)((int)local_bc >> 0x1f)" (field_expression "local_28._M_p" identifier . field_identifier) = (call_expression "(pointer)((int)local_bc >> 0x1f)" (parenthesized_expression "(pointer)" ( identifier )) (argument_list "((int)local_bc >> 0x1f)" ( (binary_expression "(int)local_bc >> 0x1f" (cast_expression "(int)local_bc" ( (type_descriptor "int" primitive_type) ) identifier) >> number_literal) )))) ;) (expression_statement "*(undefined4 *)((int)ppGVar27 + -0x14) = 0xd270d;" (assignment_expression "*(undefined4 *)((int)ppGVar27 + -0x14) = 0xd270d" (pointer_expression "*(undefined4 *)((int)ppGVar27 + -0x14)" * (cast_expression "(undefined4 *)((int)ppGVar27 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppGVar27 + -0x14)" ( (binary_expression "(int)ppGVar27 + -0x14" (cast_expression "(int)ppGVar27" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (labeled_statement "std::\n          vector<std::pair<long_long_int,_long_long_int>,_std::allocator<std::pair<long_long_int,_long_long_int>_>_>\n          ::emplace_back<std::pair<long_long_int,_long_long_int>_>\n                    (*(vector<std::pair<long_long_int,_long_long_int>,_std::allocator<std::pair<long_long_int,_long_long_int>_>_>\n                       **)((int)ppGVar27 + -0x10),\n                     *(pair<long_long_int,_long_long_int> **)((int)ppGVar27 + -0xc));" statement_identifier (ERROR "::\n          vector<std::pair<long_long_int,_long_long_int>,_std::allocator<std::pair<long_long_int,_long_long_int>_>_>\n          ::emplace_back<std:" : : (binary_expression "vector<std" identifier < identifier) : : (comma_expression "pair<long_long_int,_long_long_int>,_std" (binary_expression "pair<long_long_int" identifier < identifier) , (binary_expression "_long_long_int>,_std" identifier > (ERROR "," ,) identifier)) : : (binary_expression "allocator<std" identifier < identifier) : : (comma_expression "pair<long_long_int,_long_long_int>_>_>\n          ::emplace_back<std" (binary_expression "pair<long_long_int" identifier < identifier) , (binary_expression "_long_long_int>_>_>\n          ::emplace_back<std" (binary_expression "_long_long_int>_>_>\n          ::emplace_back" (binary_expression "_long_long_int>_>_" (binary_expression "_long_long_int>_" identifier > identifier) > identifier) > (ERROR "::" : :) identifier) < identifier)) :) : (expression_statement "pair<long_long_int,_long_long_int>_>\n                    (*(vector<std::pair<long_long_int,_long_long_int>,_std::allocator<std::pair<long_long_int,_long_long_int>_>_>\n                       **)((int)ppGVar27 + -0x10),\n                     *(pair<long_long_int,_long_long_int> **)((int)ppGVar27 + -0xc));" (comma_expression "pair<long_long_int,_long_long_int>_>\n                    (*(vector<std::pair<long_long_int,_long_long_int>,_std::allocator<std::pair<long_long_int,_long_long_int>_>_>\n                       **)((int)ppGVar27 + -0x10),\n                     *(pair<long_long_int,_long_long_int> **)((int)ppGVar27 + -0xc))" (binary_expression "pair<long_long_int" identifier < identifier) , (binary_expression "_long_long_int>_>\n                    (*(vector<std::pair<long_long_int,_long_long_int>,_std::allocator<std::pair<long_long_int,_long_long_int>_>_>\n                       **)((int)ppGVar27 + -0x10),\n                     *(pair<long_long_int,_long_long_int> **)((int)ppGVar27 + -0xc))" (binary_expression "_long_long_int>_" identifier > identifier) > (parenthesized_expression "(*(vector<std::pair<long_long_int,_long_long_int>,_std::allocator<std::pair<long_long_int,_long_long_int>_>_>\n                       **)((int)ppGVar27 + -0x10),\n                     *(pair<long_long_int,_long_long_int> **)((int)ppGVar27 + -0xc))" ( (comma_expression "*(vector<std::pair<long_long_int,_long_long_int>,_std::allocator<std::pair<long_long_int,_long_long_int>_>_>\n                       **)((int)ppGVar27 + -0x10),\n                     *(pair<long_long_int,_long_long_int> **)((int)ppGVar27 + -0xc)" (pointer_expression "*(vector<std::pair<long_long_int,_long_long_int>,_std::allocator<std::pair<long_long_int,_long_long_int>_>_>\n                       **)((int)ppGVar27 + -0x10)" * (call_expression "(vector<std::pair<long_long_int,_long_long_int>,_std::allocator<std::pair<long_long_int,_long_long_int>_>_>\n                       **)((int)ppGVar27 + -0x10)" (parenthesized_expression "(vector<std::pair<long_long_int,_long_long_int>,_std::allocator<std::pair<long_long_int,_long_long_int>_>_>\n                       **)" ( (ERROR "vector<std::pair<long_long_int,_long_long_int>,_std::allocator<std::" (comma_expression "vector<std::pair<long_long_int,_long_long_int>,_std" (binary_expression "vector<std::pair<long_long_int" (binary_expression "vector<std" identifier < identifier) (ERROR "::pair" : : identifier) < identifier) , (binary_expression "_long_long_int>,_std" identifier > (ERROR "," ,) identifier)) : : (binary_expression "allocator<std" identifier < identifier) : :) (comma_expression "pair<long_long_int,_long_long_int>_>_>\n                       **" (binary_expression "pair<long_long_int" identifier < identifier) , (binary_expression "_long_long_int>_>_>\n                       **" (binary_expression "_long_long_int>_>_" (binary_expression "_long_long_int>_" identifier > identifier) > identifier) > (pointer_expression "**" * (pointer_expression "*" * identifier)))) )) (argument_list "((int)ppGVar27 + -0x10)" ( (binary_expression "(int)ppGVar27 + -0x10" (cast_expression "(int)ppGVar27" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (pointer_expression "*(pair<long_long_int,_long_long_int> **)((int)ppGVar27 + -0xc)" * (call_expression "(pair<long_long_int,_long_long_int> **)((int)ppGVar27 + -0xc)" (parenthesized_expression "(pair<long_long_int,_long_long_int> **)" ( (comma_expression "pair<long_long_int,_long_long_int> **" (binary_expression "pair<long_long_int" identifier < identifier) , (binary_expression "_long_long_int> **" identifier > (pointer_expression "**" * (pointer_expression "*" * identifier)))) )) (argument_list "((int)ppGVar27 + -0xc)" ( (binary_expression "(int)ppGVar27 + -0xc" (cast_expression "(int)ppGVar27" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) )))) ;)) (expression_statement "src_id.second = 0;" (assignment_expression "src_id.second = 0" (field_expression "src_id.second" identifier . field_identifier) = number_literal) ;) (expression_statement "puVar5 = (local_d0->\n                   super__Vector_base<long_long_unsigned_int,_std::allocator<long_long_unsigned_int>_>\n                   )._M_impl._M_finish;" (assignment_expression "puVar5 = (local_d0->\n                   super__Vector_base<long_long_unsigned_int,_std::allocator<long_long_unsigned_int>_>\n                   )._M_impl._M_finish" identifier = (field_expression "(local_d0->\n                   super__Vector_base<long_long_unsigned_int,_std::allocator<long_long_unsigned_int>_>\n                   )._M_impl._M_finish" (field_expression "(local_d0->\n                   super__Vector_base<long_long_unsigned_int,_std::allocator<long_long_unsigned_int>_>\n                   )._M_impl" (parenthesized_expression "(local_d0->\n                   super__Vector_base<long_long_unsigned_int,_std::allocator<long_long_unsigned_int>_>\n                   )" ( (ERROR "local_d0->\n                   super__Vector_base<long_long_unsigned_int,_std::" (comma_expression "local_d0->\n                   super__Vector_base<long_long_unsigned_int,_std" (binary_expression "local_d0->\n                   super__Vector_base<long_long_unsigned_int" (field_expression "local_d0->\n                   super__Vector_base" identifier -> field_identifier) < identifier) , identifier) : :) (binary_expression "allocator<long_long_unsigned_int>_>" (binary_expression "allocator<long_long_unsigned_int>_" (binary_expression "allocator<long_long_unsigned_int" identifier < identifier) > identifier) > identifier) )) . field_identifier) . field_identifier)) ;) (expression_statement "src_id.first = *(Relobj **)prelocs;" (assignment_expression "src_id.first = *(Relobj **)prelocs" (field_expression "src_id.first" identifier . field_identifier) = (pointer_expression "*(Relobj **)prelocs" * (cast_expression "(Relobj **)prelocs" ( (type_descriptor "Relobj **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) ;) (if_statement "if (puVar5 == (local_d0->\n                        super__Vector_base<long_long_unsigned_int,_std::allocator<long_long_unsigned_int>_>\n                        )._M_impl._M_end_of_storage) {\n            *(Icf **)((int)ppGVar27 + -8) = local_b0;\n            *(pointer *)((int)ppGVar27 + -0xc) = puVar5;\n            *(Offset_info **)((int)ppGVar27 + -0x10) = local_d0;\n            *(undefined4 *)((int)ppGVar27 + -0x14) = 0xd2bbd;\n            std::vector<long_long_unsigned_int,_std::allocator<long_long_unsigned_int>_>::\n            _M_realloc_insert<long_long_unsigned_int_const&>\n                      (*(vector<long_long_unsigned_int,_std::allocator<long_long_unsigned_int>_> **)\n                        ((int)ppGVar27 + -0x10),(iterator)*(ulonglong **)((int)ppGVar27 + -0xc),\n                       *(ulonglong **)((int)ppGVar27 + -8));\n          }\n          else {\n            *(Relobj **)puVar5 = *(Relobj **)prelocs;\n            *(undefined4 *)((int)puVar5 + 4) = 0;\n            (local_d0->\n            super__Vector_base<long_long_unsigned_int,_std::allocator<long_long_unsigned_int>_>).\n            _M_impl._M_finish = puVar5 + 1;\n          }" if (parenthesized_expression "(puVar5 == (local_d0->\n                        super__Vector_base<long_long_unsigned_int,_std::allocator<long_long_unsigned_int>_>\n                        )._M_impl._M_end_of_storage)" ( (binary_expression "puVar5 == (local_d0->\n                        super__Vector_base<long_long_unsigned_int,_std::allocator<long_long_unsigned_int>_>\n                        )._M_impl._M_end_of_storage" identifier == (field_expression "(local_d0->\n                        super__Vector_base<long_long_unsigned_int,_std::allocator<long_long_unsigned_int>_>\n                        )._M_impl._M_end_of_storage" (field_expression "(local_d0->\n                        super__Vector_base<long_long_unsigned_int,_std::allocator<long_long_unsigned_int>_>\n                        )._M_impl" (parenthesized_expression "(local_d0->\n                        super__Vector_base<long_long_unsigned_int,_std::allocator<long_long_unsigned_int>_>\n                        )" ( (ERROR "local_d0->\n                        super__Vector_base<long_long_unsigned_int,_std::" (comma_expression "local_d0->\n                        super__Vector_base<long_long_unsigned_int,_std" (binary_expression "local_d0->\n                        super__Vector_base<long_long_unsigned_int" (field_expression "local_d0->\n                        super__Vector_base" identifier -> field_identifier) < identifier) , identifier) : :) (binary_expression "allocator<long_long_unsigned_int>_>" (binary_expression "allocator<long_long_unsigned_int>_" (binary_expression "allocator<long_long_unsigned_int" identifier < identifier) > identifier) > identifier) )) . field_identifier) . field_identifier)) )) (compound_statement "{\n            *(Icf **)((int)ppGVar27 + -8) = local_b0;\n            *(pointer *)((int)ppGVar27 + -0xc) = puVar5;\n            *(Offset_info **)((int)ppGVar27 + -0x10) = local_d0;\n            *(undefined4 *)((int)ppGVar27 + -0x14) = 0xd2bbd;\n            std::vector<long_long_unsigned_int,_std::allocator<long_long_unsigned_int>_>::\n            _M_realloc_insert<long_long_unsigned_int_const&>\n                      (*(vector<long_long_unsigned_int,_std::allocator<long_long_unsigned_int>_> **)\n                        ((int)ppGVar27 + -0x10),(iterator)*(ulonglong **)((int)ppGVar27 + -0xc),\n                       *(ulonglong **)((int)ppGVar27 + -8));\n          }" { (expression_statement "*(Icf **)((int)ppGVar27 + -8) = local_b0;" (assignment_expression "*(Icf **)((int)ppGVar27 + -8) = local_b0" (pointer_expression "*(Icf **)((int)ppGVar27 + -8)" * (cast_expression "(Icf **)((int)ppGVar27 + -8)" ( (type_descriptor "Icf **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)ppGVar27 + -8)" ( (binary_expression "(int)ppGVar27 + -8" (cast_expression "(int)ppGVar27" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(pointer *)((int)ppGVar27 + -0xc) = puVar5;" (assignment_expression "*(pointer *)((int)ppGVar27 + -0xc) = puVar5" (pointer_expression "*(pointer *)((int)ppGVar27 + -0xc)" * (cast_expression "(pointer *)((int)ppGVar27 + -0xc)" ( (type_descriptor "pointer *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppGVar27 + -0xc)" ( (binary_expression "(int)ppGVar27 + -0xc" (cast_expression "(int)ppGVar27" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(Offset_info **)((int)ppGVar27 + -0x10) = local_d0;" (assignment_expression "*(Offset_info **)((int)ppGVar27 + -0x10) = local_d0" (pointer_expression "*(Offset_info **)((int)ppGVar27 + -0x10)" * (cast_expression "(Offset_info **)((int)ppGVar27 + -0x10)" ( (type_descriptor "Offset_info **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)ppGVar27 + -0x10)" ( (binary_expression "(int)ppGVar27 + -0x10" (cast_expression "(int)ppGVar27" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)ppGVar27 + -0x14) = 0xd2bbd;" (assignment_expression "*(undefined4 *)((int)ppGVar27 + -0x14) = 0xd2bbd" (pointer_expression "*(undefined4 *)((int)ppGVar27 + -0x14)" * (cast_expression "(undefined4 *)((int)ppGVar27 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppGVar27 + -0x14)" ( (binary_expression "(int)ppGVar27 + -0x14" (cast_expression "(int)ppGVar27" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (labeled_statement "std::vector<long_long_unsigned_int,_std::allocator<long_long_unsigned_int>_>::\n            _M_realloc_insert<long_long_unsigned_int_const&>\n                      (*(vector<long_long_unsigned_int,_std::allocator<long_long_unsigned_int>_> **)\n                        ((int)ppGVar27 + -0x10),(iterator)*(ulonglong **)((int)ppGVar27 + -0xc),\n                       *(ulonglong **)((int)ppGVar27 + -8));" statement_identifier (ERROR "::vector<long_long_unsigned_int,_std::allocator<long_long_unsigned_int>_>:" : : (comma_expression "vector<long_long_unsigned_int,_std" (binary_expression "vector<long_long_unsigned_int" identifier < identifier) , identifier) : : (binary_expression "allocator<long_long_unsigned_int>_" (binary_expression "allocator<long_long_unsigned_int" identifier < identifier) > identifier) > :) : (expression_statement "_M_realloc_insert<long_long_unsigned_int_const&>\n                      (*(vector<long_long_unsigned_int,_std::allocator<long_long_unsigned_int>_> **)\n                        ((int)ppGVar27 + -0x10),(iterator)*(ulonglong **)((int)ppGVar27 + -0xc),\n                       *(ulonglong **)((int)ppGVar27 + -8));" (binary_expression "_M_realloc_insert<long_long_unsigned_int_const&>\n                      (*(vector<long_long_unsigned_int,_std::allocator<long_long_unsigned_int>_> **)\n                        ((int)ppGVar27 + -0x10),(iterator)*(ulonglong **)((int)ppGVar27 + -0xc),\n                       *(ulonglong **)((int)ppGVar27 + -8))" (binary_expression "_M_realloc_insert<long_long_unsigned_int_const" identifier < identifier) (ERROR "&" &) > (parenthesized_expression "(*(vector<long_long_unsigned_int,_std::allocator<long_long_unsigned_int>_> **)\n                        ((int)ppGVar27 + -0x10),(iterator)*(ulonglong **)((int)ppGVar27 + -0xc),\n                       *(ulonglong **)((int)ppGVar27 + -8))" ( (comma_expression "*(vector<long_long_unsigned_int,_std::allocator<long_long_unsigned_int>_> **)\n                        ((int)ppGVar27 + -0x10),(iterator)*(ulonglong **)((int)ppGVar27 + -0xc),\n                       *(ulonglong **)((int)ppGVar27 + -8)" (pointer_expression "*(vector<long_long_unsigned_int,_std::allocator<long_long_unsigned_int>_> **)\n                        ((int)ppGVar27 + -0x10)" * (call_expression "(vector<long_long_unsigned_int,_std::allocator<long_long_unsigned_int>_> **)\n                        ((int)ppGVar27 + -0x10)" (parenthesized_expression "(vector<long_long_unsigned_int,_std::allocator<long_long_unsigned_int>_> **)" ( (ERROR "vector<long_long_unsigned_int,_std::" (comma_expression "vector<long_long_unsigned_int,_std" (binary_expression "vector<long_long_unsigned_int" identifier < identifier) , identifier) : :) (binary_expression "allocator<long_long_unsigned_int>_> **" (binary_expression "allocator<long_long_unsigned_int>_" (binary_expression "allocator<long_long_unsigned_int" identifier < identifier) > identifier) > (pointer_expression "**" * (pointer_expression "*" * identifier))) )) (argument_list "((int)ppGVar27 + -0x10)" ( (binary_expression "(int)ppGVar27 + -0x10" (cast_expression "(int)ppGVar27" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (comma_expression "(iterator)*(ulonglong **)((int)ppGVar27 + -0xc),\n                       *(ulonglong **)((int)ppGVar27 + -8)" (binary_expression "(iterator)*(ulonglong **)((int)ppGVar27 + -0xc)" (parenthesized_expression "(iterator)" ( identifier )) * (cast_expression "(ulonglong **)((int)ppGVar27 + -0xc)" ( (type_descriptor "ulonglong **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)ppGVar27 + -0xc)" ( (binary_expression "(int)ppGVar27 + -0xc" (cast_expression "(int)ppGVar27" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (pointer_expression "*(ulonglong **)((int)ppGVar27 + -8)" * (cast_expression "(ulonglong **)((int)ppGVar27 + -8)" ( (type_descriptor "ulonglong **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)ppGVar27 + -8)" ( (binary_expression "(int)ppGVar27 + -8" (cast_expression "(int)ppGVar27" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))))) ))) ;)) }) (else_clause "else {\n            *(Relobj **)puVar5 = *(Relobj **)prelocs;\n            *(undefined4 *)((int)puVar5 + 4) = 0;\n            (local_d0->\n            super__Vector_base<long_long_unsigned_int,_std::allocator<long_long_unsigned_int>_>).\n            _M_impl._M_finish = puVar5 + 1;\n          }" else (compound_statement "{\n            *(Relobj **)puVar5 = *(Relobj **)prelocs;\n            *(undefined4 *)((int)puVar5 + 4) = 0;\n            (local_d0->\n            super__Vector_base<long_long_unsigned_int,_std::allocator<long_long_unsigned_int>_>).\n            _M_impl._M_finish = puVar5 + 1;\n          }" { (expression_statement "*(Relobj **)puVar5 = *(Relobj **)prelocs;" (assignment_expression "*(Relobj **)puVar5 = *(Relobj **)prelocs" (pointer_expression "*(Relobj **)puVar5" * (cast_expression "(Relobj **)puVar5" ( (type_descriptor "Relobj **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) = (pointer_expression "*(Relobj **)prelocs" * (cast_expression "(Relobj **)prelocs" ( (type_descriptor "Relobj **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) ;) (expression_statement "*(undefined4 *)((int)puVar5 + 4) = 0;" (assignment_expression "*(undefined4 *)((int)puVar5 + 4) = 0" (pointer_expression "*(undefined4 *)((int)puVar5 + 4)" * (cast_expression "(undefined4 *)((int)puVar5 + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar5 + 4)" ( (binary_expression "(int)puVar5 + 4" (cast_expression "(int)puVar5" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "(local_d0->\n            super__Vector_base<long_long_unsigned_int,_std::allocator<long_long_unsigned_int>_>).\n            _M_impl._M_finish = puVar5 + 1;" (assignment_expression "(local_d0->\n            super__Vector_base<long_long_unsigned_int,_std::allocator<long_long_unsigned_int>_>).\n            _M_impl._M_finish = puVar5 + 1" (field_expression "(local_d0->\n            super__Vector_base<long_long_unsigned_int,_std::allocator<long_long_unsigned_int>_>).\n            _M_impl._M_finish" (field_expression "(local_d0->\n            super__Vector_base<long_long_unsigned_int,_std::allocator<long_long_unsigned_int>_>).\n            _M_impl" (parenthesized_expression "(local_d0->\n            super__Vector_base<long_long_unsigned_int,_std::allocator<long_long_unsigned_int>_>)" ( (ERROR "local_d0->\n            super__Vector_base<long_long_unsigned_int,_std::" (comma_expression "local_d0->\n            super__Vector_base<long_long_unsigned_int,_std" (binary_expression "local_d0->\n            super__Vector_base<long_long_unsigned_int" (field_expression "local_d0->\n            super__Vector_base" identifier -> field_identifier) < identifier) , identifier) : :) (binary_expression "allocator<long_long_unsigned_int>_>" (binary_expression "allocator<long_long_unsigned_int>_" (binary_expression "allocator<long_long_unsigned_int" identifier < identifier) > identifier) > identifier) )) . field_identifier) . field_identifier) = (binary_expression "puVar5 + 1" identifier + number_literal)) ;) }))) (expression_statement "dst_id.first = (Relobj *)0x0;" (assignment_expression "dst_id.first = (Relobj *)0x0" (field_expression "dst_id.first" identifier . field_identifier) = (cast_expression "(Relobj *)0x0" ( (type_descriptor "Relobj *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "*(Section_id **)((int)ppGVar27 + -0xc) = &dst_id;" (assignment_expression "*(Section_id **)((int)ppGVar27 + -0xc) = &dst_id" (pointer_expression "*(Section_id **)((int)ppGVar27 + -0xc)" * (cast_expression "(Section_id **)((int)ppGVar27 + -0xc)" ( (type_descriptor "Section_id **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)ppGVar27 + -0xc)" ( (binary_expression "(int)ppGVar27 + -0xc" (cast_expression "(int)ppGVar27" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "&dst_id" & identifier)) ;) (expression_statement "*(Reloc_addend_size_info **)((int)ppGVar27 + -0x10) = local_ec;" (assignment_expression "*(Reloc_addend_size_info **)((int)ppGVar27 + -0x10) = local_ec" (pointer_expression "*(Reloc_addend_size_info **)((int)ppGVar27 + -0x10)" * (cast_expression "(Reloc_addend_size_info **)((int)ppGVar27 + -0x10)" ( (type_descriptor "Reloc_addend_size_info **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)ppGVar27 + -0x10)" ( (binary_expression "(int)ppGVar27 + -0x10" (cast_expression "(int)ppGVar27" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)ppGVar27 + -0x14) = 0xd2753;" (assignment_expression "*(undefined4 *)((int)ppGVar27 + -0x14) = 0xd2753" (pointer_expression "*(undefined4 *)((int)ppGVar27 + -0x14)" * (cast_expression "(undefined4 *)((int)ppGVar27 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppGVar27 + -0x14)" ( (binary_expression "(int)ppGVar27 + -0x14" (cast_expression "(int)ppGVar27" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (labeled_statement "std::vector<unsigned_int,_std::allocator<unsigned_int>_>::emplace_back<unsigned_int>\n                    (*(vector<unsigned_int,_std::allocator<unsigned_int>_> **)\n                      ((int)ppGVar27 + -0x10),*(uint **)((int)ppGVar27 + -0xc));" statement_identifier (ERROR "::vector<unsigned_int,_std::allocator<unsigned_int>_>:" : : (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) > :) : (expression_statement "emplace_back<unsigned_int>\n                    (*(vector<unsigned_int,_std::allocator<unsigned_int>_> **)\n                      ((int)ppGVar27 + -0x10),*(uint **)((int)ppGVar27 + -0xc));" (binary_expression "emplace_back<unsigned_int>\n                    (*(vector<unsigned_int,_std::allocator<unsigned_int>_> **)\n                      ((int)ppGVar27 + -0x10),*(uint **)((int)ppGVar27 + -0xc))" (binary_expression "emplace_back<unsigned_int" identifier < identifier) > (parenthesized_expression "(*(vector<unsigned_int,_std::allocator<unsigned_int>_> **)\n                      ((int)ppGVar27 + -0x10),*(uint **)((int)ppGVar27 + -0xc))" ( (comma_expression "*(vector<unsigned_int,_std::allocator<unsigned_int>_> **)\n                      ((int)ppGVar27 + -0x10),*(uint **)((int)ppGVar27 + -0xc)" (pointer_expression "*(vector<unsigned_int,_std::allocator<unsigned_int>_> **)\n                      ((int)ppGVar27 + -0x10)" * (call_expression "(vector<unsigned_int,_std::allocator<unsigned_int>_> **)\n                      ((int)ppGVar27 + -0x10)" (parenthesized_expression "(vector<unsigned_int,_std::allocator<unsigned_int>_> **)" ( (ERROR "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>_" (binary_expression "allocator<unsigned_int" identifier < identifier) > identifier) > (pointer_expression "**" * (pointer_expression "*" * identifier))) )) (argument_list "((int)ppGVar27 + -0x10)" ( (binary_expression "(int)ppGVar27 + -0x10" (cast_expression "(int)ppGVar27" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (pointer_expression "*(uint **)((int)ppGVar27 + -0xc)" * (cast_expression "(uint **)((int)ppGVar27 + -0xc)" ( (type_descriptor "uint **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)ppGVar27 + -0xc)" ( (binary_expression "(int)ppGVar27 + -0xc" (cast_expression "(int)ppGVar27" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ))) ;)) })) (expression_statement "puVar26 = ppGVar27;" (assignment_expression "puVar26 = ppGVar27" identifier = identifier) ;) (if_statement "if (bVar23 != 0) goto LAB_000d275e;" if (parenthesized_expression "(bVar23 != 0)" ( (binary_expression "bVar23 != 0" identifier != number_literal) )) (goto_statement "goto LAB_000d275e;" goto statement_identifier ;)) }) (ERROR "LAB_000d2489:\n      local_e4 = local_e4 + 1;\n      prelocs = prelocs + 0xc;\n    } while (reloc_count != local_e4" identifier : identifier = identifier + number_literal ; identifier = identifier + number_literal ; } while ( identifier != identifier) )) )))) ;) })) (if_statement "if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n       *)src_section_name._M_dataplus._M_p != local_f8) {\n    *(pointer *)((int)ppGVar27 + -0x10) = src_section_name._M_dataplus._M_p;\n    *(undefined4 *)((int)ppGVar27 + -0x14) = 0xd2c22;\n    operator_delete(*(void **)((int)ppGVar27 + -0x10));\n  }" if (parenthesized_expression "((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n       *)src_section_name._M_dataplus._M_p != local_f8)" ( (parenthesized_expression "(anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n       *)src_section_name._M_dataplus._M_p != local_f8)" ( (ERROR "anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::" (comma_expression "anon_union_16_2_edb7204a_for_basic_string<char,_std" (binary_expression "anon_union_16_2_edb7204a_for_basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char>,_std" (binary_expression "char_traits<char" identifier < identifier) > (ERROR "," ,) identifier) : :) (binary_expression "allocator<char>_>_9\n       *)src_section_name._M_dataplus._M_p != local_f8" (binary_expression "allocator<char>_>_9\n       *)src_section_name._M_dataplus._M_p" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > (binary_expression "_9\n       *)src_section_name._M_dataplus._M_p" identifier * (ERROR ")" )) (field_expression "src_section_name._M_dataplus._M_p" (field_expression "src_section_name._M_dataplus" identifier . field_identifier) . field_identifier))) != identifier) )) )) (compound_statement "{\n    *(pointer *)((int)ppGVar27 + -0x10) = src_section_name._M_dataplus._M_p;\n    *(undefined4 *)((int)ppGVar27 + -0x14) = 0xd2c22;\n    operator_delete(*(void **)((int)ppGVar27 + -0x10));\n  }" { (expression_statement "*(pointer *)((int)ppGVar27 + -0x10) = src_section_name._M_dataplus._M_p;" (assignment_expression "*(pointer *)((int)ppGVar27 + -0x10) = src_section_name._M_dataplus._M_p" (pointer_expression "*(pointer *)((int)ppGVar27 + -0x10)" * (cast_expression "(pointer *)((int)ppGVar27 + -0x10)" ( (type_descriptor "pointer *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppGVar27 + -0x10)" ( (binary_expression "(int)ppGVar27 + -0x10" (cast_expression "(int)ppGVar27" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (field_expression "src_section_name._M_dataplus._M_p" (field_expression "src_section_name._M_dataplus" identifier . field_identifier) . field_identifier)) ;) (expression_statement "*(undefined4 *)((int)ppGVar27 + -0x14) = 0xd2c22;" (assignment_expression "*(undefined4 *)((int)ppGVar27 + -0x14) = 0xd2c22" (pointer_expression "*(undefined4 *)((int)ppGVar27 + -0x14)" * (cast_expression "(undefined4 *)((int)ppGVar27 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppGVar27 + -0x14)" ( (binary_expression "(int)ppGVar27 + -0x14" (cast_expression "(int)ppGVar27" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "operator_delete(*(void **)((int)ppGVar27 + -0x10));" (call_expression "operator_delete(*(void **)((int)ppGVar27 + -0x10))" identifier (argument_list "(*(void **)((int)ppGVar27 + -0x10))" ( (pointer_expression "*(void **)((int)ppGVar27 + -0x10)" * (cast_expression "(void **)((int)ppGVar27 + -0x10)" ( (type_descriptor "void **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)ppGVar27 + -0x10)" ( (binary_expression "(int)ppGVar27 + -0x10" (cast_expression "(int)ppGVar27" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ))) ;) })) (return_statement "return;" return ;) }))
(translation_unit "void FUN_000d2220(undefined4 param_1,int param_2,undefined4 param_3,undefined **param_4,\n                 undefined **param_5,undefined4 param_6,undefined4 *param_7,int param_8,\n                 undefined4 param_9,undefined4 param_10,undefined *param_11,int param_12)\n\n{\n  undefined4 *puVar1;\n  uint uVar2;\n  int iVar3;\n  code *pcVar4;\n  undefined ***pppuVar5;\n  size_t sVar6;\n  undefined *puVar7;\n  undefined4 uVar8;\n  byte *pbVar9;\n  int iVar10;\n  int iVar11;\n  int iVar12;\n  byte bVar13;\n  undefined **ppuVar14;\n  undefined *puVar15;\n  uint uVar16;\n  undefined1 *puVar17;\n  int *piVar18;\n  undefined **unaff_ESI;\n  int iVar19;\n  byte *pbVar20;\n  uint uVar21;\n  byte *pbVar22;\n  undefined **ppuVar23;\n  bool bVar24;\n  bool bVar25;\n  bool bVar26;\n  byte bVar27;\n  int iStack_100;\n  undefined1 auStack_fc [4];\n  byte *local_f8;\n  int *local_f4;\n  undefined **local_f0;\n  int local_ec;\n  undefined **local_e8;\n  int local_e4;\n  undefined1 *local_e0;\n  int *local_dc;\n  byte *local_d8;\n  char local_d2;\n  char local_d1;\n  int local_d0;\n  int local_cc;\n  int local_c8;\n  undefined *local_c4;\n  undefined **local_c0;\n  undefined *local_bc;\n  undefined **local_b8;\n  undefined **local_b4;\n  undefined ***local_b0;\n  int local_ac;\n  int local_a8;\n  undefined1 local_a4 [12];\n  undefined ***local_98;\n  undefined ***local_94;\n  int local_90;\n  int local_8c;\n  undefined ***local_88;\n  undefined ***local_84;\n  undefined **local_80;\n  uint local_7c;\n  undefined **local_78;\n  undefined **local_74;\n  undefined **local_70;\n  undefined **local_6c;\n  undefined **local_68;\n  undefined **local_64;\n  int local_60;\n  int local_5c;\n  undefined4 local_58;\n  undefined4 local_54;\n  undefined1 local_50;\n  byte *local_4c [2];\n  byte local_44 [16];\n  undefined **local_34;\n  undefined **local_30;\n  undefined *local_2c;\n  int local_28;\n  \n  bVar27 = 0;\n  local_b8 = &__DT_PLTGOT;\n  local_dc = &DAT_005ea7c8;\n  local_60 = 0;\n  local_5c = 0;\n  iVar19 = *(int *)(DAT_005ea7c8 + 8);\n  local_58 = 0;\n  local_54 = 0;\n  local_50 = 0;\n  if (iVar19 == 0) {\n    iStack_100 = iVar19;\n                    \n                    \n    FUN_002446e0("../../gold/parameters.h",0x5c,"options");\n  }\n  if (*(int *)(iVar19 + 0x5934) == 0) {\n    local_f8 = local_44;\n    iStack_100 = 0;\n    local_4c[0] = local_f8;\n                    \n    FUN_00072b90(local_4c,"","");\n    piVar18 = (int *)auStack_fc;\n  }\n  else {\n    unaff_ESI = &__DT_PLTGOT;\n    if (*(code **)(*param_4 + 0x40) == FUN_00106550) {\n                    \n      FUN_001063c0(local_4c,param_4 + 0x24,param_5);\n      unaff_ESI = param_4;\n    }\n    else {\n                    \n      (**(code **)(*param_4 + 0x40))(local_4c,param_4,param_5);\n    }\n    local_f8 = local_44;\n    piVar18 = &iStack_100;\n  }\n  pbVar20 = local_4c[0];\n  iVar19 = *local_dc;\n  if (*(int *)(iVar19 + 8) == 0) {\n    *(int *)((int)piVar18 + -4) = iVar19;\n    *(undefined ***)((int)piVar18 + -8) = local_b8 + -0x61176;\n    *(undefined4 *)((int)piVar18 + -0xc) = 0x5c;\n    *(int *)((int)piVar18 + -0x10) = (int)local_b8 + -0x1a1d93;\n                    \n    *(undefined4 *)((int)piVar18 + -0x14) = 0xd3001;\n    FUN_002446e0();\n  }\n  if (*(int *)(*(int *)(iVar19 + 8) + 0x5934) == 0) {\nLAB_000d22e5:\n    local_d1 = '\0';\n    local_ec = 0;\n    local_d0 = 0;\n    local_e8 = (undefined **)0x0;\n    local_cc = 0;\n    local_c8 = 0;\n  }\n  else {\n    local_b4 = &local_2c;\n    local_34 = local_b4;\n    pbVar9 = (byte *)0xffffffff;\n    if (local_4c[0] != (byte *)0x0) {\n      *(byte **)((int)piVar18 + -0x10) = local_4c[0];\n      *(undefined4 *)((int)piVar18 + -0x14) = 0xd2df7;\n      sVar6 = strlen(*(char **)((int)piVar18 + -0x10));\n      pbVar9 = pbVar20 + sVar6;\n    }\n    *(undefined4 *)((int)piVar18 + -4) = 0;\n    *(byte **)((int)piVar18 + -8) = pbVar9;\n    local_b0 = &local_34;\n    *(byte **)((int)piVar18 + -0xc) = pbVar20;\n    *(undefined ****)((int)piVar18 + -0x10) = local_b0;\n                    \n    *(undefined4 *)((int)piVar18 + -0x14) = 0xd2e0f;\n    FUN_00072b90();\n    iVar19 = 5;\n    bVar24 = (undefined1 *)0xffffffef < (undefined1 *)((int)piVar18 + -0x10);\n    bVar26 = piVar18 == (int *)0x0;\n    ppuVar14 = local_b8 + -0x67293;\n    ppuVar23 = local_34;\n    do {\n      if (iVar19 == 0) break;\n      iVar19 = iVar19 + -1;\n      bVar24 = *(byte *)ppuVar14 < *(byte *)ppuVar23;\n      bVar26 = *(byte *)ppuVar14 == *(byte *)ppuVar23;\n      ppuVar14 = (undefined **)((int)ppuVar14 + (uint)bVar27 * -2 + 1);\n      ppuVar23 = (undefined **)((int)ppuVar23 + (uint)bVar27 * -2 + 1);\n    } while (bVar26);\n    bVar25 = false;\n    bVar24 = (!bVar24 && !bVar26) == bVar24;\n    if (!bVar24) {\n      iVar19 = 0xf;\n      ppuVar14 = (undefined **)((int)local_b8 + -0x19ca46);\n      ppuVar23 = local_34;\n      do {\n        unaff_ESI = ppuVar14;\n        if (iVar19 == 0) break;\n        iVar19 = iVar19 + -1;\n        unaff_ESI = (undefined **)((int)ppuVar14 + (uint)bVar27 * -2 + 1);\n        bVar25 = *(byte *)ppuVar14 < *(byte *)ppuVar23;\n        bVar24 = *(byte *)ppuVar14 == *(byte *)ppuVar23;\n        ppuVar14 = unaff_ESI;\n        ppuVar23 = (undefined **)((int)ppuVar23 + (uint)bVar27 * -2 + 1);\n      } while (bVar24);\n      if ((!bVar25 && !bVar24) != bVar25) {\n        if (local_34 == local_b4) {\n          iVar19 = *local_dc;\n        }\n        else {\n          *(undefined ***)((int)piVar18 + -0x10) = local_34;\n          *(undefined4 *)((int)piVar18 + -0x14) = 0xd2ee3;\n          FUN_003ae080();\n          iVar19 = *local_dc;\n        }\n        goto LAB_000d22e5;\n      }\n    }\n    if (local_34 != local_b4) {\n      *(undefined ***)((int)piVar18 + -0x10) = local_34;\n      *(undefined4 *)((int)piVar18 + -0x14) = 0xd3010;\n      FUN_003ae080();\n    }\n    *(undefined ****)((int)piVar18 + -0xc) = local_b0;\n    local_34 = param_4;\n    local_30 = param_5;\n    local_b0 = *(undefined ****)(param_2 + 0x15c);\n    *(undefined ****)((int)piVar18 + -0x10) = local_b0 + 0x15;\n    *(undefined4 *)((int)piVar18 + -0x14) = 0xd2e84;\n    local_c8 = FUN_00074520();\n    local_cc = local_c8 + 0xc;\n    unaff_ESI = (undefined **)(local_c8 + 0x18);\n    local_d0 = local_c8 + 0x24;\n    local_ec = local_c8 + 0x30;\n    iVar19 = *local_dc;\n    local_d1 = '\x01';\n    local_e8 = unaff_ESI;\n  }\n  if (*(int *)(iVar19 + 8) == 0) {\n    *(undefined ***)((int)piVar18 + -4) = unaff_ESI;\n    *(undefined ***)((int)piVar18 + -8) = local_b8 + -0x61176;\n    *(undefined4 *)((int)piVar18 + -0xc) = 0x5c;\n    *(int *)((int)piVar18 + -0x10) = (int)local_b8 + -0x1a1d93;\n                    \n                    \n    *(undefined4 *)((int)piVar18 + -0x14) = 0xd2fe5;\n    FUN_002446e0();\n  }\n  local_d2 = '\0';\n  if (*(int *)(*(int *)(iVar19 + 8) + 0x5934) == 2) {\n    *(undefined4 *)((int)piVar18 + -0x10) = param_1;\n    *(undefined4 *)((int)piVar18 + -0x14) = 0xd2ceb;\n    local_d2 = FUN_000aaa70();\n    bVar24 = false;\n    bVar26 = local_d2 == '\0';\n    if (!bVar26) {\n      iVar19 = 0xc;\n      local_d2 = '\0';\n      ppuVar14 = local_b8 + -0x66894;\n      pbVar20 = local_4c[0];\n      do {\n        if (iVar19 == 0) break;\n        iVar19 = iVar19 + -1;\n        bVar24 = *(byte *)ppuVar14 < *pbVar20;\n        bVar26 = *(byte *)ppuVar14 == *pbVar20;\n        ppuVar14 = (undefined **)((int)ppuVar14 + (uint)bVar27 * -2 + 1);\n        pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n      } while (bVar26);\n      bVar25 = false;\n      bVar24 = (!bVar24 && !bVar26) == bVar24;\n      if (!bVar24) {\n        iVar19 = 0x11;\n        pbVar20 = (byte *)((int)local_b8 + -0x19a243);\n        pbVar9 = local_4c[0];\n        do {\n          if (iVar19 == 0) break;\n          iVar19 = iVar19 + -1;\n          bVar25 = *pbVar20 < *pbVar9;\n          bVar24 = *pbVar20 == *pbVar9;\n          pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n          pbVar9 = pbVar9 + (uint)bVar27 * -2 + 1;\n        } while (bVar24);\n        bVar26 = false;\n        bVar24 = (!bVar25 && !bVar24) == bVar25;\n        if (!bVar24) {\n          iVar19 = 0xc;\n          pbVar20 = (byte *)((int)local_b8 + -0x19a231);\n          pbVar9 = local_4c[0];\n          do {\n            if (iVar19 == 0) break;\n            iVar19 = iVar19 + -1;\n            bVar26 = *pbVar20 < *pbVar9;\n            bVar24 = *pbVar20 == *pbVar9;\n            pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n            pbVar9 = pbVar9 + (uint)bVar27 * -2 + 1;\n          } while (bVar24);\n          bVar25 = false;\n          bVar24 = (!bVar26 && !bVar24) == bVar26;\n          if (!bVar24) {\n            iVar19 = 0x11;\n            ppuVar14 = local_b8 + -0x66889;\n            pbVar20 = local_4c[0];\n            do {\n              if (iVar19 == 0) break;\n              iVar19 = iVar19 + -1;\n              bVar25 = *(byte *)ppuVar14 < *pbVar20;\n              bVar24 = *(byte *)ppuVar14 == *pbVar20;\n              ppuVar14 = (undefined **)((int)ppuVar14 + (uint)bVar27 * -2 + 1);\n              pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n            } while (bVar24);\n            bVar26 = false;\n            bVar24 = (!bVar25 && !bVar24) == bVar25;\n            if (!bVar24) {\n              iVar19 = 9;\n              pbVar20 = (byte *)((int)local_b8 + -0x19a212);\n              pbVar9 = local_4c[0];\n              do {\n                if (iVar19 == 0) break;\n                iVar19 = iVar19 + -1;\n                bVar26 = *pbVar20 < *pbVar9;\n                bVar24 = *pbVar20 == *pbVar9;\n                pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n                pbVar9 = pbVar9 + (uint)bVar27 * -2 + 1;\n              } while (bVar24);\n              local_d2 = (!bVar26 && !bVar24) != bVar26;\n            }\n          }\n        }\n      }\n    }\n  }\n  if (param_8 != 0) {\n    local_d8 = (byte *)0x0;\n    local_e0 = local_a4;\n    local_f4 = &local_8c;\n    local_e4 = 0;\n    do {\n      uVar2 = param_7[1];\n      uVar21 = uVar2 & 0xff;\n      puVar15 = (undefined *)(uVar2 >> 8);\n      local_bc = (undefined *)param_7[2];\n      if (puVar15 < param_11) {\n        if (param_12 == 0) {\n          *(undefined ***)((int)piVar18 + -8) = local_b8 + -0x615ed;\n          *(undefined4 *)((int)piVar18 + -0xc) = 0xea;\n          *(int *)((int)piVar18 + -0x10) = (int)local_b8 + -0x19ca36;\n                    \n                    \n          *(undefined **)((int)piVar18 + -0x14) = &UNK_000d2f49;\n          FUN_002446e0();\n        }\n        iVar19 = (int)puVar15 * 0x10 + param_12;\n        local_b4 = (undefined **)(uint)*(ushort *)(iVar19 + 0xe);\n        if (local_b4 < (undefined **)0xff00) {\nLAB_000d24ee:\n          ppuVar14 = *(undefined ***)(iVar19 + 4);\n          local_c4 = local_bc + (int)ppuVar14;\n          if (local_d1 != '\0') {\n            local_34 = param_4;\n            local_30 = local_b4;\n            local_b0 = &local_34;\n            *(undefined ****)((int)piVar18 + -0xc) = local_b0;\n            *(int *)((int)piVar18 + -0x10) = local_c8;\n            *(undefined4 *)((int)piVar18 + -0x14) = 0xd2533;\n            FUN_00073b00();\n            local_c0 = (undefined **)CONCAT31(local_c0._1_3_,1);\n            if ((*(byte *)(iVar19 + 0xc) & 0xf) == 3) goto LAB_000d254c;\nLAB_000d23e8:\n            *(undefined ****)((int)piVar18 + -0xc) = local_b0;\n            *(int *)((int)piVar18 + -0x10) = local_cc;\n            local_34 = (undefined **)0x0;\n            *(undefined4 *)((int)piVar18 + -0x14) = 0xd2403;\n            FUN_00073ca0();\n            goto LAB_000d2403;\n          }\n        }\n        else {\n          if (local_b4 == (undefined **)0xffff) {\n            puVar7 = param_4[0xc];\n            if (puVar7 == (undefined *)0x0) {\n              puVar7 = *param_4;\n              *(undefined ***)((int)piVar18 + -0x10) = param_4;\n              pcVar4 = *(code **)(puVar7 + 0x6c);\n              *(undefined4 *)((int)piVar18 + -0x14) = 0xd2a4e;\n              puVar7 = (undefined *)(*pcVar4)();\n              param_4[0xc] = puVar7;\n            }\n            *(undefined **)((int)piVar18 + -8) = puVar15;\n            *(undefined ***)((int)piVar18 + -0xc) = param_4;\n            *(undefined **)((int)piVar18 + -0x10) = puVar7;\n            *(undefined4 *)((int)piVar18 + -0x14) = 0xd2591;\n            local_b4 = (undefined **)FUN_0028b7d0();\n            goto LAB_000d24ee;\n          }\n          ppuVar14 = *(undefined ***)(iVar19 + 4);\n          local_c4 = local_bc + (int)ppuVar14;\n          if (local_d1 == '\0') goto LAB_000d2489;\n          local_b0 = &local_34;\n          local_34 = (undefined **)0x0;\n          *(undefined ****)((int)piVar18 + -0xc) = local_b0;\n          *(int *)((int)piVar18 + -0x10) = local_c8;\n          local_30 = (undefined **)0x0;\n                    \n          *(undefined4 *)((int)piVar18 + -0x14) = 0xd23cf;\n          FUN_00073b00();\n          local_c0 = (undefined **)((uint)local_c0 & 0xffffff00);\n          if ((*(byte *)(iVar19 + 0xc) & 0xf) != 3) goto LAB_000d23e8;\nLAB_000d254c:\n          *(undefined ****)((int)piVar18 + -0xc) = local_b0;\n          *(int *)((int)piVar18 + -0x10) = local_cc;\n          local_34 = (undefined **)0xffffffff;\n          *(undefined4 *)((int)piVar18 + -0x14) = 0xd2567;\n          FUN_00073ca0();\nLAB_000d2403:\n          *(undefined ****)((int)piVar18 + -0xc) = local_b0;\n          *(undefined ***)((int)piVar18 + -0x10) = local_e8;\n          local_2c = local_bc;\n          local_28 = (int)local_bc >> 0x1f;\n          local_30 = (undefined **)0x0;\n          *(undefined4 *)((int)piVar18 + -0x14) = 0xd2433;\n          local_34 = ppuVar14;\n          FUN_00073e70();\n          local_30 = (undefined **)0x0;\n          local_34 = (undefined **)*param_7;\n          puVar1 = *(undefined4 **)(local_d0 + 4);\n          if (puVar1 == *(undefined4 **)(local_d0 + 8)) {\n            *(undefined ****)((int)piVar18 + -8) = local_b0;\n            *(undefined4 **)((int)piVar18 + -0xc) = puVar1;\n            *(int *)((int)piVar18 + -0x10) = local_d0;\n            *(undefined4 *)((int)piVar18 + -0x14) = 0xd2b0d;\n            FUN_00072a40();\n          }\n          else {\n            *puVar1 = local_34;\n            puVar1[1] = 0;\n            *(undefined4 **)(local_d0 + 4) = puVar1 + 2;\n          }\n          local_68 = (undefined **)0x0;\n          *(undefined ****)((int)piVar18 + -0xc) = &local_68;\n          *(int *)((int)piVar18 + -0x10) = local_ec;\n          *(undefined4 *)((int)piVar18 + -0x14) = 0xd2479;\n          FUN_00074020();\n          if ((char)local_c0 == '\0') goto LAB_000d2489;\n        }\n        if (((local_d2 != '\0') && ((*(byte *)(iVar19 + 0xc) & 0xf) != 1)) &&\n           ((0x17 < uVar21 || ((0x843f84U >> (uVar2 & 0x1f) & 1) == 0)))) {\n          local_b0 = *(undefined ****)(param_2 + 0x15c);\n          local_80 = param_4;\n          local_7c = (uint)*(ushort *)(iVar19 + 0xe);\n          *(undefined4 *)((int)piVar18 + -0xc) = 1;\n          *(undefined4 *)((int)piVar18 + -0x10) = 0;\n          local_98 = local_b0 + 0xd;\n          *(undefined *****)((int)piVar18 + -0x14) = &local_98;\n          *(undefined ****)((int)piVar18 + -0x18) = &local_80;\n          *(undefined ****)((int)piVar18 + -0x1c) = local_98;\n          *(undefined1 **)((int)piVar18 + -0x20) = local_e0;\n          *(undefined4 *)((int)piVar18 + -0x24) = 0xd2ad1;\n          FUN_00074280();\n          piVar18 = (int *)((int)piVar18 + -4);\n        }\n        if (param_5 != local_b4) {\n          local_c0 = param_4;\n          puVar17 = (undefined1 *)piVar18;\nLAB_000d275e:\n          if (*(int *)(*local_dc + 8) == 0) {\n            *(undefined ***)(puVar17 + -8) = local_b8 + -0x61176;\n            *(undefined4 *)(puVar17 + -0xc) = 0x5c;\n            *(int *)(puVar17 + -0x10) = (int)local_b8 + -0x1a1d93;\n                    \n            *(undefined4 *)(puVar17 + -0x14) = 0xd2f6e;\n            FUN_002446e0();\n          }\n          piVar18 = (int *)puVar17;\n          if (*(char *)(*(int *)(*local_dc + 8) + 0x18b1) != '\0') {\n            local_70 = param_4;\n            iVar19 = *(int *)(param_2 + 0x158) + 0x14;\n            local_6c = param_5;\n            local_68 = local_c0;\n            local_64 = local_b4;\n            iVar3 = *(int *)(*(int *)(param_2 + 0x158) + 0x18);\n            iVar10 = iVar19;\n            if (iVar3 == 0) {\nLAB_000d27f0:\n              local_88 = &local_70;\n              *(undefined *****)(puVar17 + -0x10) = &local_88;\n              *(undefined4 *)(puVar17 + -0x14) = 0xd2811;\n              FUN_000c5e40();\n              iVar11 = local_a8;\n            }\n            else {\n              do {\n                while ((iVar11 = iVar3, *(undefined ***)(iVar11 + 0x10) < param_4 ||\n                       ((param_4 == *(undefined ***)(iVar11 + 0x10) &&\n                        (*(undefined ***)(iVar11 + 0x14) < param_5))))) {\n                  piVar18 = (int *)(iVar11 + 0xc);\n                  iVar3 = *piVar18;\n                  iVar11 = iVar10;\n                  if (*piVar18 == 0) goto LAB_000d27da;\n                }\n                iVar3 = *(int *)(iVar11 + 8);\n                iVar10 = iVar11;\n              } while (*(int *)(iVar11 + 8) != 0);\nLAB_000d27da:\n              if (((iVar19 == iVar11) || (param_4 < *(undefined ***)(iVar11 + 0x10))) ||\n                 ((param_4 == *(undefined ***)(iVar11 + 0x10) &&\n                  (param_5 < *(undefined ***)(iVar11 + 0x14))))) goto LAB_000d27f0;\n            }\n            local_8c = iVar11 + 0x18;\n            *(undefined4 *)(puVar17 + -0xc) = 1;\n            *(undefined4 *)(puVar17 + -0x10) = 0;\n            *(int **)(puVar17 + -0x14) = local_f4;\n            *(undefined ****)(puVar17 + -0x18) = &local_68;\n            *(int *)(puVar17 + -0x1c) = local_8c;\n            *(undefined1 **)(puVar17 + -0x20) = local_e0;\n            *(undefined4 *)(puVar17 + -0x24) = 0xd2840;\n            FUN_00074340();\n            piVar18 = *(int **)(*local_dc + 0xc);\n            if (piVar18 == (int *)0x0) {\n              *(undefined ***)(puVar17 + -0xc) = local_b8 + -0x615c4;\n              *(undefined4 *)(puVar17 + -0x10) = 0x73;\n              *(int *)(puVar17 + -0x14) = (int)local_b8 + -0x1a1d93;\n                    \n              *(undefined4 *)(puVar17 + -0x18) = 0xd2fad;\n              FUN_002446e0();\n            }\n            iVar19 = *piVar18;\n            *(undefined **)(puVar17 + -0xc) = local_c4;\n            *(undefined ***)(puVar17 + -0x10) = local_b4;\n            *(undefined ***)(puVar17 + -0x14) = local_c0;\n            *(undefined ***)(puVar17 + -0x18) = param_5;\n            *(undefined ***)(puVar17 + -0x1c) = param_4;\n            *(int *)(puVar17 + -0x20) = param_2;\n            *(int **)(puVar17 + -0x24) = piVar18;\n            pcVar4 = *(code **)(iVar19 + 0x104);\n            *(undefined4 *)(puVar17 + -0x28) = 0xd287d;\n            (*pcVar4)();\n            pbVar20 = local_d8;\n            piVar18 = (int *)(puVar17 + -4);\n            if (local_d8 != (byte *)0x0) {\n              local_b4 = &local_2c;\n              local_b0 = &local_34;\n              iVar19 = *(int *)(param_2 + 0x158);\n              *(byte **)(puVar17 + -0x14) = local_d8;\n              local_34 = local_b4;\n              *(undefined4 *)(puVar17 + -0x18) = 0xd28bd;\n              sVar6 = strlen(*(char **)(puVar17 + -0x14));\n              pppuVar5 = local_b0;\n              *(undefined4 *)(puVar17 + -8) = 0;\n              *(byte **)(puVar17 + -0xc) = pbVar20 + sVar6;\n              *(byte **)(puVar17 + -0x10) = pbVar20;\n              *(undefined ****)(puVar17 + -0x14) = local_b0;\n              *(undefined4 *)(puVar17 + -0x18) = 0xd28d2;\n              FUN_00072b90();\n              *(undefined ****)(puVar17 + -0xc) = pppuVar5;\n              *(int *)(puVar17 + -0x10) = iVar19 + 0x44;\n              *(int **)(puVar17 + -0x14) = &local_ac;\n              *(undefined4 *)(puVar17 + -0x18) = 0xd28e6;\n              FUN_00094bd0();\n              iVar19 = local_ac;\n              if (local_34 != local_b4) {\n                *(undefined ***)(puVar17 + -0x18) = local_34;\n                *(undefined4 *)(puVar17 + -0x1c) = 0xd2909;\n                FUN_003ae080();\n              }\n              piVar18 = (int *)(puVar17 + -8);\n              iVar3 = *(int *)(param_2 + 0x158);\n              if (iVar19 != iVar3 + 0x48) {\n                local_34 = param_4;\n                local_30 = param_5;\n                iVar10 = *(int *)(iVar3 + 0x18);\n                iVar11 = iVar3 + 0x14;\n                if (*(int *)(iVar3 + 0x18) == 0) {\nLAB_000d2bd8:\n                  *(undefined *****)(puVar17 + -0x18) = &local_84;\n                  local_84 = local_b0;\n                  *(undefined4 *)(puVar17 + -0x1c) = 0xd2bf6;\n                  FUN_000c5e40();\n                  iVar12 = local_a8;\n                }\n                else {\n                  do {\n                    while ((iVar12 = iVar10, *(undefined ***)(iVar12 + 0x10) < param_4 ||\n                           ((param_4 == *(undefined ***)(iVar12 + 0x10) &&\n                            (*(undefined ***)(iVar12 + 0x14) < param_5))))) {\n                      piVar18 = (int *)(iVar12 + 0xc);\n                      iVar10 = *piVar18;\n                      iVar12 = iVar11;\n                      if (*piVar18 == 0) goto LAB_000d2962;\n                    }\n                    iVar10 = *(int *)(iVar12 + 8);\n                    iVar11 = iVar12;\n                  } while (*(int *)(iVar12 + 8) != 0);\nLAB_000d2962:\n                  if (((iVar12 == iVar3 + 0x14) || (param_4 < *(undefined ***)(iVar12 + 0x10))) ||\n                     ((param_4 == *(undefined ***)(iVar12 + 0x10) &&\n                      (param_5 < *(undefined ***)(iVar12 + 0x14))))) goto LAB_000d2bd8;\n                }\n                piVar18 = (int *)(puVar17 + -8);\n                puVar17 = puVar17 + -8;\n                for (puVar1 = *(undefined4 **)(iVar19 + 0x30); puVar1 != (undefined4 *)0x0;\n                    puVar1 = (undefined4 *)*puVar1) {\n                  *(undefined4 *)(puVar17 + -0xc) = 1;\n                  *(undefined4 *)(puVar17 + -0x10) = 0;\n                  *(int **)(puVar17 + -0x14) = &local_90;\n                  *(undefined4 **)(puVar17 + -0x18) = puVar1 + 1;\n                  *(int *)(puVar17 + -0x1c) = iVar12 + 0x18;\n                  *(undefined1 **)(puVar17 + -0x20) = local_e0;\n                  *(undefined4 *)(puVar17 + -0x24) = 0xd29ae;\n                  local_90 = iVar12 + 0x18;\n                  FUN_00074340();\n                  piVar18 = (int *)(puVar17 + -4);\n                  puVar17 = puVar17 + -4;\n                }\n              }\n            }\n          }\n        }\n      }\n      else {\n        if (puVar15 < param_4[0x2c]) {\n          local_70 = (undefined **)0x0;\nLAB_000d2a1f:\n          *(undefined ***)((int)piVar18 + -8) = local_b8 + -0x615ed;\n          *(undefined4 *)((int)piVar18 + -0xc) = 0x11c;\n          *(int *)((int)piVar18 + -0x10) = (int)local_b8 + -0x19ca36;\n                    \n          *(undefined4 *)((int)piVar18 + -0x14) = 0xd2a40;\n          FUN_002446e0();\n        }\n        uVar16 = (int)puVar15 - (int)param_4[0x2c];\n        local_b0 = (undefined ***)param_4[0x30];\n        if ((uint)((int)local_b0 - (int)param_4[0x2f] >> 2) <= uVar16) {\n          *(undefined ***)((int)piVar18 + -8) = local_b8 + -0x6156c;\n          *(undefined4 *)((int)piVar18 + -0xc) = 0x8ad;\n          *(int *)((int)piVar18 + -0x10) = (int)local_b8 + -0x19cc7b;\n                    \n          *(undefined4 *)((int)piVar18 + -0x14) = 0xd2f8f;\n          FUN_002446e0();\n        }\n        local_70 = *(undefined ***)(param_4[0x2f] + uVar16 * 4);\n        if (local_70 == (undefined **)0x0) goto LAB_000d2a1f;\n        if ((*(byte *)((int)local_70 + 0x2a) & 0x10) == 0) {\n          if ((*(byte *)((int)local_70 + 0x2a) & 7) == 0) goto LAB_000d25f7;\nLAB_000d29e2:\n          local_f0 = (undefined **)local_70[0xc];\n          bVar13 = 0;\n          local_b4 = (undefined **)0x0;\n          local_c0 = (undefined **)0x0;\n          bVar24 = CARRY4((uint)local_bc,(uint)local_f0);\n          local_c4 = local_bc + (int)local_f0;\n          bVar26 = local_c4 == (undefined *)0x0;\n        }\n        else {\n          *(undefined ***)((int)piVar18 + -0xc) = local_70;\n          *(int *)((int)piVar18 + -0x10) = param_2;\n          *(undefined4 *)((int)piVar18 + -0x14) = 0xd29d2;\n          local_70 = (undefined **)FUN_0034cd90();\n          if ((*(byte *)((int)local_70 + 0x2a) & 7) != 0) goto LAB_000d29e2;\nLAB_000d25f7:\n          local_f0 = (undefined **)local_70[0xc];\n          local_c0 = (undefined **)local_70[2];\n          local_c4 = local_bc + (int)local_f0;\n          if (((uint)local_c0[0xb] & 1) == 0) {\n            local_b4 = (undefined **)local_70[3];\n            bVar13 = *(byte *)((int)local_70 + 0x2b) >> 5 & 1;\n            bVar24 = (*(byte *)(local_70 + 10) & 0xf) < 2;\n            bVar26 = (*(byte *)(local_70 + 10) & 0xf) == 2;\n            if (bVar26) {\n              bVar24 = false;\n              bVar26 = local_d2 == '\0';\n              if ((!bVar26) &&\n                 (((bVar13 == 0 || (bVar26 = uVar21 == 0x17, 0x17 < uVar21)) ||\n                  (bVar24 = (0x843f84U >> (uVar2 & 0x1f) & 1) != 0, !bVar24)))) {\n                local_b0 = *(undefined ****)(param_2 + 0x15c);\n                *(undefined4 *)((int)piVar18 + -0xc) = 1;\n                *(undefined4 *)((int)piVar18 + -0x10) = 0;\n                *(undefined *****)((int)piVar18 + -0x14) = &local_94;\n                *(undefined ****)((int)piVar18 + -0x18) = &local_78;\n                local_94 = local_b0 + 0xd;\n                *(undefined ****)((int)piVar18 + -0x1c) = local_94;\n                *(undefined1 **)((int)piVar18 + -0x20) = local_e0;\n                    \n                *(undefined4 *)((int)piVar18 + -0x24) = 0xd2ccb;\n                local_78 = local_c0;\n                local_74 = local_b4;\n                FUN_00074280();\n                bVar24 = (undefined1 *)0xffffffe3 < (undefined1 *)((int)piVar18 + -0x20);\n                bVar26 = piVar18 == (int *)0x4;\n                piVar18 = (int *)((int)piVar18 + -4);\n              }\n            }\n          }\n          else {\n            local_b4 = (undefined **)0x0;\n            bVar24 = false;\n            bVar13 = 0;\n            bVar26 = true;\n            local_c0 = (undefined **)0x0;\n          }\n        }\n        pbVar20 = *local_70;\n        iVar19 = 8;\n        pbVar9 = (byte *)((int)local_b8 + -0x19ca26);\n        pbVar22 = pbVar20;\n        do {\n          if (iVar19 == 0) break;\n          iVar19 = iVar19 + -1;\n          bVar24 = *pbVar9 < *pbVar22;\n          bVar26 = *pbVar9 == *pbVar22;\n          pbVar9 = pbVar9 + (uint)bVar27 * -2 + 1;\n          pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n        } while (bVar26);\n        bVar25 = false;\n        bVar24 = (!bVar24 && !bVar26) == bVar24;\n        if (bVar24) {\n          pbVar20 = pbVar20 + 8;\n        }\n        else {\n          iVar19 = 7;\n          pbVar9 = (byte *)((int)local_b8 + -0x19ca1d);\n          pbVar22 = pbVar20;\n          do {\n            if (iVar19 == 0) break;\n            iVar19 = iVar19 + -1;\n            bVar25 = *pbVar9 < *pbVar22;\n            bVar24 = *pbVar9 == *pbVar22;\n            pbVar9 = pbVar9 + (uint)bVar27 * -2 + 1;\n            pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n          } while (bVar24);\n          pbVar20 = pbVar20 + 7;\n          if ((!bVar25 && !bVar24) != bVar25) {\n            pbVar20 = local_d8;\n          }\n        }\n        local_d8 = pbVar20;\n        if (local_d1 != '\0') {\n          if (bVar13 == 0) {\n            local_34 = (undefined **)0x0;\n            local_30 = (undefined **)0x0;\n          }\n          else {\n            local_34 = local_c0;\n            local_30 = local_b4;\n          }\n          local_b0 = &local_34;\n          *(undefined ****)((int)piVar18 + -0xc) = local_b0;\n          *(int *)((int)piVar18 + -0x10) = local_c8;\n          *(undefined4 *)((int)piVar18 + -0x14) = 0xd26b9;\n          FUN_00073b00();\n          puVar1 = *(undefined4 **)(local_cc + 4);\n          if (puVar1 == *(undefined4 **)(local_cc + 8)) {\n            *(undefined ****)((int)piVar18 + -8) = &local_70;\n            *(undefined4 **)((int)piVar18 + -0xc) = puVar1;\n            *(int *)((int)piVar18 + -0x10) = local_cc;\n            *(undefined4 *)((int)piVar18 + -0x14) = 0xd2b4b;\n            FUN_000726c0();\n          }\n          else {\n            *puVar1 = local_70;\n            *(undefined4 **)(local_cc + 4) = puVar1 + 1;\n          }\n          *(undefined ****)((int)piVar18 + -0xc) = local_b0;\n          *(undefined ***)((int)piVar18 + -0x10) = local_e8;\n          local_34 = local_f0;\n          local_30 = (undefined **)0x0;\n          local_2c = local_bc;\n          local_28 = (int)local_bc >> 0x1f;\n          *(undefined4 *)((int)piVar18 + -0x14) = 0xd270d;\n          FUN_00073e70();\n          local_30 = (undefined **)0x0;\n          local_34 = (undefined **)*param_7;\n          puVar1 = *(undefined4 **)(local_d0 + 4);\n          if (puVar1 == *(undefined4 **)(local_d0 + 8)) {\n            *(undefined ****)((int)piVar18 + -8) = local_b0;\n            *(undefined4 **)((int)piVar18 + -0xc) = puVar1;\n            *(int *)((int)piVar18 + -0x10) = local_d0;\n            *(undefined4 *)((int)piVar18 + -0x14) = 0xd2bbd;\n            FUN_00072a40();\n          }\n          else {\n            *puVar1 = local_34;\n            puVar1[1] = 0;\n            *(undefined4 **)(local_d0 + 4) = puVar1 + 2;\n          }\n          local_68 = (undefined **)0x0;\n          *(undefined ****)((int)piVar18 + -0xc) = &local_68;\n          *(int *)((int)piVar18 + -0x10) = local_ec;\n          *(undefined4 *)((int)piVar18 + -0x14) = 0xd2753;\n          FUN_00074020();\n        }\n        puVar17 = (undefined1 *)piVar18;\n        if (bVar13 != 0) goto LAB_000d275e;\n      }\nLAB_000d2489:\n      local_e4 = local_e4 + 1;\n      param_7 = param_7 + 3;\n    } while (param_8 != local_e4);\n  }\n  if (local_4c[0] != local_f8) {\n    *(byte **)((int)piVar18 + -0x10) = local_4c[0];\n    *(undefined4 *)((int)piVar18 + -0x14) = 0xd2c22;\n    FUN_003ae080();\n  }\n  if ((local_60 != 0) && (local_5c != 0)) {\n    *(undefined ***)((int)piVar18 + -0x10) = local_b8 + -0x60d6c;\n    *(undefined4 *)((int)piVar18 + -0x14) = 0xd2c4a;\n    uVar8 = gettext();\n    *(undefined4 *)((int)piVar18 + -0x10) = uVar8;\n    uVar8 = local_54;\n    *(undefined4 *)((int)piVar18 + -0x14) = 0;\n    *(undefined4 *)((int)piVar18 + -0x18) = uVar8;\n    *(undefined4 *)((int)piVar18 + -0x1c) = local_58;\n    *(int *)((int)piVar18 + -0x20) = local_5c;\n    *(undefined4 *)((int)piVar18 + -0x24) = 0xd2c5f;\n    FUN_0023bd50();\n  }\n  return;\n}\n\n" (function_definition "void FUN_000d2220(undefined4 param_1,int param_2,undefined4 param_3,undefined **param_4,\n                 undefined **param_5,undefined4 param_6,undefined4 *param_7,int param_8,\n                 undefined4 param_9,undefined4 param_10,undefined *param_11,int param_12)\n\n{\n  undefined4 *puVar1;\n  uint uVar2;\n  int iVar3;\n  code *pcVar4;\n  undefined ***pppuVar5;\n  size_t sVar6;\n  undefined *puVar7;\n  undefined4 uVar8;\n  byte *pbVar9;\n  int iVar10;\n  int iVar11;\n  int iVar12;\n  byte bVar13;\n  undefined **ppuVar14;\n  undefined *puVar15;\n  uint uVar16;\n  undefined1 *puVar17;\n  int *piVar18;\n  undefined **unaff_ESI;\n  int iVar19;\n  byte *pbVar20;\n  uint uVar21;\n  byte *pbVar22;\n  undefined **ppuVar23;\n  bool bVar24;\n  bool bVar25;\n  bool bVar26;\n  byte bVar27;\n  int iStack_100;\n  undefined1 auStack_fc [4];\n  byte *local_f8;\n  int *local_f4;\n  undefined **local_f0;\n  int local_ec;\n  undefined **local_e8;\n  int local_e4;\n  undefined1 *local_e0;\n  int *local_dc;\n  byte *local_d8;\n  char local_d2;\n  char local_d1;\n  int local_d0;\n  int local_cc;\n  int local_c8;\n  undefined *local_c4;\n  undefined **local_c0;\n  undefined *local_bc;\n  undefined **local_b8;\n  undefined **local_b4;\n  undefined ***local_b0;\n  int local_ac;\n  int local_a8;\n  undefined1 local_a4 [12];\n  undefined ***local_98;\n  undefined ***local_94;\n  int local_90;\n  int local_8c;\n  undefined ***local_88;\n  undefined ***local_84;\n  undefined **local_80;\n  uint local_7c;\n  undefined **local_78;\n  undefined **local_74;\n  undefined **local_70;\n  undefined **local_6c;\n  undefined **local_68;\n  undefined **local_64;\n  int local_60;\n  int local_5c;\n  undefined4 local_58;\n  undefined4 local_54;\n  undefined1 local_50;\n  byte *local_4c [2];\n  byte local_44 [16];\n  undefined **local_34;\n  undefined **local_30;\n  undefined *local_2c;\n  int local_28;\n  \n  bVar27 = 0;\n  local_b8 = &__DT_PLTGOT;\n  local_dc = &DAT_005ea7c8;\n  local_60 = 0;\n  local_5c = 0;\n  iVar19 = *(int *)(DAT_005ea7c8 + 8);\n  local_58 = 0;\n  local_54 = 0;\n  local_50 = 0;\n  if (iVar19 == 0) {\n    iStack_100 = iVar19;\n                    \n                    \n    FUN_002446e0("../../gold/parameters.h",0x5c,"options");\n  }\n  if (*(int *)(iVar19 + 0x5934) == 0) {\n    local_f8 = local_44;\n    iStack_100 = 0;\n    local_4c[0] = local_f8;\n                    \n    FUN_00072b90(local_4c,"","");\n    piVar18 = (int *)auStack_fc;\n  }\n  else {\n    unaff_ESI = &__DT_PLTGOT;\n    if (*(code **)(*param_4 + 0x40) == FUN_00106550) {\n                    \n      FUN_001063c0(local_4c,param_4 + 0x24,param_5);\n      unaff_ESI = param_4;\n    }\n    else {\n                    \n      (**(code **)(*param_4 + 0x40))(local_4c,param_4,param_5);\n    }\n    local_f8 = local_44;\n    piVar18 = &iStack_100;\n  }\n  pbVar20 = local_4c[0];\n  iVar19 = *local_dc;\n  if (*(int *)(iVar19 + 8) == 0) {\n    *(int *)((int)piVar18 + -4) = iVar19;\n    *(undefined ***)((int)piVar18 + -8) = local_b8 + -0x61176;\n    *(undefined4 *)((int)piVar18 + -0xc) = 0x5c;\n    *(int *)((int)piVar18 + -0x10) = (int)local_b8 + -0x1a1d93;\n                    \n    *(undefined4 *)((int)piVar18 + -0x14) = 0xd3001;\n    FUN_002446e0();\n  }\n  if (*(int *)(*(int *)(iVar19 + 8) + 0x5934) == 0) {\nLAB_000d22e5:\n    local_d1 = '\0';\n    local_ec = 0;\n    local_d0 = 0;\n    local_e8 = (undefined **)0x0;\n    local_cc = 0;\n    local_c8 = 0;\n  }\n  else {\n    local_b4 = &local_2c;\n    local_34 = local_b4;\n    pbVar9 = (byte *)0xffffffff;\n    if (local_4c[0] != (byte *)0x0) {\n      *(byte **)((int)piVar18 + -0x10) = local_4c[0];\n      *(undefined4 *)((int)piVar18 + -0x14) = 0xd2df7;\n      sVar6 = strlen(*(char **)((int)piVar18 + -0x10));\n      pbVar9 = pbVar20 + sVar6;\n    }\n    *(undefined4 *)((int)piVar18 + -4) = 0;\n    *(byte **)((int)piVar18 + -8) = pbVar9;\n    local_b0 = &local_34;\n    *(byte **)((int)piVar18 + -0xc) = pbVar20;\n    *(undefined ****)((int)piVar18 + -0x10) = local_b0;\n                    \n    *(undefined4 *)((int)piVar18 + -0x14) = 0xd2e0f;\n    FUN_00072b90();\n    iVar19 = 5;\n    bVar24 = (undefined1 *)0xffffffef < (undefined1 *)((int)piVar18 + -0x10);\n    bVar26 = piVar18 == (int *)0x0;\n    ppuVar14 = local_b8 + -0x67293;\n    ppuVar23 = local_34;\n    do {\n      if (iVar19 == 0) break;\n      iVar19 = iVar19 + -1;\n      bVar24 = *(byte *)ppuVar14 < *(byte *)ppuVar23;\n      bVar26 = *(byte *)ppuVar14 == *(byte *)ppuVar23;\n      ppuVar14 = (undefined **)((int)ppuVar14 + (uint)bVar27 * -2 + 1);\n      ppuVar23 = (undefined **)((int)ppuVar23 + (uint)bVar27 * -2 + 1);\n    } while (bVar26);\n    bVar25 = false;\n    bVar24 = (!bVar24 && !bVar26) == bVar24;\n    if (!bVar24) {\n      iVar19 = 0xf;\n      ppuVar14 = (undefined **)((int)local_b8 + -0x19ca46);\n      ppuVar23 = local_34;\n      do {\n        unaff_ESI = ppuVar14;\n        if (iVar19 == 0) break;\n        iVar19 = iVar19 + -1;\n        unaff_ESI = (undefined **)((int)ppuVar14 + (uint)bVar27 * -2 + 1);\n        bVar25 = *(byte *)ppuVar14 < *(byte *)ppuVar23;\n        bVar24 = *(byte *)ppuVar14 == *(byte *)ppuVar23;\n        ppuVar14 = unaff_ESI;\n        ppuVar23 = (undefined **)((int)ppuVar23 + (uint)bVar27 * -2 + 1);\n      } while (bVar24);\n      if ((!bVar25 && !bVar24) != bVar25) {\n        if (local_34 == local_b4) {\n          iVar19 = *local_dc;\n        }\n        else {\n          *(undefined ***)((int)piVar18 + -0x10) = local_34;\n          *(undefined4 *)((int)piVar18 + -0x14) = 0xd2ee3;\n          FUN_003ae080();\n          iVar19 = *local_dc;\n        }\n        goto LAB_000d22e5;\n      }\n    }\n    if (local_34 != local_b4) {\n      *(undefined ***)((int)piVar18 + -0x10) = local_34;\n      *(undefined4 *)((int)piVar18 + -0x14) = 0xd3010;\n      FUN_003ae080();\n    }\n    *(undefined ****)((int)piVar18 + -0xc) = local_b0;\n    local_34 = param_4;\n    local_30 = param_5;\n    local_b0 = *(undefined ****)(param_2 + 0x15c);\n    *(undefined ****)((int)piVar18 + -0x10) = local_b0 + 0x15;\n    *(undefined4 *)((int)piVar18 + -0x14) = 0xd2e84;\n    local_c8 = FUN_00074520();\n    local_cc = local_c8 + 0xc;\n    unaff_ESI = (undefined **)(local_c8 + 0x18);\n    local_d0 = local_c8 + 0x24;\n    local_ec = local_c8 + 0x30;\n    iVar19 = *local_dc;\n    local_d1 = '\x01';\n    local_e8 = unaff_ESI;\n  }\n  if (*(int *)(iVar19 + 8) == 0) {\n    *(undefined ***)((int)piVar18 + -4) = unaff_ESI;\n    *(undefined ***)((int)piVar18 + -8) = local_b8 + -0x61176;\n    *(undefined4 *)((int)piVar18 + -0xc) = 0x5c;\n    *(int *)((int)piVar18 + -0x10) = (int)local_b8 + -0x1a1d93;\n                    \n                    \n    *(undefined4 *)((int)piVar18 + -0x14) = 0xd2fe5;\n    FUN_002446e0();\n  }\n  local_d2 = '\0';\n  if (*(int *)(*(int *)(iVar19 + 8) + 0x5934) == 2) {\n    *(undefined4 *)((int)piVar18 + -0x10) = param_1;\n    *(undefined4 *)((int)piVar18 + -0x14) = 0xd2ceb;\n    local_d2 = FUN_000aaa70();\n    bVar24 = false;\n    bVar26 = local_d2 == '\0';\n    if (!bVar26) {\n      iVar19 = 0xc;\n      local_d2 = '\0';\n      ppuVar14 = local_b8 + -0x66894;\n      pbVar20 = local_4c[0];\n      do {\n        if (iVar19 == 0) break;\n        iVar19 = iVar19 + -1;\n        bVar24 = *(byte *)ppuVar14 < *pbVar20;\n        bVar26 = *(byte *)ppuVar14 == *pbVar20;\n        ppuVar14 = (undefined **)((int)ppuVar14 + (uint)bVar27 * -2 + 1);\n        pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n      } while (bVar26);\n      bVar25 = false;\n      bVar24 = (!bVar24 && !bVar26) == bVar24;\n      if (!bVar24) {\n        iVar19 = 0x11;\n        pbVar20 = (byte *)((int)local_b8 + -0x19a243);\n        pbVar9 = local_4c[0];\n        do {\n          if (iVar19 == 0) break;\n          iVar19 = iVar19 + -1;\n          bVar25 = *pbVar20 < *pbVar9;\n          bVar24 = *pbVar20 == *pbVar9;\n          pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n          pbVar9 = pbVar9 + (uint)bVar27 * -2 + 1;\n        } while (bVar24);\n        bVar26 = false;\n        bVar24 = (!bVar25 && !bVar24) == bVar25;\n        if (!bVar24) {\n          iVar19 = 0xc;\n          pbVar20 = (byte *)((int)local_b8 + -0x19a231);\n          pbVar9 = local_4c[0];\n          do {\n            if (iVar19 == 0) break;\n            iVar19 = iVar19 + -1;\n            bVar26 = *pbVar20 < *pbVar9;\n            bVar24 = *pbVar20 == *pbVar9;\n            pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n            pbVar9 = pbVar9 + (uint)bVar27 * -2 + 1;\n          } while (bVar24);\n          bVar25 = false;\n          bVar24 = (!bVar26 && !bVar24) == bVar26;\n          if (!bVar24) {\n            iVar19 = 0x11;\n            ppuVar14 = local_b8 + -0x66889;\n            pbVar20 = local_4c[0];\n            do {\n              if (iVar19 == 0) break;\n              iVar19 = iVar19 + -1;\n              bVar25 = *(byte *)ppuVar14 < *pbVar20;\n              bVar24 = *(byte *)ppuVar14 == *pbVar20;\n              ppuVar14 = (undefined **)((int)ppuVar14 + (uint)bVar27 * -2 + 1);\n              pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n            } while (bVar24);\n            bVar26 = false;\n            bVar24 = (!bVar25 && !bVar24) == bVar25;\n            if (!bVar24) {\n              iVar19 = 9;\n              pbVar20 = (byte *)((int)local_b8 + -0x19a212);\n              pbVar9 = local_4c[0];\n              do {\n                if (iVar19 == 0) break;\n                iVar19 = iVar19 + -1;\n                bVar26 = *pbVar20 < *pbVar9;\n                bVar24 = *pbVar20 == *pbVar9;\n                pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n                pbVar9 = pbVar9 + (uint)bVar27 * -2 + 1;\n              } while (bVar24);\n              local_d2 = (!bVar26 && !bVar24) != bVar26;\n            }\n          }\n        }\n      }\n    }\n  }\n  if (param_8 != 0) {\n    local_d8 = (byte *)0x0;\n    local_e0 = local_a4;\n    local_f4 = &local_8c;\n    local_e4 = 0;\n    do {\n      uVar2 = param_7[1];\n      uVar21 = uVar2 & 0xff;\n      puVar15 = (undefined *)(uVar2 >> 8);\n      local_bc = (undefined *)param_7[2];\n      if (puVar15 < param_11) {\n        if (param_12 == 0) {\n          *(undefined ***)((int)piVar18 + -8) = local_b8 + -0x615ed;\n          *(undefined4 *)((int)piVar18 + -0xc) = 0xea;\n          *(int *)((int)piVar18 + -0x10) = (int)local_b8 + -0x19ca36;\n                    \n                    \n          *(undefined **)((int)piVar18 + -0x14) = &UNK_000d2f49;\n          FUN_002446e0();\n        }\n        iVar19 = (int)puVar15 * 0x10 + param_12;\n        local_b4 = (undefined **)(uint)*(ushort *)(iVar19 + 0xe);\n        if (local_b4 < (undefined **)0xff00) {\nLAB_000d24ee:\n          ppuVar14 = *(undefined ***)(iVar19 + 4);\n          local_c4 = local_bc + (int)ppuVar14;\n          if (local_d1 != '\0') {\n            local_34 = param_4;\n            local_30 = local_b4;\n            local_b0 = &local_34;\n            *(undefined ****)((int)piVar18 + -0xc) = local_b0;\n            *(int *)((int)piVar18 + -0x10) = local_c8;\n            *(undefined4 *)((int)piVar18 + -0x14) = 0xd2533;\n            FUN_00073b00();\n            local_c0 = (undefined **)CONCAT31(local_c0._1_3_,1);\n            if ((*(byte *)(iVar19 + 0xc) & 0xf) == 3) goto LAB_000d254c;\nLAB_000d23e8:\n            *(undefined ****)((int)piVar18 + -0xc) = local_b0;\n            *(int *)((int)piVar18 + -0x10) = local_cc;\n            local_34 = (undefined **)0x0;\n            *(undefined4 *)((int)piVar18 + -0x14) = 0xd2403;\n            FUN_00073ca0();\n            goto LAB_000d2403;\n          }\n        }\n        else {\n          if (local_b4 == (undefined **)0xffff) {\n            puVar7 = param_4[0xc];\n            if (puVar7 == (undefined *)0x0) {\n              puVar7 = *param_4;\n              *(undefined ***)((int)piVar18 + -0x10) = param_4;\n              pcVar4 = *(code **)(puVar7 + 0x6c);\n              *(undefined4 *)((int)piVar18 + -0x14) = 0xd2a4e;\n              puVar7 = (undefined *)(*pcVar4)();\n              param_4[0xc] = puVar7;\n            }\n            *(undefined **)((int)piVar18 + -8) = puVar15;\n            *(undefined ***)((int)piVar18 + -0xc) = param_4;\n            *(undefined **)((int)piVar18 + -0x10) = puVar7;\n            *(undefined4 *)((int)piVar18 + -0x14) = 0xd2591;\n            local_b4 = (undefined **)FUN_0028b7d0();\n            goto LAB_000d24ee;\n          }\n          ppuVar14 = *(undefined ***)(iVar19 + 4);\n          local_c4 = local_bc + (int)ppuVar14;\n          if (local_d1 == '\0') goto LAB_000d2489;\n          local_b0 = &local_34;\n          local_34 = (undefined **)0x0;\n          *(undefined ****)((int)piVar18 + -0xc) = local_b0;\n          *(int *)((int)piVar18 + -0x10) = local_c8;\n          local_30 = (undefined **)0x0;\n                    \n          *(undefined4 *)((int)piVar18 + -0x14) = 0xd23cf;\n          FUN_00073b00();\n          local_c0 = (undefined **)((uint)local_c0 & 0xffffff00);\n          if ((*(byte *)(iVar19 + 0xc) & 0xf) != 3) goto LAB_000d23e8;\nLAB_000d254c:\n          *(undefined ****)((int)piVar18 + -0xc) = local_b0;\n          *(int *)((int)piVar18 + -0x10) = local_cc;\n          local_34 = (undefined **)0xffffffff;\n          *(undefined4 *)((int)piVar18 + -0x14) = 0xd2567;\n          FUN_00073ca0();\nLAB_000d2403:\n          *(undefined ****)((int)piVar18 + -0xc) = local_b0;\n          *(undefined ***)((int)piVar18 + -0x10) = local_e8;\n          local_2c = local_bc;\n          local_28 = (int)local_bc >> 0x1f;\n          local_30 = (undefined **)0x0;\n          *(undefined4 *)((int)piVar18 + -0x14) = 0xd2433;\n          local_34 = ppuVar14;\n          FUN_00073e70();\n          local_30 = (undefined **)0x0;\n          local_34 = (undefined **)*param_7;\n          puVar1 = *(undefined4 **)(local_d0 + 4);\n          if (puVar1 == *(undefined4 **)(local_d0 + 8)) {\n            *(undefined ****)((int)piVar18 + -8) = local_b0;\n            *(undefined4 **)((int)piVar18 + -0xc) = puVar1;\n            *(int *)((int)piVar18 + -0x10) = local_d0;\n            *(undefined4 *)((int)piVar18 + -0x14) = 0xd2b0d;\n            FUN_00072a40();\n          }\n          else {\n            *puVar1 = local_34;\n            puVar1[1] = 0;\n            *(undefined4 **)(local_d0 + 4) = puVar1 + 2;\n          }\n          local_68 = (undefined **)0x0;\n          *(undefined ****)((int)piVar18 + -0xc) = &local_68;\n          *(int *)((int)piVar18 + -0x10) = local_ec;\n          *(undefined4 *)((int)piVar18 + -0x14) = 0xd2479;\n          FUN_00074020();\n          if ((char)local_c0 == '\0') goto LAB_000d2489;\n        }\n        if (((local_d2 != '\0') && ((*(byte *)(iVar19 + 0xc) & 0xf) != 1)) &&\n           ((0x17 < uVar21 || ((0x843f84U >> (uVar2 & 0x1f) & 1) == 0)))) {\n          local_b0 = *(undefined ****)(param_2 + 0x15c);\n          local_80 = param_4;\n          local_7c = (uint)*(ushort *)(iVar19 + 0xe);\n          *(undefined4 *)((int)piVar18 + -0xc) = 1;\n          *(undefined4 *)((int)piVar18 + -0x10) = 0;\n          local_98 = local_b0 + 0xd;\n          *(undefined *****)((int)piVar18 + -0x14) = &local_98;\n          *(undefined ****)((int)piVar18 + -0x18) = &local_80;\n          *(undefined ****)((int)piVar18 + -0x1c) = local_98;\n          *(undefined1 **)((int)piVar18 + -0x20) = local_e0;\n          *(undefined4 *)((int)piVar18 + -0x24) = 0xd2ad1;\n          FUN_00074280();\n          piVar18 = (int *)((int)piVar18 + -4);\n        }\n        if (param_5 != local_b4) {\n          local_c0 = param_4;\n          puVar17 = (undefined1 *)piVar18;\nLAB_000d275e:\n          if (*(int *)(*local_dc + 8) == 0) {\n            *(undefined ***)(puVar17 + -8) = local_b8 + -0x61176;\n            *(undefined4 *)(puVar17 + -0xc) = 0x5c;\n            *(int *)(puVar17 + -0x10) = (int)local_b8 + -0x1a1d93;\n                    \n            *(undefined4 *)(puVar17 + -0x14) = 0xd2f6e;\n            FUN_002446e0();\n          }\n          piVar18 = (int *)puVar17;\n          if (*(char *)(*(int *)(*local_dc + 8) + 0x18b1) != '\0') {\n            local_70 = param_4;\n            iVar19 = *(int *)(param_2 + 0x158) + 0x14;\n            local_6c = param_5;\n            local_68 = local_c0;\n            local_64 = local_b4;\n            iVar3 = *(int *)(*(int *)(param_2 + 0x158) + 0x18);\n            iVar10 = iVar19;\n            if (iVar3 == 0) {\nLAB_000d27f0:\n              local_88 = &local_70;\n              *(undefined *****)(puVar17 + -0x10) = &local_88;\n              *(undefined4 *)(puVar17 + -0x14) = 0xd2811;\n              FUN_000c5e40();\n              iVar11 = local_a8;\n            }\n            else {\n              do {\n                while ((iVar11 = iVar3, *(undefined ***)(iVar11 + 0x10) < param_4 ||\n                       ((param_4 == *(undefined ***)(iVar11 + 0x10) &&\n                        (*(undefined ***)(iVar11 + 0x14) < param_5))))) {\n                  piVar18 = (int *)(iVar11 + 0xc);\n                  iVar3 = *piVar18;\n                  iVar11 = iVar10;\n                  if (*piVar18 == 0) goto LAB_000d27da;\n                }\n                iVar3 = *(int *)(iVar11 + 8);\n                iVar10 = iVar11;\n              } while (*(int *)(iVar11 + 8) != 0);\nLAB_000d27da:\n              if (((iVar19 == iVar11) || (param_4 < *(undefined ***)(iVar11 + 0x10))) ||\n                 ((param_4 == *(undefined ***)(iVar11 + 0x10) &&\n                  (param_5 < *(undefined ***)(iVar11 + 0x14))))) goto LAB_000d27f0;\n            }\n            local_8c = iVar11 + 0x18;\n            *(undefined4 *)(puVar17 + -0xc) = 1;\n            *(undefined4 *)(puVar17 + -0x10) = 0;\n            *(int **)(puVar17 + -0x14) = local_f4;\n            *(undefined ****)(puVar17 + -0x18) = &local_68;\n            *(int *)(puVar17 + -0x1c) = local_8c;\n            *(undefined1 **)(puVar17 + -0x20) = local_e0;\n            *(undefined4 *)(puVar17 + -0x24) = 0xd2840;\n            FUN_00074340();\n            piVar18 = *(int **)(*local_dc + 0xc);\n            if (piVar18 == (int *)0x0) {\n              *(undefined ***)(puVar17 + -0xc) = local_b8 + -0x615c4;\n              *(undefined4 *)(puVar17 + -0x10) = 0x73;\n              *(int *)(puVar17 + -0x14) = (int)local_b8 + -0x1a1d93;\n                    \n              *(undefined4 *)(puVar17 + -0x18) = 0xd2fad;\n              FUN_002446e0();\n            }\n            iVar19 = *piVar18;\n            *(undefined **)(puVar17 + -0xc) = local_c4;\n            *(undefined ***)(puVar17 + -0x10) = local_b4;\n            *(undefined ***)(puVar17 + -0x14) = local_c0;\n            *(undefined ***)(puVar17 + -0x18) = param_5;\n            *(undefined ***)(puVar17 + -0x1c) = param_4;\n            *(int *)(puVar17 + -0x20) = param_2;\n            *(int **)(puVar17 + -0x24) = piVar18;\n            pcVar4 = *(code **)(iVar19 + 0x104);\n            *(undefined4 *)(puVar17 + -0x28) = 0xd287d;\n            (*pcVar4)();\n            pbVar20 = local_d8;\n            piVar18 = (int *)(puVar17 + -4);\n            if (local_d8 != (byte *)0x0) {\n              local_b4 = &local_2c;\n              local_b0 = &local_34;\n              iVar19 = *(int *)(param_2 + 0x158);\n              *(byte **)(puVar17 + -0x14) = local_d8;\n              local_34 = local_b4;\n              *(undefined4 *)(puVar17 + -0x18) = 0xd28bd;\n              sVar6 = strlen(*(char **)(puVar17 + -0x14));\n              pppuVar5 = local_b0;\n              *(undefined4 *)(puVar17 + -8) = 0;\n              *(byte **)(puVar17 + -0xc) = pbVar20 + sVar6;\n              *(byte **)(puVar17 + -0x10) = pbVar20;\n              *(undefined ****)(puVar17 + -0x14) = local_b0;\n              *(undefined4 *)(puVar17 + -0x18) = 0xd28d2;\n              FUN_00072b90();\n              *(undefined ****)(puVar17 + -0xc) = pppuVar5;\n              *(int *)(puVar17 + -0x10) = iVar19 + 0x44;\n              *(int **)(puVar17 + -0x14) = &local_ac;\n              *(undefined4 *)(puVar17 + -0x18) = 0xd28e6;\n              FUN_00094bd0();\n              iVar19 = local_ac;\n              if (local_34 != local_b4) {\n                *(undefined ***)(puVar17 + -0x18) = local_34;\n                *(undefined4 *)(puVar17 + -0x1c) = 0xd2909;\n                FUN_003ae080();\n              }\n              piVar18 = (int *)(puVar17 + -8);\n              iVar3 = *(int *)(param_2 + 0x158);\n              if (iVar19 != iVar3 + 0x48) {\n                local_34 = param_4;\n                local_30 = param_5;\n                iVar10 = *(int *)(iVar3 + 0x18);\n                iVar11 = iVar3 + 0x14;\n                if (*(int *)(iVar3 + 0x18) == 0) {\nLAB_000d2bd8:\n                  *(undefined *****)(puVar17 + -0x18) = &local_84;\n                  local_84 = local_b0;\n                  *(undefined4 *)(puVar17 + -0x1c) = 0xd2bf6;\n                  FUN_000c5e40();\n                  iVar12 = local_a8;\n                }\n                else {\n                  do {\n                    while ((iVar12 = iVar10, *(undefined ***)(iVar12 + 0x10) < param_4 ||\n                           ((param_4 == *(undefined ***)(iVar12 + 0x10) &&\n                            (*(undefined ***)(iVar12 + 0x14) < param_5))))) {\n                      piVar18 = (int *)(iVar12 + 0xc);\n                      iVar10 = *piVar18;\n                      iVar12 = iVar11;\n                      if (*piVar18 == 0) goto LAB_000d2962;\n                    }\n                    iVar10 = *(int *)(iVar12 + 8);\n                    iVar11 = iVar12;\n                  } while (*(int *)(iVar12 + 8) != 0);\nLAB_000d2962:\n                  if (((iVar12 == iVar3 + 0x14) || (param_4 < *(undefined ***)(iVar12 + 0x10))) ||\n                     ((param_4 == *(undefined ***)(iVar12 + 0x10) &&\n                      (param_5 < *(undefined ***)(iVar12 + 0x14))))) goto LAB_000d2bd8;\n                }\n                piVar18 = (int *)(puVar17 + -8);\n                puVar17 = puVar17 + -8;\n                for (puVar1 = *(undefined4 **)(iVar19 + 0x30); puVar1 != (undefined4 *)0x0;\n                    puVar1 = (undefined4 *)*puVar1) {\n                  *(undefined4 *)(puVar17 + -0xc) = 1;\n                  *(undefined4 *)(puVar17 + -0x10) = 0;\n                  *(int **)(puVar17 + -0x14) = &local_90;\n                  *(undefined4 **)(puVar17 + -0x18) = puVar1 + 1;\n                  *(int *)(puVar17 + -0x1c) = iVar12 + 0x18;\n                  *(undefined1 **)(puVar17 + -0x20) = local_e0;\n                  *(undefined4 *)(puVar17 + -0x24) = 0xd29ae;\n                  local_90 = iVar12 + 0x18;\n                  FUN_00074340();\n                  piVar18 = (int *)(puVar17 + -4);\n                  puVar17 = puVar17 + -4;\n                }\n              }\n            }\n          }\n        }\n      }\n      else {\n        if (puVar15 < param_4[0x2c]) {\n          local_70 = (undefined **)0x0;\nLAB_000d2a1f:\n          *(undefined ***)((int)piVar18 + -8) = local_b8 + -0x615ed;\n          *(undefined4 *)((int)piVar18 + -0xc) = 0x11c;\n          *(int *)((int)piVar18 + -0x10) = (int)local_b8 + -0x19ca36;\n                    \n          *(undefined4 *)((int)piVar18 + -0x14) = 0xd2a40;\n          FUN_002446e0();\n        }\n        uVar16 = (int)puVar15 - (int)param_4[0x2c];\n        local_b0 = (undefined ***)param_4[0x30];\n        if ((uint)((int)local_b0 - (int)param_4[0x2f] >> 2) <= uVar16) {\n          *(undefined ***)((int)piVar18 + -8) = local_b8 + -0x6156c;\n          *(undefined4 *)((int)piVar18 + -0xc) = 0x8ad;\n          *(int *)((int)piVar18 + -0x10) = (int)local_b8 + -0x19cc7b;\n                    \n          *(undefined4 *)((int)piVar18 + -0x14) = 0xd2f8f;\n          FUN_002446e0();\n        }\n        local_70 = *(undefined ***)(param_4[0x2f] + uVar16 * 4);\n        if (local_70 == (undefined **)0x0) goto LAB_000d2a1f;\n        if ((*(byte *)((int)local_70 + 0x2a) & 0x10) == 0) {\n          if ((*(byte *)((int)local_70 + 0x2a) & 7) == 0) goto LAB_000d25f7;\nLAB_000d29e2:\n          local_f0 = (undefined **)local_70[0xc];\n          bVar13 = 0;\n          local_b4 = (undefined **)0x0;\n          local_c0 = (undefined **)0x0;\n          bVar24 = CARRY4((uint)local_bc,(uint)local_f0);\n          local_c4 = local_bc + (int)local_f0;\n          bVar26 = local_c4 == (undefined *)0x0;\n        }\n        else {\n          *(undefined ***)((int)piVar18 + -0xc) = local_70;\n          *(int *)((int)piVar18 + -0x10) = param_2;\n          *(undefined4 *)((int)piVar18 + -0x14) = 0xd29d2;\n          local_70 = (undefined **)FUN_0034cd90();\n          if ((*(byte *)((int)local_70 + 0x2a) & 7) != 0) goto LAB_000d29e2;\nLAB_000d25f7:\n          local_f0 = (undefined **)local_70[0xc];\n          local_c0 = (undefined **)local_70[2];\n          local_c4 = local_bc + (int)local_f0;\n          if (((uint)local_c0[0xb] & 1) == 0) {\n            local_b4 = (undefined **)local_70[3];\n            bVar13 = *(byte *)((int)local_70 + 0x2b) >> 5 & 1;\n            bVar24 = (*(byte *)(local_70 + 10) & 0xf) < 2;\n            bVar26 = (*(byte *)(local_70 + 10) & 0xf) == 2;\n            if (bVar26) {\n              bVar24 = false;\n              bVar26 = local_d2 == '\0';\n              if ((!bVar26) &&\n                 (((bVar13 == 0 || (bVar26 = uVar21 == 0x17, 0x17 < uVar21)) ||\n                  (bVar24 = (0x843f84U >> (uVar2 & 0x1f) & 1) != 0, !bVar24)))) {\n                local_b0 = *(undefined ****)(param_2 + 0x15c);\n                *(undefined4 *)((int)piVar18 + -0xc) = 1;\n                *(undefined4 *)((int)piVar18 + -0x10) = 0;\n                *(undefined *****)((int)piVar18 + -0x14) = &local_94;\n                *(undefined ****)((int)piVar18 + -0x18) = &local_78;\n                local_94 = local_b0 + 0xd;\n                *(undefined ****)((int)piVar18 + -0x1c) = local_94;\n                *(undefined1 **)((int)piVar18 + -0x20) = local_e0;\n                    \n                *(undefined4 *)((int)piVar18 + -0x24) = 0xd2ccb;\n                local_78 = local_c0;\n                local_74 = local_b4;\n                FUN_00074280();\n                bVar24 = (undefined1 *)0xffffffe3 < (undefined1 *)((int)piVar18 + -0x20);\n                bVar26 = piVar18 == (int *)0x4;\n                piVar18 = (int *)((int)piVar18 + -4);\n              }\n            }\n          }\n          else {\n            local_b4 = (undefined **)0x0;\n            bVar24 = false;\n            bVar13 = 0;\n            bVar26 = true;\n            local_c0 = (undefined **)0x0;\n          }\n        }\n        pbVar20 = *local_70;\n        iVar19 = 8;\n        pbVar9 = (byte *)((int)local_b8 + -0x19ca26);\n        pbVar22 = pbVar20;\n        do {\n          if (iVar19 == 0) break;\n          iVar19 = iVar19 + -1;\n          bVar24 = *pbVar9 < *pbVar22;\n          bVar26 = *pbVar9 == *pbVar22;\n          pbVar9 = pbVar9 + (uint)bVar27 * -2 + 1;\n          pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n        } while (bVar26);\n        bVar25 = false;\n        bVar24 = (!bVar24 && !bVar26) == bVar24;\n        if (bVar24) {\n          pbVar20 = pbVar20 + 8;\n        }\n        else {\n          iVar19 = 7;\n          pbVar9 = (byte *)((int)local_b8 + -0x19ca1d);\n          pbVar22 = pbVar20;\n          do {\n            if (iVar19 == 0) break;\n            iVar19 = iVar19 + -1;\n            bVar25 = *pbVar9 < *pbVar22;\n            bVar24 = *pbVar9 == *pbVar22;\n            pbVar9 = pbVar9 + (uint)bVar27 * -2 + 1;\n            pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n          } while (bVar24);\n          pbVar20 = pbVar20 + 7;\n          if ((!bVar25 && !bVar24) != bVar25) {\n            pbVar20 = local_d8;\n          }\n        }\n        local_d8 = pbVar20;\n        if (local_d1 != '\0') {\n          if (bVar13 == 0) {\n            local_34 = (undefined **)0x0;\n            local_30 = (undefined **)0x0;\n          }\n          else {\n            local_34 = local_c0;\n            local_30 = local_b4;\n          }\n          local_b0 = &local_34;\n          *(undefined ****)((int)piVar18 + -0xc) = local_b0;\n          *(int *)((int)piVar18 + -0x10) = local_c8;\n          *(undefined4 *)((int)piVar18 + -0x14) = 0xd26b9;\n          FUN_00073b00();\n          puVar1 = *(undefined4 **)(local_cc + 4);\n          if (puVar1 == *(undefined4 **)(local_cc + 8)) {\n            *(undefined ****)((int)piVar18 + -8) = &local_70;\n            *(undefined4 **)((int)piVar18 + -0xc) = puVar1;\n            *(int *)((int)piVar18 + -0x10) = local_cc;\n            *(undefined4 *)((int)piVar18 + -0x14) = 0xd2b4b;\n            FUN_000726c0();\n          }\n          else {\n            *puVar1 = local_70;\n            *(undefined4 **)(local_cc + 4) = puVar1 + 1;\n          }\n          *(undefined ****)((int)piVar18 + -0xc) = local_b0;\n          *(undefined ***)((int)piVar18 + -0x10) = local_e8;\n          local_34 = local_f0;\n          local_30 = (undefined **)0x0;\n          local_2c = local_bc;\n          local_28 = (int)local_bc >> 0x1f;\n          *(undefined4 *)((int)piVar18 + -0x14) = 0xd270d;\n          FUN_00073e70();\n          local_30 = (undefined **)0x0;\n          local_34 = (undefined **)*param_7;\n          puVar1 = *(undefined4 **)(local_d0 + 4);\n          if (puVar1 == *(undefined4 **)(local_d0 + 8)) {\n            *(undefined ****)((int)piVar18 + -8) = local_b0;\n            *(undefined4 **)((int)piVar18 + -0xc) = puVar1;\n            *(int *)((int)piVar18 + -0x10) = local_d0;\n            *(undefined4 *)((int)piVar18 + -0x14) = 0xd2bbd;\n            FUN_00072a40();\n          }\n          else {\n            *puVar1 = local_34;\n            puVar1[1] = 0;\n            *(undefined4 **)(local_d0 + 4) = puVar1 + 2;\n          }\n          local_68 = (undefined **)0x0;\n          *(undefined ****)((int)piVar18 + -0xc) = &local_68;\n          *(int *)((int)piVar18 + -0x10) = local_ec;\n          *(undefined4 *)((int)piVar18 + -0x14) = 0xd2753;\n          FUN_00074020();\n        }\n        puVar17 = (undefined1 *)piVar18;\n        if (bVar13 != 0) goto LAB_000d275e;\n      }\nLAB_000d2489:\n      local_e4 = local_e4 + 1;\n      param_7 = param_7 + 3;\n    } while (param_8 != local_e4);\n  }\n  if (local_4c[0] != local_f8) {\n    *(byte **)((int)piVar18 + -0x10) = local_4c[0];\n    *(undefined4 *)((int)piVar18 + -0x14) = 0xd2c22;\n    FUN_003ae080();\n  }\n  if ((local_60 != 0) && (local_5c != 0)) {\n    *(undefined ***)((int)piVar18 + -0x10) = local_b8 + -0x60d6c;\n    *(undefined4 *)((int)piVar18 + -0x14) = 0xd2c4a;\n    uVar8 = gettext();\n    *(undefined4 *)((int)piVar18 + -0x10) = uVar8;\n    uVar8 = local_54;\n    *(undefined4 *)((int)piVar18 + -0x14) = 0;\n    *(undefined4 *)((int)piVar18 + -0x18) = uVar8;\n    *(undefined4 *)((int)piVar18 + -0x1c) = local_58;\n    *(int *)((int)piVar18 + -0x20) = local_5c;\n    *(undefined4 *)((int)piVar18 + -0x24) = 0xd2c5f;\n    FUN_0023bd50();\n  }\n  return;\n}" primitive_type (function_declarator "FUN_000d2220(undefined4 param_1,int param_2,undefined4 param_3,undefined **param_4,\n                 undefined **param_5,undefined4 param_6,undefined4 *param_7,int param_8,\n                 undefined4 param_9,undefined4 param_10,undefined *param_11,int param_12)" identifier (parameter_list "(undefined4 param_1,int param_2,undefined4 param_3,undefined **param_4,\n                 undefined **param_5,undefined4 param_6,undefined4 *param_7,int param_8,\n                 undefined4 param_9,undefined4 param_10,undefined *param_11,int param_12)" ( (parameter_declaration "undefined4 param_1" type_identifier identifier) , (parameter_declaration "int param_2" primitive_type identifier) , (parameter_declaration "undefined4 param_3" type_identifier identifier) , (parameter_declaration "undefined **param_4" type_identifier (pointer_declarator "**param_4" * (pointer_declarator "*param_4" * identifier))) , (parameter_declaration "undefined **param_5" type_identifier (pointer_declarator "**param_5" * (pointer_declarator "*param_5" * identifier))) , (parameter_declaration "undefined4 param_6" type_identifier identifier) , (parameter_declaration "undefined4 *param_7" type_identifier (pointer_declarator "*param_7" * identifier)) , (parameter_declaration "int param_8" primitive_type identifier) , (parameter_declaration "undefined4 param_9" type_identifier identifier) , (parameter_declaration "undefined4 param_10" type_identifier identifier) , (parameter_declaration "undefined *param_11" type_identifier (pointer_declarator "*param_11" * identifier)) , (parameter_declaration "int param_12" primitive_type identifier) ))) (compound_statement "{\n  undefined4 *puVar1;\n  uint uVar2;\n  int iVar3;\n  code *pcVar4;\n  undefined ***pppuVar5;\n  size_t sVar6;\n  undefined *puVar7;\n  undefined4 uVar8;\n  byte *pbVar9;\n  int iVar10;\n  int iVar11;\n  int iVar12;\n  byte bVar13;\n  undefined **ppuVar14;\n  undefined *puVar15;\n  uint uVar16;\n  undefined1 *puVar17;\n  int *piVar18;\n  undefined **unaff_ESI;\n  int iVar19;\n  byte *pbVar20;\n  uint uVar21;\n  byte *pbVar22;\n  undefined **ppuVar23;\n  bool bVar24;\n  bool bVar25;\n  bool bVar26;\n  byte bVar27;\n  int iStack_100;\n  undefined1 auStack_fc [4];\n  byte *local_f8;\n  int *local_f4;\n  undefined **local_f0;\n  int local_ec;\n  undefined **local_e8;\n  int local_e4;\n  undefined1 *local_e0;\n  int *local_dc;\n  byte *local_d8;\n  char local_d2;\n  char local_d1;\n  int local_d0;\n  int local_cc;\n  int local_c8;\n  undefined *local_c4;\n  undefined **local_c0;\n  undefined *local_bc;\n  undefined **local_b8;\n  undefined **local_b4;\n  undefined ***local_b0;\n  int local_ac;\n  int local_a8;\n  undefined1 local_a4 [12];\n  undefined ***local_98;\n  undefined ***local_94;\n  int local_90;\n  int local_8c;\n  undefined ***local_88;\n  undefined ***local_84;\n  undefined **local_80;\n  uint local_7c;\n  undefined **local_78;\n  undefined **local_74;\n  undefined **local_70;\n  undefined **local_6c;\n  undefined **local_68;\n  undefined **local_64;\n  int local_60;\n  int local_5c;\n  undefined4 local_58;\n  undefined4 local_54;\n  undefined1 local_50;\n  byte *local_4c [2];\n  byte local_44 [16];\n  undefined **local_34;\n  undefined **local_30;\n  undefined *local_2c;\n  int local_28;\n  \n  bVar27 = 0;\n  local_b8 = &__DT_PLTGOT;\n  local_dc = &DAT_005ea7c8;\n  local_60 = 0;\n  local_5c = 0;\n  iVar19 = *(int *)(DAT_005ea7c8 + 8);\n  local_58 = 0;\n  local_54 = 0;\n  local_50 = 0;\n  if (iVar19 == 0) {\n    iStack_100 = iVar19;\n                    \n                    \n    FUN_002446e0("../../gold/parameters.h",0x5c,"options");\n  }\n  if (*(int *)(iVar19 + 0x5934) == 0) {\n    local_f8 = local_44;\n    iStack_100 = 0;\n    local_4c[0] = local_f8;\n                    \n    FUN_00072b90(local_4c,"","");\n    piVar18 = (int *)auStack_fc;\n  }\n  else {\n    unaff_ESI = &__DT_PLTGOT;\n    if (*(code **)(*param_4 + 0x40) == FUN_00106550) {\n                    \n      FUN_001063c0(local_4c,param_4 + 0x24,param_5);\n      unaff_ESI = param_4;\n    }\n    else {\n                    \n      (**(code **)(*param_4 + 0x40))(local_4c,param_4,param_5);\n    }\n    local_f8 = local_44;\n    piVar18 = &iStack_100;\n  }\n  pbVar20 = local_4c[0];\n  iVar19 = *local_dc;\n  if (*(int *)(iVar19 + 8) == 0) {\n    *(int *)((int)piVar18 + -4) = iVar19;\n    *(undefined ***)((int)piVar18 + -8) = local_b8 + -0x61176;\n    *(undefined4 *)((int)piVar18 + -0xc) = 0x5c;\n    *(int *)((int)piVar18 + -0x10) = (int)local_b8 + -0x1a1d93;\n                    \n    *(undefined4 *)((int)piVar18 + -0x14) = 0xd3001;\n    FUN_002446e0();\n  }\n  if (*(int *)(*(int *)(iVar19 + 8) + 0x5934) == 0) {\nLAB_000d22e5:\n    local_d1 = '\0';\n    local_ec = 0;\n    local_d0 = 0;\n    local_e8 = (undefined **)0x0;\n    local_cc = 0;\n    local_c8 = 0;\n  }\n  else {\n    local_b4 = &local_2c;\n    local_34 = local_b4;\n    pbVar9 = (byte *)0xffffffff;\n    if (local_4c[0] != (byte *)0x0) {\n      *(byte **)((int)piVar18 + -0x10) = local_4c[0];\n      *(undefined4 *)((int)piVar18 + -0x14) = 0xd2df7;\n      sVar6 = strlen(*(char **)((int)piVar18 + -0x10));\n      pbVar9 = pbVar20 + sVar6;\n    }\n    *(undefined4 *)((int)piVar18 + -4) = 0;\n    *(byte **)((int)piVar18 + -8) = pbVar9;\n    local_b0 = &local_34;\n    *(byte **)((int)piVar18 + -0xc) = pbVar20;\n    *(undefined ****)((int)piVar18 + -0x10) = local_b0;\n                    \n    *(undefined4 *)((int)piVar18 + -0x14) = 0xd2e0f;\n    FUN_00072b90();\n    iVar19 = 5;\n    bVar24 = (undefined1 *)0xffffffef < (undefined1 *)((int)piVar18 + -0x10);\n    bVar26 = piVar18 == (int *)0x0;\n    ppuVar14 = local_b8 + -0x67293;\n    ppuVar23 = local_34;\n    do {\n      if (iVar19 == 0) break;\n      iVar19 = iVar19 + -1;\n      bVar24 = *(byte *)ppuVar14 < *(byte *)ppuVar23;\n      bVar26 = *(byte *)ppuVar14 == *(byte *)ppuVar23;\n      ppuVar14 = (undefined **)((int)ppuVar14 + (uint)bVar27 * -2 + 1);\n      ppuVar23 = (undefined **)((int)ppuVar23 + (uint)bVar27 * -2 + 1);\n    } while (bVar26);\n    bVar25 = false;\n    bVar24 = (!bVar24 && !bVar26) == bVar24;\n    if (!bVar24) {\n      iVar19 = 0xf;\n      ppuVar14 = (undefined **)((int)local_b8 + -0x19ca46);\n      ppuVar23 = local_34;\n      do {\n        unaff_ESI = ppuVar14;\n        if (iVar19 == 0) break;\n        iVar19 = iVar19 + -1;\n        unaff_ESI = (undefined **)((int)ppuVar14 + (uint)bVar27 * -2 + 1);\n        bVar25 = *(byte *)ppuVar14 < *(byte *)ppuVar23;\n        bVar24 = *(byte *)ppuVar14 == *(byte *)ppuVar23;\n        ppuVar14 = unaff_ESI;\n        ppuVar23 = (undefined **)((int)ppuVar23 + (uint)bVar27 * -2 + 1);\n      } while (bVar24);\n      if ((!bVar25 && !bVar24) != bVar25) {\n        if (local_34 == local_b4) {\n          iVar19 = *local_dc;\n        }\n        else {\n          *(undefined ***)((int)piVar18 + -0x10) = local_34;\n          *(undefined4 *)((int)piVar18 + -0x14) = 0xd2ee3;\n          FUN_003ae080();\n          iVar19 = *local_dc;\n        }\n        goto LAB_000d22e5;\n      }\n    }\n    if (local_34 != local_b4) {\n      *(undefined ***)((int)piVar18 + -0x10) = local_34;\n      *(undefined4 *)((int)piVar18 + -0x14) = 0xd3010;\n      FUN_003ae080();\n    }\n    *(undefined ****)((int)piVar18 + -0xc) = local_b0;\n    local_34 = param_4;\n    local_30 = param_5;\n    local_b0 = *(undefined ****)(param_2 + 0x15c);\n    *(undefined ****)((int)piVar18 + -0x10) = local_b0 + 0x15;\n    *(undefined4 *)((int)piVar18 + -0x14) = 0xd2e84;\n    local_c8 = FUN_00074520();\n    local_cc = local_c8 + 0xc;\n    unaff_ESI = (undefined **)(local_c8 + 0x18);\n    local_d0 = local_c8 + 0x24;\n    local_ec = local_c8 + 0x30;\n    iVar19 = *local_dc;\n    local_d1 = '\x01';\n    local_e8 = unaff_ESI;\n  }\n  if (*(int *)(iVar19 + 8) == 0) {\n    *(undefined ***)((int)piVar18 + -4) = unaff_ESI;\n    *(undefined ***)((int)piVar18 + -8) = local_b8 + -0x61176;\n    *(undefined4 *)((int)piVar18 + -0xc) = 0x5c;\n    *(int *)((int)piVar18 + -0x10) = (int)local_b8 + -0x1a1d93;\n                    \n                    \n    *(undefined4 *)((int)piVar18 + -0x14) = 0xd2fe5;\n    FUN_002446e0();\n  }\n  local_d2 = '\0';\n  if (*(int *)(*(int *)(iVar19 + 8) + 0x5934) == 2) {\n    *(undefined4 *)((int)piVar18 + -0x10) = param_1;\n    *(undefined4 *)((int)piVar18 + -0x14) = 0xd2ceb;\n    local_d2 = FUN_000aaa70();\n    bVar24 = false;\n    bVar26 = local_d2 == '\0';\n    if (!bVar26) {\n      iVar19 = 0xc;\n      local_d2 = '\0';\n      ppuVar14 = local_b8 + -0x66894;\n      pbVar20 = local_4c[0];\n      do {\n        if (iVar19 == 0) break;\n        iVar19 = iVar19 + -1;\n        bVar24 = *(byte *)ppuVar14 < *pbVar20;\n        bVar26 = *(byte *)ppuVar14 == *pbVar20;\n        ppuVar14 = (undefined **)((int)ppuVar14 + (uint)bVar27 * -2 + 1);\n        pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n      } while (bVar26);\n      bVar25 = false;\n      bVar24 = (!bVar24 && !bVar26) == bVar24;\n      if (!bVar24) {\n        iVar19 = 0x11;\n        pbVar20 = (byte *)((int)local_b8 + -0x19a243);\n        pbVar9 = local_4c[0];\n        do {\n          if (iVar19 == 0) break;\n          iVar19 = iVar19 + -1;\n          bVar25 = *pbVar20 < *pbVar9;\n          bVar24 = *pbVar20 == *pbVar9;\n          pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n          pbVar9 = pbVar9 + (uint)bVar27 * -2 + 1;\n        } while (bVar24);\n        bVar26 = false;\n        bVar24 = (!bVar25 && !bVar24) == bVar25;\n        if (!bVar24) {\n          iVar19 = 0xc;\n          pbVar20 = (byte *)((int)local_b8 + -0x19a231);\n          pbVar9 = local_4c[0];\n          do {\n            if (iVar19 == 0) break;\n            iVar19 = iVar19 + -1;\n            bVar26 = *pbVar20 < *pbVar9;\n            bVar24 = *pbVar20 == *pbVar9;\n            pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n            pbVar9 = pbVar9 + (uint)bVar27 * -2 + 1;\n          } while (bVar24);\n          bVar25 = false;\n          bVar24 = (!bVar26 && !bVar24) == bVar26;\n          if (!bVar24) {\n            iVar19 = 0x11;\n            ppuVar14 = local_b8 + -0x66889;\n            pbVar20 = local_4c[0];\n            do {\n              if (iVar19 == 0) break;\n              iVar19 = iVar19 + -1;\n              bVar25 = *(byte *)ppuVar14 < *pbVar20;\n              bVar24 = *(byte *)ppuVar14 == *pbVar20;\n              ppuVar14 = (undefined **)((int)ppuVar14 + (uint)bVar27 * -2 + 1);\n              pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n            } while (bVar24);\n            bVar26 = false;\n            bVar24 = (!bVar25 && !bVar24) == bVar25;\n            if (!bVar24) {\n              iVar19 = 9;\n              pbVar20 = (byte *)((int)local_b8 + -0x19a212);\n              pbVar9 = local_4c[0];\n              do {\n                if (iVar19 == 0) break;\n                iVar19 = iVar19 + -1;\n                bVar26 = *pbVar20 < *pbVar9;\n                bVar24 = *pbVar20 == *pbVar9;\n                pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n                pbVar9 = pbVar9 + (uint)bVar27 * -2 + 1;\n              } while (bVar24);\n              local_d2 = (!bVar26 && !bVar24) != bVar26;\n            }\n          }\n        }\n      }\n    }\n  }\n  if (param_8 != 0) {\n    local_d8 = (byte *)0x0;\n    local_e0 = local_a4;\n    local_f4 = &local_8c;\n    local_e4 = 0;\n    do {\n      uVar2 = param_7[1];\n      uVar21 = uVar2 & 0xff;\n      puVar15 = (undefined *)(uVar2 >> 8);\n      local_bc = (undefined *)param_7[2];\n      if (puVar15 < param_11) {\n        if (param_12 == 0) {\n          *(undefined ***)((int)piVar18 + -8) = local_b8 + -0x615ed;\n          *(undefined4 *)((int)piVar18 + -0xc) = 0xea;\n          *(int *)((int)piVar18 + -0x10) = (int)local_b8 + -0x19ca36;\n                    \n                    \n          *(undefined **)((int)piVar18 + -0x14) = &UNK_000d2f49;\n          FUN_002446e0();\n        }\n        iVar19 = (int)puVar15 * 0x10 + param_12;\n        local_b4 = (undefined **)(uint)*(ushort *)(iVar19 + 0xe);\n        if (local_b4 < (undefined **)0xff00) {\nLAB_000d24ee:\n          ppuVar14 = *(undefined ***)(iVar19 + 4);\n          local_c4 = local_bc + (int)ppuVar14;\n          if (local_d1 != '\0') {\n            local_34 = param_4;\n            local_30 = local_b4;\n            local_b0 = &local_34;\n            *(undefined ****)((int)piVar18 + -0xc) = local_b0;\n            *(int *)((int)piVar18 + -0x10) = local_c8;\n            *(undefined4 *)((int)piVar18 + -0x14) = 0xd2533;\n            FUN_00073b00();\n            local_c0 = (undefined **)CONCAT31(local_c0._1_3_,1);\n            if ((*(byte *)(iVar19 + 0xc) & 0xf) == 3) goto LAB_000d254c;\nLAB_000d23e8:\n            *(undefined ****)((int)piVar18 + -0xc) = local_b0;\n            *(int *)((int)piVar18 + -0x10) = local_cc;\n            local_34 = (undefined **)0x0;\n            *(undefined4 *)((int)piVar18 + -0x14) = 0xd2403;\n            FUN_00073ca0();\n            goto LAB_000d2403;\n          }\n        }\n        else {\n          if (local_b4 == (undefined **)0xffff) {\n            puVar7 = param_4[0xc];\n            if (puVar7 == (undefined *)0x0) {\n              puVar7 = *param_4;\n              *(undefined ***)((int)piVar18 + -0x10) = param_4;\n              pcVar4 = *(code **)(puVar7 + 0x6c);\n              *(undefined4 *)((int)piVar18 + -0x14) = 0xd2a4e;\n              puVar7 = (undefined *)(*pcVar4)();\n              param_4[0xc] = puVar7;\n            }\n            *(undefined **)((int)piVar18 + -8) = puVar15;\n            *(undefined ***)((int)piVar18 + -0xc) = param_4;\n            *(undefined **)((int)piVar18 + -0x10) = puVar7;\n            *(undefined4 *)((int)piVar18 + -0x14) = 0xd2591;\n            local_b4 = (undefined **)FUN_0028b7d0();\n            goto LAB_000d24ee;\n          }\n          ppuVar14 = *(undefined ***)(iVar19 + 4);\n          local_c4 = local_bc + (int)ppuVar14;\n          if (local_d1 == '\0') goto LAB_000d2489;\n          local_b0 = &local_34;\n          local_34 = (undefined **)0x0;\n          *(undefined ****)((int)piVar18 + -0xc) = local_b0;\n          *(int *)((int)piVar18 + -0x10) = local_c8;\n          local_30 = (undefined **)0x0;\n                    \n          *(undefined4 *)((int)piVar18 + -0x14) = 0xd23cf;\n          FUN_00073b00();\n          local_c0 = (undefined **)((uint)local_c0 & 0xffffff00);\n          if ((*(byte *)(iVar19 + 0xc) & 0xf) != 3) goto LAB_000d23e8;\nLAB_000d254c:\n          *(undefined ****)((int)piVar18 + -0xc) = local_b0;\n          *(int *)((int)piVar18 + -0x10) = local_cc;\n          local_34 = (undefined **)0xffffffff;\n          *(undefined4 *)((int)piVar18 + -0x14) = 0xd2567;\n          FUN_00073ca0();\nLAB_000d2403:\n          *(undefined ****)((int)piVar18 + -0xc) = local_b0;\n          *(undefined ***)((int)piVar18 + -0x10) = local_e8;\n          local_2c = local_bc;\n          local_28 = (int)local_bc >> 0x1f;\n          local_30 = (undefined **)0x0;\n          *(undefined4 *)((int)piVar18 + -0x14) = 0xd2433;\n          local_34 = ppuVar14;\n          FUN_00073e70();\n          local_30 = (undefined **)0x0;\n          local_34 = (undefined **)*param_7;\n          puVar1 = *(undefined4 **)(local_d0 + 4);\n          if (puVar1 == *(undefined4 **)(local_d0 + 8)) {\n            *(undefined ****)((int)piVar18 + -8) = local_b0;\n            *(undefined4 **)((int)piVar18 + -0xc) = puVar1;\n            *(int *)((int)piVar18 + -0x10) = local_d0;\n            *(undefined4 *)((int)piVar18 + -0x14) = 0xd2b0d;\n            FUN_00072a40();\n          }\n          else {\n            *puVar1 = local_34;\n            puVar1[1] = 0;\n            *(undefined4 **)(local_d0 + 4) = puVar1 + 2;\n          }\n          local_68 = (undefined **)0x0;\n          *(undefined ****)((int)piVar18 + -0xc) = &local_68;\n          *(int *)((int)piVar18 + -0x10) = local_ec;\n          *(undefined4 *)((int)piVar18 + -0x14) = 0xd2479;\n          FUN_00074020();\n          if ((char)local_c0 == '\0') goto LAB_000d2489;\n        }\n        if (((local_d2 != '\0') && ((*(byte *)(iVar19 + 0xc) & 0xf) != 1)) &&\n           ((0x17 < uVar21 || ((0x843f84U >> (uVar2 & 0x1f) & 1) == 0)))) {\n          local_b0 = *(undefined ****)(param_2 + 0x15c);\n          local_80 = param_4;\n          local_7c = (uint)*(ushort *)(iVar19 + 0xe);\n          *(undefined4 *)((int)piVar18 + -0xc) = 1;\n          *(undefined4 *)((int)piVar18 + -0x10) = 0;\n          local_98 = local_b0 + 0xd;\n          *(undefined *****)((int)piVar18 + -0x14) = &local_98;\n          *(undefined ****)((int)piVar18 + -0x18) = &local_80;\n          *(undefined ****)((int)piVar18 + -0x1c) = local_98;\n          *(undefined1 **)((int)piVar18 + -0x20) = local_e0;\n          *(undefined4 *)((int)piVar18 + -0x24) = 0xd2ad1;\n          FUN_00074280();\n          piVar18 = (int *)((int)piVar18 + -4);\n        }\n        if (param_5 != local_b4) {\n          local_c0 = param_4;\n          puVar17 = (undefined1 *)piVar18;\nLAB_000d275e:\n          if (*(int *)(*local_dc + 8) == 0) {\n            *(undefined ***)(puVar17 + -8) = local_b8 + -0x61176;\n            *(undefined4 *)(puVar17 + -0xc) = 0x5c;\n            *(int *)(puVar17 + -0x10) = (int)local_b8 + -0x1a1d93;\n                    \n            *(undefined4 *)(puVar17 + -0x14) = 0xd2f6e;\n            FUN_002446e0();\n          }\n          piVar18 = (int *)puVar17;\n          if (*(char *)(*(int *)(*local_dc + 8) + 0x18b1) != '\0') {\n            local_70 = param_4;\n            iVar19 = *(int *)(param_2 + 0x158) + 0x14;\n            local_6c = param_5;\n            local_68 = local_c0;\n            local_64 = local_b4;\n            iVar3 = *(int *)(*(int *)(param_2 + 0x158) + 0x18);\n            iVar10 = iVar19;\n            if (iVar3 == 0) {\nLAB_000d27f0:\n              local_88 = &local_70;\n              *(undefined *****)(puVar17 + -0x10) = &local_88;\n              *(undefined4 *)(puVar17 + -0x14) = 0xd2811;\n              FUN_000c5e40();\n              iVar11 = local_a8;\n            }\n            else {\n              do {\n                while ((iVar11 = iVar3, *(undefined ***)(iVar11 + 0x10) < param_4 ||\n                       ((param_4 == *(undefined ***)(iVar11 + 0x10) &&\n                        (*(undefined ***)(iVar11 + 0x14) < param_5))))) {\n                  piVar18 = (int *)(iVar11 + 0xc);\n                  iVar3 = *piVar18;\n                  iVar11 = iVar10;\n                  if (*piVar18 == 0) goto LAB_000d27da;\n                }\n                iVar3 = *(int *)(iVar11 + 8);\n                iVar10 = iVar11;\n              } while (*(int *)(iVar11 + 8) != 0);\nLAB_000d27da:\n              if (((iVar19 == iVar11) || (param_4 < *(undefined ***)(iVar11 + 0x10))) ||\n                 ((param_4 == *(undefined ***)(iVar11 + 0x10) &&\n                  (param_5 < *(undefined ***)(iVar11 + 0x14))))) goto LAB_000d27f0;\n            }\n            local_8c = iVar11 + 0x18;\n            *(undefined4 *)(puVar17 + -0xc) = 1;\n            *(undefined4 *)(puVar17 + -0x10) = 0;\n            *(int **)(puVar17 + -0x14) = local_f4;\n            *(undefined ****)(puVar17 + -0x18) = &local_68;\n            *(int *)(puVar17 + -0x1c) = local_8c;\n            *(undefined1 **)(puVar17 + -0x20) = local_e0;\n            *(undefined4 *)(puVar17 + -0x24) = 0xd2840;\n            FUN_00074340();\n            piVar18 = *(int **)(*local_dc + 0xc);\n            if (piVar18 == (int *)0x0) {\n              *(undefined ***)(puVar17 + -0xc) = local_b8 + -0x615c4;\n              *(undefined4 *)(puVar17 + -0x10) = 0x73;\n              *(int *)(puVar17 + -0x14) = (int)local_b8 + -0x1a1d93;\n                    \n              *(undefined4 *)(puVar17 + -0x18) = 0xd2fad;\n              FUN_002446e0();\n            }\n            iVar19 = *piVar18;\n            *(undefined **)(puVar17 + -0xc) = local_c4;\n            *(undefined ***)(puVar17 + -0x10) = local_b4;\n            *(undefined ***)(puVar17 + -0x14) = local_c0;\n            *(undefined ***)(puVar17 + -0x18) = param_5;\n            *(undefined ***)(puVar17 + -0x1c) = param_4;\n            *(int *)(puVar17 + -0x20) = param_2;\n            *(int **)(puVar17 + -0x24) = piVar18;\n            pcVar4 = *(code **)(iVar19 + 0x104);\n            *(undefined4 *)(puVar17 + -0x28) = 0xd287d;\n            (*pcVar4)();\n            pbVar20 = local_d8;\n            piVar18 = (int *)(puVar17 + -4);\n            if (local_d8 != (byte *)0x0) {\n              local_b4 = &local_2c;\n              local_b0 = &local_34;\n              iVar19 = *(int *)(param_2 + 0x158);\n              *(byte **)(puVar17 + -0x14) = local_d8;\n              local_34 = local_b4;\n              *(undefined4 *)(puVar17 + -0x18) = 0xd28bd;\n              sVar6 = strlen(*(char **)(puVar17 + -0x14));\n              pppuVar5 = local_b0;\n              *(undefined4 *)(puVar17 + -8) = 0;\n              *(byte **)(puVar17 + -0xc) = pbVar20 + sVar6;\n              *(byte **)(puVar17 + -0x10) = pbVar20;\n              *(undefined ****)(puVar17 + -0x14) = local_b0;\n              *(undefined4 *)(puVar17 + -0x18) = 0xd28d2;\n              FUN_00072b90();\n              *(undefined ****)(puVar17 + -0xc) = pppuVar5;\n              *(int *)(puVar17 + -0x10) = iVar19 + 0x44;\n              *(int **)(puVar17 + -0x14) = &local_ac;\n              *(undefined4 *)(puVar17 + -0x18) = 0xd28e6;\n              FUN_00094bd0();\n              iVar19 = local_ac;\n              if (local_34 != local_b4) {\n                *(undefined ***)(puVar17 + -0x18) = local_34;\n                *(undefined4 *)(puVar17 + -0x1c) = 0xd2909;\n                FUN_003ae080();\n              }\n              piVar18 = (int *)(puVar17 + -8);\n              iVar3 = *(int *)(param_2 + 0x158);\n              if (iVar19 != iVar3 + 0x48) {\n                local_34 = param_4;\n                local_30 = param_5;\n                iVar10 = *(int *)(iVar3 + 0x18);\n                iVar11 = iVar3 + 0x14;\n                if (*(int *)(iVar3 + 0x18) == 0) {\nLAB_000d2bd8:\n                  *(undefined *****)(puVar17 + -0x18) = &local_84;\n                  local_84 = local_b0;\n                  *(undefined4 *)(puVar17 + -0x1c) = 0xd2bf6;\n                  FUN_000c5e40();\n                  iVar12 = local_a8;\n                }\n                else {\n                  do {\n                    while ((iVar12 = iVar10, *(undefined ***)(iVar12 + 0x10) < param_4 ||\n                           ((param_4 == *(undefined ***)(iVar12 + 0x10) &&\n                            (*(undefined ***)(iVar12 + 0x14) < param_5))))) {\n                      piVar18 = (int *)(iVar12 + 0xc);\n                      iVar10 = *piVar18;\n                      iVar12 = iVar11;\n                      if (*piVar18 == 0) goto LAB_000d2962;\n                    }\n                    iVar10 = *(int *)(iVar12 + 8);\n                    iVar11 = iVar12;\n                  } while (*(int *)(iVar12 + 8) != 0);\nLAB_000d2962:\n                  if (((iVar12 == iVar3 + 0x14) || (param_4 < *(undefined ***)(iVar12 + 0x10))) ||\n                     ((param_4 == *(undefined ***)(iVar12 + 0x10) &&\n                      (param_5 < *(undefined ***)(iVar12 + 0x14))))) goto LAB_000d2bd8;\n                }\n                piVar18 = (int *)(puVar17 + -8);\n                puVar17 = puVar17 + -8;\n                for (puVar1 = *(undefined4 **)(iVar19 + 0x30); puVar1 != (undefined4 *)0x0;\n                    puVar1 = (undefined4 *)*puVar1) {\n                  *(undefined4 *)(puVar17 + -0xc) = 1;\n                  *(undefined4 *)(puVar17 + -0x10) = 0;\n                  *(int **)(puVar17 + -0x14) = &local_90;\n                  *(undefined4 **)(puVar17 + -0x18) = puVar1 + 1;\n                  *(int *)(puVar17 + -0x1c) = iVar12 + 0x18;\n                  *(undefined1 **)(puVar17 + -0x20) = local_e0;\n                  *(undefined4 *)(puVar17 + -0x24) = 0xd29ae;\n                  local_90 = iVar12 + 0x18;\n                  FUN_00074340();\n                  piVar18 = (int *)(puVar17 + -4);\n                  puVar17 = puVar17 + -4;\n                }\n              }\n            }\n          }\n        }\n      }\n      else {\n        if (puVar15 < param_4[0x2c]) {\n          local_70 = (undefined **)0x0;\nLAB_000d2a1f:\n          *(undefined ***)((int)piVar18 + -8) = local_b8 + -0x615ed;\n          *(undefined4 *)((int)piVar18 + -0xc) = 0x11c;\n          *(int *)((int)piVar18 + -0x10) = (int)local_b8 + -0x19ca36;\n                    \n          *(undefined4 *)((int)piVar18 + -0x14) = 0xd2a40;\n          FUN_002446e0();\n        }\n        uVar16 = (int)puVar15 - (int)param_4[0x2c];\n        local_b0 = (undefined ***)param_4[0x30];\n        if ((uint)((int)local_b0 - (int)param_4[0x2f] >> 2) <= uVar16) {\n          *(undefined ***)((int)piVar18 + -8) = local_b8 + -0x6156c;\n          *(undefined4 *)((int)piVar18 + -0xc) = 0x8ad;\n          *(int *)((int)piVar18 + -0x10) = (int)local_b8 + -0x19cc7b;\n                    \n          *(undefined4 *)((int)piVar18 + -0x14) = 0xd2f8f;\n          FUN_002446e0();\n        }\n        local_70 = *(undefined ***)(param_4[0x2f] + uVar16 * 4);\n        if (local_70 == (undefined **)0x0) goto LAB_000d2a1f;\n        if ((*(byte *)((int)local_70 + 0x2a) & 0x10) == 0) {\n          if ((*(byte *)((int)local_70 + 0x2a) & 7) == 0) goto LAB_000d25f7;\nLAB_000d29e2:\n          local_f0 = (undefined **)local_70[0xc];\n          bVar13 = 0;\n          local_b4 = (undefined **)0x0;\n          local_c0 = (undefined **)0x0;\n          bVar24 = CARRY4((uint)local_bc,(uint)local_f0);\n          local_c4 = local_bc + (int)local_f0;\n          bVar26 = local_c4 == (undefined *)0x0;\n        }\n        else {\n          *(undefined ***)((int)piVar18 + -0xc) = local_70;\n          *(int *)((int)piVar18 + -0x10) = param_2;\n          *(undefined4 *)((int)piVar18 + -0x14) = 0xd29d2;\n          local_70 = (undefined **)FUN_0034cd90();\n          if ((*(byte *)((int)local_70 + 0x2a) & 7) != 0) goto LAB_000d29e2;\nLAB_000d25f7:\n          local_f0 = (undefined **)local_70[0xc];\n          local_c0 = (undefined **)local_70[2];\n          local_c4 = local_bc + (int)local_f0;\n          if (((uint)local_c0[0xb] & 1) == 0) {\n            local_b4 = (undefined **)local_70[3];\n            bVar13 = *(byte *)((int)local_70 + 0x2b) >> 5 & 1;\n            bVar24 = (*(byte *)(local_70 + 10) & 0xf) < 2;\n            bVar26 = (*(byte *)(local_70 + 10) & 0xf) == 2;\n            if (bVar26) {\n              bVar24 = false;\n              bVar26 = local_d2 == '\0';\n              if ((!bVar26) &&\n                 (((bVar13 == 0 || (bVar26 = uVar21 == 0x17, 0x17 < uVar21)) ||\n                  (bVar24 = (0x843f84U >> (uVar2 & 0x1f) & 1) != 0, !bVar24)))) {\n                local_b0 = *(undefined ****)(param_2 + 0x15c);\n                *(undefined4 *)((int)piVar18 + -0xc) = 1;\n                *(undefined4 *)((int)piVar18 + -0x10) = 0;\n                *(undefined *****)((int)piVar18 + -0x14) = &local_94;\n                *(undefined ****)((int)piVar18 + -0x18) = &local_78;\n                local_94 = local_b0 + 0xd;\n                *(undefined ****)((int)piVar18 + -0x1c) = local_94;\n                *(undefined1 **)((int)piVar18 + -0x20) = local_e0;\n                    \n                *(undefined4 *)((int)piVar18 + -0x24) = 0xd2ccb;\n                local_78 = local_c0;\n                local_74 = local_b4;\n                FUN_00074280();\n                bVar24 = (undefined1 *)0xffffffe3 < (undefined1 *)((int)piVar18 + -0x20);\n                bVar26 = piVar18 == (int *)0x4;\n                piVar18 = (int *)((int)piVar18 + -4);\n              }\n            }\n          }\n          else {\n            local_b4 = (undefined **)0x0;\n            bVar24 = false;\n            bVar13 = 0;\n            bVar26 = true;\n            local_c0 = (undefined **)0x0;\n          }\n        }\n        pbVar20 = *local_70;\n        iVar19 = 8;\n        pbVar9 = (byte *)((int)local_b8 + -0x19ca26);\n        pbVar22 = pbVar20;\n        do {\n          if (iVar19 == 0) break;\n          iVar19 = iVar19 + -1;\n          bVar24 = *pbVar9 < *pbVar22;\n          bVar26 = *pbVar9 == *pbVar22;\n          pbVar9 = pbVar9 + (uint)bVar27 * -2 + 1;\n          pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n        } while (bVar26);\n        bVar25 = false;\n        bVar24 = (!bVar24 && !bVar26) == bVar24;\n        if (bVar24) {\n          pbVar20 = pbVar20 + 8;\n        }\n        else {\n          iVar19 = 7;\n          pbVar9 = (byte *)((int)local_b8 + -0x19ca1d);\n          pbVar22 = pbVar20;\n          do {\n            if (iVar19 == 0) break;\n            iVar19 = iVar19 + -1;\n            bVar25 = *pbVar9 < *pbVar22;\n            bVar24 = *pbVar9 == *pbVar22;\n            pbVar9 = pbVar9 + (uint)bVar27 * -2 + 1;\n            pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n          } while (bVar24);\n          pbVar20 = pbVar20 + 7;\n          if ((!bVar25 && !bVar24) != bVar25) {\n            pbVar20 = local_d8;\n          }\n        }\n        local_d8 = pbVar20;\n        if (local_d1 != '\0') {\n          if (bVar13 == 0) {\n            local_34 = (undefined **)0x0;\n            local_30 = (undefined **)0x0;\n          }\n          else {\n            local_34 = local_c0;\n            local_30 = local_b4;\n          }\n          local_b0 = &local_34;\n          *(undefined ****)((int)piVar18 + -0xc) = local_b0;\n          *(int *)((int)piVar18 + -0x10) = local_c8;\n          *(undefined4 *)((int)piVar18 + -0x14) = 0xd26b9;\n          FUN_00073b00();\n          puVar1 = *(undefined4 **)(local_cc + 4);\n          if (puVar1 == *(undefined4 **)(local_cc + 8)) {\n            *(undefined ****)((int)piVar18 + -8) = &local_70;\n            *(undefined4 **)((int)piVar18 + -0xc) = puVar1;\n            *(int *)((int)piVar18 + -0x10) = local_cc;\n            *(undefined4 *)((int)piVar18 + -0x14) = 0xd2b4b;\n            FUN_000726c0();\n          }\n          else {\n            *puVar1 = local_70;\n            *(undefined4 **)(local_cc + 4) = puVar1 + 1;\n          }\n          *(undefined ****)((int)piVar18 + -0xc) = local_b0;\n          *(undefined ***)((int)piVar18 + -0x10) = local_e8;\n          local_34 = local_f0;\n          local_30 = (undefined **)0x0;\n          local_2c = local_bc;\n          local_28 = (int)local_bc >> 0x1f;\n          *(undefined4 *)((int)piVar18 + -0x14) = 0xd270d;\n          FUN_00073e70();\n          local_30 = (undefined **)0x0;\n          local_34 = (undefined **)*param_7;\n          puVar1 = *(undefined4 **)(local_d0 + 4);\n          if (puVar1 == *(undefined4 **)(local_d0 + 8)) {\n            *(undefined ****)((int)piVar18 + -8) = local_b0;\n            *(undefined4 **)((int)piVar18 + -0xc) = puVar1;\n            *(int *)((int)piVar18 + -0x10) = local_d0;\n            *(undefined4 *)((int)piVar18 + -0x14) = 0xd2bbd;\n            FUN_00072a40();\n          }\n          else {\n            *puVar1 = local_34;\n            puVar1[1] = 0;\n            *(undefined4 **)(local_d0 + 4) = puVar1 + 2;\n          }\n          local_68 = (undefined **)0x0;\n          *(undefined ****)((int)piVar18 + -0xc) = &local_68;\n          *(int *)((int)piVar18 + -0x10) = local_ec;\n          *(undefined4 *)((int)piVar18 + -0x14) = 0xd2753;\n          FUN_00074020();\n        }\n        puVar17 = (undefined1 *)piVar18;\n        if (bVar13 != 0) goto LAB_000d275e;\n      }\nLAB_000d2489:\n      local_e4 = local_e4 + 1;\n      param_7 = param_7 + 3;\n    } while (param_8 != local_e4);\n  }\n  if (local_4c[0] != local_f8) {\n    *(byte **)((int)piVar18 + -0x10) = local_4c[0];\n    *(undefined4 *)((int)piVar18 + -0x14) = 0xd2c22;\n    FUN_003ae080();\n  }\n  if ((local_60 != 0) && (local_5c != 0)) {\n    *(undefined ***)((int)piVar18 + -0x10) = local_b8 + -0x60d6c;\n    *(undefined4 *)((int)piVar18 + -0x14) = 0xd2c4a;\n    uVar8 = gettext();\n    *(undefined4 *)((int)piVar18 + -0x10) = uVar8;\n    uVar8 = local_54;\n    *(undefined4 *)((int)piVar18 + -0x14) = 0;\n    *(undefined4 *)((int)piVar18 + -0x18) = uVar8;\n    *(undefined4 *)((int)piVar18 + -0x1c) = local_58;\n    *(int *)((int)piVar18 + -0x20) = local_5c;\n    *(undefined4 *)((int)piVar18 + -0x24) = 0xd2c5f;\n    FUN_0023bd50();\n  }\n  return;\n}" { (declaration "undefined4 *puVar1;" type_identifier (pointer_declarator "*puVar1" * identifier) ;) (declaration "uint uVar2;" type_identifier identifier ;) (declaration "int iVar3;" primitive_type identifier ;) (declaration "code *pcVar4;" type_identifier (pointer_declarator "*pcVar4" * identifier) ;) (declaration "undefined ***pppuVar5;" type_identifier (pointer_declarator "***pppuVar5" * (pointer_declarator "**pppuVar5" * (pointer_declarator "*pppuVar5" * identifier))) ;) (declaration "size_t sVar6;" primitive_type identifier ;) (declaration "undefined *puVar7;" type_identifier (pointer_declarator "*puVar7" * identifier) ;) (declaration "undefined4 uVar8;" type_identifier identifier ;) (declaration "byte *pbVar9;" type_identifier (pointer_declarator "*pbVar9" * identifier) ;) (declaration "int iVar10;" primitive_type identifier ;) (declaration "int iVar11;" primitive_type identifier ;) (declaration "int iVar12;" primitive_type identifier ;) (declaration "byte bVar13;" type_identifier identifier ;) (declaration "undefined **ppuVar14;" type_identifier (pointer_declarator "**ppuVar14" * (pointer_declarator "*ppuVar14" * identifier)) ;) (declaration "undefined *puVar15;" type_identifier (pointer_declarator "*puVar15" * identifier) ;) (declaration "uint uVar16;" type_identifier identifier ;) (declaration "undefined1 *puVar17;" type_identifier (pointer_declarator "*puVar17" * identifier) ;) (declaration "int *piVar18;" primitive_type (pointer_declarator "*piVar18" * identifier) ;) (declaration "undefined **unaff_ESI;" type_identifier (pointer_declarator "**unaff_ESI" * (pointer_declarator "*unaff_ESI" * identifier)) ;) (declaration "int iVar19;" primitive_type identifier ;) (declaration "byte *pbVar20;" type_identifier (pointer_declarator "*pbVar20" * identifier) ;) (declaration "uint uVar21;" type_identifier identifier ;) (declaration "byte *pbVar22;" type_identifier (pointer_declarator "*pbVar22" * identifier) ;) (declaration "undefined **ppuVar23;" type_identifier (pointer_declarator "**ppuVar23" * (pointer_declarator "*ppuVar23" * identifier)) ;) (declaration "bool bVar24;" primitive_type identifier ;) (declaration "bool bVar25;" primitive_type identifier ;) (declaration "bool bVar26;" primitive_type identifier ;) (declaration "byte bVar27;" type_identifier identifier ;) (declaration "int iStack_100;" primitive_type identifier ;) (declaration "undefined1 auStack_fc [4];" type_identifier (array_declarator "auStack_fc [4]" identifier [ number_literal ]) ;) (declaration "byte *local_f8;" type_identifier (pointer_declarator "*local_f8" * identifier) ;) (declaration "int *local_f4;" primitive_type (pointer_declarator "*local_f4" * identifier) ;) (declaration "undefined **local_f0;" type_identifier (pointer_declarator "**local_f0" * (pointer_declarator "*local_f0" * identifier)) ;) (declaration "int local_ec;" primitive_type identifier ;) (declaration "undefined **local_e8;" type_identifier (pointer_declarator "**local_e8" * (pointer_declarator "*local_e8" * identifier)) ;) (declaration "int local_e4;" primitive_type identifier ;) (declaration "undefined1 *local_e0;" type_identifier (pointer_declarator "*local_e0" * identifier) ;) (declaration "int *local_dc;" primitive_type (pointer_declarator "*local_dc" * identifier) ;) (declaration "byte *local_d8;" type_identifier (pointer_declarator "*local_d8" * identifier) ;) (declaration "char local_d2;" primitive_type identifier ;) (declaration "char local_d1;" primitive_type identifier ;) (declaration "int local_d0;" primitive_type identifier ;) (declaration "int local_cc;" primitive_type identifier ;) (declaration "int local_c8;" primitive_type identifier ;) (declaration "undefined *local_c4;" type_identifier (pointer_declarator "*local_c4" * identifier) ;) (declaration "undefined **local_c0;" type_identifier (pointer_declarator "**local_c0" * (pointer_declarator "*local_c0" * identifier)) ;) (declaration "undefined *local_bc;" type_identifier (pointer_declarator "*local_bc" * identifier) ;) (declaration "undefined **local_b8;" type_identifier (pointer_declarator "**local_b8" * (pointer_declarator "*local_b8" * identifier)) ;) (declaration "undefined **local_b4;" type_identifier (pointer_declarator "**local_b4" * (pointer_declarator "*local_b4" * identifier)) ;) (declaration "undefined ***local_b0;" type_identifier (pointer_declarator "***local_b0" * (pointer_declarator "**local_b0" * (pointer_declarator "*local_b0" * identifier))) ;) (declaration "int local_ac;" primitive_type identifier ;) (declaration "int local_a8;" primitive_type identifier ;) (declaration "undefined1 local_a4 [12];" type_identifier (array_declarator "local_a4 [12]" identifier [ number_literal ]) ;) (declaration "undefined ***local_98;" type_identifier (pointer_declarator "***local_98" * (pointer_declarator "**local_98" * (pointer_declarator "*local_98" * identifier))) ;) (declaration "undefined ***local_94;" type_identifier (pointer_declarator "***local_94" * (pointer_declarator "**local_94" * (pointer_declarator "*local_94" * identifier))) ;) (declaration "int local_90;" primitive_type identifier ;) (declaration "int local_8c;" primitive_type identifier ;) (declaration "undefined ***local_88;" type_identifier (pointer_declarator "***local_88" * (pointer_declarator "**local_88" * (pointer_declarator "*local_88" * identifier))) ;) (declaration "undefined ***local_84;" type_identifier (pointer_declarator "***local_84" * (pointer_declarator "**local_84" * (pointer_declarator "*local_84" * identifier))) ;) (declaration "undefined **local_80;" type_identifier (pointer_declarator "**local_80" * (pointer_declarator "*local_80" * identifier)) ;) (declaration "uint local_7c;" type_identifier identifier ;) (declaration "undefined **local_78;" type_identifier (pointer_declarator "**local_78" * (pointer_declarator "*local_78" * identifier)) ;) (declaration "undefined **local_74;" type_identifier (pointer_declarator "**local_74" * (pointer_declarator "*local_74" * identifier)) ;) (declaration "undefined **local_70;" type_identifier (pointer_declarator "**local_70" * (pointer_declarator "*local_70" * identifier)) ;) (declaration "undefined **local_6c;" type_identifier (pointer_declarator "**local_6c" * (pointer_declarator "*local_6c" * identifier)) ;) (declaration "undefined **local_68;" type_identifier (pointer_declarator "**local_68" * (pointer_declarator "*local_68" * identifier)) ;) (declaration "undefined **local_64;" type_identifier (pointer_declarator "**local_64" * (pointer_declarator "*local_64" * identifier)) ;) (declaration "int local_60;" primitive_type identifier ;) (declaration "int local_5c;" primitive_type identifier ;) (declaration "undefined4 local_58;" type_identifier identifier ;) (declaration "undefined4 local_54;" type_identifier identifier ;) (declaration "undefined1 local_50;" type_identifier identifier ;) (declaration "byte *local_4c [2];" type_identifier (pointer_declarator "*local_4c [2]" * (array_declarator "local_4c [2]" identifier [ number_literal ])) ;) (declaration "byte local_44 [16];" type_identifier (array_declarator "local_44 [16]" identifier [ number_literal ]) ;) (declaration "undefined **local_34;" type_identifier (pointer_declarator "**local_34" * (pointer_declarator "*local_34" * identifier)) ;) (declaration "undefined **local_30;" type_identifier (pointer_declarator "**local_30" * (pointer_declarator "*local_30" * identifier)) ;) (declaration "undefined *local_2c;" type_identifier (pointer_declarator "*local_2c" * identifier) ;) (declaration "int local_28;" primitive_type identifier ;) (expression_statement "bVar27 = 0;" (assignment_expression "bVar27 = 0" identifier = number_literal) ;) (expression_statement "local_b8 = &__DT_PLTGOT;" (assignment_expression "local_b8 = &__DT_PLTGOT" identifier = (pointer_expression "&__DT_PLTGOT" & identifier)) ;) (expression_statement "local_dc = &DAT_005ea7c8;" (assignment_expression "local_dc = &DAT_005ea7c8" identifier = (pointer_expression "&DAT_005ea7c8" & identifier)) ;) (expression_statement "local_60 = 0;" (assignment_expression "local_60 = 0" identifier = number_literal) ;) (expression_statement "local_5c = 0;" (assignment_expression "local_5c = 0" identifier = number_literal) ;) (expression_statement "iVar19 = *(int *)(DAT_005ea7c8 + 8);" (assignment_expression "iVar19 = *(int *)(DAT_005ea7c8 + 8)" identifier = (pointer_expression "*(int *)(DAT_005ea7c8 + 8)" * (cast_expression "(int *)(DAT_005ea7c8 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(DAT_005ea7c8 + 8)" ( (binary_expression "DAT_005ea7c8 + 8" identifier + number_literal) ))))) ;) (expression_statement "local_58 = 0;" (assignment_expression "local_58 = 0" identifier = number_literal) ;) (expression_statement "local_54 = 0;" (assignment_expression "local_54 = 0" identifier = number_literal) ;) (expression_statement "local_50 = 0;" (assignment_expression "local_50 = 0" identifier = number_literal) ;) (if_statement "if (iVar19 == 0) {\n    iStack_100 = iVar19;\n                    \n                    \n    FUN_002446e0("../../gold/parameters.h",0x5c,"options");\n  }" if (parenthesized_expression "(iVar19 == 0)" ( (binary_expression "iVar19 == 0" identifier == number_literal) )) (compound_statement "{\n    iStack_100 = iVar19;\n                    \n                    \n    FUN_002446e0("../../gold/parameters.h",0x5c,"options");\n  }" { (expression_statement "iStack_100 = iVar19;" (assignment_expression "iStack_100 = iVar19" identifier = identifier) ;) (expression_statement "FUN_002446e0("../../gold/parameters.h",0x5c,"options");" (call_expression "FUN_002446e0("../../gold/parameters.h",0x5c,"options")" identifier (argument_list "("../../gold/parameters.h",0x5c,"options")" ( (string_literal ""../../gold/parameters.h"" " string_content ") , number_literal , (string_literal ""options"" " string_content ") ))) ;) })) (if_statement "if (*(int *)(iVar19 + 0x5934) == 0) {\n    local_f8 = local_44;\n    iStack_100 = 0;\n    local_4c[0] = local_f8;\n                    \n    FUN_00072b90(local_4c,"","");\n    piVar18 = (int *)auStack_fc;\n  }\n  else {\n    unaff_ESI = &__DT_PLTGOT;\n    if (*(code **)(*param_4 + 0x40) == FUN_00106550) {\n                    \n      FUN_001063c0(local_4c,param_4 + 0x24,param_5);\n      unaff_ESI = param_4;\n    }\n    else {\n                    \n      (**(code **)(*param_4 + 0x40))(local_4c,param_4,param_5);\n    }\n    local_f8 = local_44;\n    piVar18 = &iStack_100;\n  }" if (parenthesized_expression "(*(int *)(iVar19 + 0x5934) == 0)" ( (binary_expression "*(int *)(iVar19 + 0x5934) == 0" (pointer_expression "*(int *)(iVar19 + 0x5934)" * (cast_expression "(int *)(iVar19 + 0x5934)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar19 + 0x5934)" ( (binary_expression "iVar19 + 0x5934" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n    local_f8 = local_44;\n    iStack_100 = 0;\n    local_4c[0] = local_f8;\n                    \n    FUN_00072b90(local_4c,"","");\n    piVar18 = (int *)auStack_fc;\n  }" { (expression_statement "local_f8 = local_44;" (assignment_expression "local_f8 = local_44" identifier = identifier) ;) (expression_statement "iStack_100 = 0;" (assignment_expression "iStack_100 = 0" identifier = number_literal) ;) (expression_statement "local_4c[0] = local_f8;" (assignment_expression "local_4c[0] = local_f8" (subscript_expression "local_4c[0]" identifier [ number_literal ]) = identifier) ;) (expression_statement "FUN_00072b90(local_4c,"","");" (call_expression "FUN_00072b90(local_4c,"","")" identifier (argument_list "(local_4c,"","")" ( identifier , (string_literal """" " ") , (string_literal """" " ") ))) ;) (expression_statement "piVar18 = (int *)auStack_fc;" (assignment_expression "piVar18 = (int *)auStack_fc" identifier = (cast_expression "(int *)auStack_fc" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) }) (else_clause "else {\n    unaff_ESI = &__DT_PLTGOT;\n    if (*(code **)(*param_4 + 0x40) == FUN_00106550) {\n                    \n      FUN_001063c0(local_4c,param_4 + 0x24,param_5);\n      unaff_ESI = param_4;\n    }\n    else {\n                    \n      (**(code **)(*param_4 + 0x40))(local_4c,param_4,param_5);\n    }\n    local_f8 = local_44;\n    piVar18 = &iStack_100;\n  }" else (compound_statement "{\n    unaff_ESI = &__DT_PLTGOT;\n    if (*(code **)(*param_4 + 0x40) == FUN_00106550) {\n                    \n      FUN_001063c0(local_4c,param_4 + 0x24,param_5);\n      unaff_ESI = param_4;\n    }\n    else {\n                    \n      (**(code **)(*param_4 + 0x40))(local_4c,param_4,param_5);\n    }\n    local_f8 = local_44;\n    piVar18 = &iStack_100;\n  }" { (expression_statement "unaff_ESI = &__DT_PLTGOT;" (assignment_expression "unaff_ESI = &__DT_PLTGOT" identifier = (pointer_expression "&__DT_PLTGOT" & identifier)) ;) (if_statement "if (*(code **)(*param_4 + 0x40) == FUN_00106550) {\n                    \n      FUN_001063c0(local_4c,param_4 + 0x24,param_5);\n      unaff_ESI = param_4;\n    }\n    else {\n                    \n      (**(code **)(*param_4 + 0x40))(local_4c,param_4,param_5);\n    }" if (parenthesized_expression "(*(code **)(*param_4 + 0x40) == FUN_00106550)" ( (binary_expression "*(code **)(*param_4 + 0x40) == FUN_00106550" (pointer_expression "*(code **)(*param_4 + 0x40)" * (cast_expression "(code **)(*param_4 + 0x40)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*param_4 + 0x40)" ( (binary_expression "*param_4 + 0x40" (pointer_expression "*param_4" * identifier) + number_literal) )))) == identifier) )) (compound_statement "{\n                    \n      FUN_001063c0(local_4c,param_4 + 0x24,param_5);\n      unaff_ESI = param_4;\n    }" { (expression_statement "FUN_001063c0(local_4c,param_4 + 0x24,param_5);" (call_expression "FUN_001063c0(local_4c,param_4 + 0x24,param_5)" identifier (argument_list "(local_4c,param_4 + 0x24,param_5)" ( identifier , (binary_expression "param_4 + 0x24" identifier + number_literal) , identifier ))) ;) (expression_statement "unaff_ESI = param_4;" (assignment_expression "unaff_ESI = param_4" identifier = identifier) ;) }) (else_clause "else {\n                    \n      (**(code **)(*param_4 + 0x40))(local_4c,param_4,param_5);\n    }" else (compound_statement "{\n                    \n      (**(code **)(*param_4 + 0x40))(local_4c,param_4,param_5);\n    }" { (expression_statement "(**(code **)(*param_4 + 0x40))(local_4c,param_4,param_5);" (call_expression "(**(code **)(*param_4 + 0x40))(local_4c,param_4,param_5)" (parenthesized_expression "(**(code **)(*param_4 + 0x40))" ( (pointer_expression "**(code **)(*param_4 + 0x40)" * (pointer_expression "*(code **)(*param_4 + 0x40)" * (cast_expression "(code **)(*param_4 + 0x40)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*param_4 + 0x40)" ( (binary_expression "*param_4 + 0x40" (pointer_expression "*param_4" * identifier) + number_literal) ))))) )) (argument_list "(local_4c,param_4,param_5)" ( identifier , identifier , identifier ))) ;) }))) (expression_statement "local_f8 = local_44;" (assignment_expression "local_f8 = local_44" identifier = identifier) ;) (expression_statement "piVar18 = &iStack_100;" (assignment_expression "piVar18 = &iStack_100" identifier = (pointer_expression "&iStack_100" & identifier)) ;) }))) (expression_statement "pbVar20 = local_4c[0];" (assignment_expression "pbVar20 = local_4c[0]" identifier = (subscript_expression "local_4c[0]" identifier [ number_literal ])) ;) (expression_statement "iVar19 = *local_dc;" (assignment_expression "iVar19 = *local_dc" identifier = (pointer_expression "*local_dc" * identifier)) ;) (if_statement "if (*(int *)(iVar19 + 8) == 0) {\n    *(int *)((int)piVar18 + -4) = iVar19;\n    *(undefined ***)((int)piVar18 + -8) = local_b8 + -0x61176;\n    *(undefined4 *)((int)piVar18 + -0xc) = 0x5c;\n    *(int *)((int)piVar18 + -0x10) = (int)local_b8 + -0x1a1d93;\n                    \n    *(undefined4 *)((int)piVar18 + -0x14) = 0xd3001;\n    FUN_002446e0();\n  }" if (parenthesized_expression "(*(int *)(iVar19 + 8) == 0)" ( (binary_expression "*(int *)(iVar19 + 8) == 0" (pointer_expression "*(int *)(iVar19 + 8)" * (cast_expression "(int *)(iVar19 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar19 + 8)" ( (binary_expression "iVar19 + 8" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n    *(int *)((int)piVar18 + -4) = iVar19;\n    *(undefined ***)((int)piVar18 + -8) = local_b8 + -0x61176;\n    *(undefined4 *)((int)piVar18 + -0xc) = 0x5c;\n    *(int *)((int)piVar18 + -0x10) = (int)local_b8 + -0x1a1d93;\n                    \n    *(undefined4 *)((int)piVar18 + -0x14) = 0xd3001;\n    FUN_002446e0();\n  }" { (expression_statement "*(int *)((int)piVar18 + -4) = iVar19;" (assignment_expression "*(int *)((int)piVar18 + -4) = iVar19" (pointer_expression "*(int *)((int)piVar18 + -4)" * (cast_expression "(int *)((int)piVar18 + -4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar18 + -4)" ( (binary_expression "(int)piVar18 + -4" (cast_expression "(int)piVar18" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined ***)((int)piVar18 + -8) = local_b8 + -0x61176;" (assignment_expression "*(undefined ***)((int)piVar18 + -8) = local_b8 + -0x61176" (pointer_expression "*(undefined ***)((int)piVar18 + -8)" * (cast_expression "(undefined ***)((int)piVar18 + -8)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "((int)piVar18 + -8)" ( (binary_expression "(int)piVar18 + -8" (cast_expression "(int)piVar18" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "local_b8 + -0x61176" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)((int)piVar18 + -0xc) = 0x5c;" (assignment_expression "*(undefined4 *)((int)piVar18 + -0xc) = 0x5c" (pointer_expression "*(undefined4 *)((int)piVar18 + -0xc)" * (cast_expression "(undefined4 *)((int)piVar18 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar18 + -0xc)" ( (binary_expression "(int)piVar18 + -0xc" (cast_expression "(int)piVar18" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)((int)piVar18 + -0x10) = (int)local_b8 + -0x1a1d93;" (assignment_expression "*(int *)((int)piVar18 + -0x10) = (int)local_b8 + -0x1a1d93" (pointer_expression "*(int *)((int)piVar18 + -0x10)" * (cast_expression "(int *)((int)piVar18 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar18 + -0x10)" ( (binary_expression "(int)piVar18 + -0x10" (cast_expression "(int)piVar18" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "(int)local_b8 + -0x1a1d93" (cast_expression "(int)local_b8" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) (expression_statement "*(undefined4 *)((int)piVar18 + -0x14) = 0xd3001;" (assignment_expression "*(undefined4 *)((int)piVar18 + -0x14) = 0xd3001" (pointer_expression "*(undefined4 *)((int)piVar18 + -0x14)" * (cast_expression "(undefined4 *)((int)piVar18 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar18 + -0x14)" ( (binary_expression "(int)piVar18 + -0x14" (cast_expression "(int)piVar18" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "FUN_002446e0();" (call_expression "FUN_002446e0()" identifier (argument_list "()" ( ))) ;) })) (if_statement "if (*(int *)(*(int *)(iVar19 + 8) + 0x5934) == 0) {\nLAB_000d22e5:\n    local_d1 = '\0';\n    local_ec = 0;\n    local_d0 = 0;\n    local_e8 = (undefined **)0x0;\n    local_cc = 0;\n    local_c8 = 0;\n  }\n  else {\n    local_b4 = &local_2c;\n    local_34 = local_b4;\n    pbVar9 = (byte *)0xffffffff;\n    if (local_4c[0] != (byte *)0x0) {\n      *(byte **)((int)piVar18 + -0x10) = local_4c[0];\n      *(undefined4 *)((int)piVar18 + -0x14) = 0xd2df7;\n      sVar6 = strlen(*(char **)((int)piVar18 + -0x10));\n      pbVar9 = pbVar20 + sVar6;\n    }\n    *(undefined4 *)((int)piVar18 + -4) = 0;\n    *(byte **)((int)piVar18 + -8) = pbVar9;\n    local_b0 = &local_34;\n    *(byte **)((int)piVar18 + -0xc) = pbVar20;\n    *(undefined ****)((int)piVar18 + -0x10) = local_b0;\n                    \n    *(undefined4 *)((int)piVar18 + -0x14) = 0xd2e0f;\n    FUN_00072b90();\n    iVar19 = 5;\n    bVar24 = (undefined1 *)0xffffffef < (undefined1 *)((int)piVar18 + -0x10);\n    bVar26 = piVar18 == (int *)0x0;\n    ppuVar14 = local_b8 + -0x67293;\n    ppuVar23 = local_34;\n    do {\n      if (iVar19 == 0) break;\n      iVar19 = iVar19 + -1;\n      bVar24 = *(byte *)ppuVar14 < *(byte *)ppuVar23;\n      bVar26 = *(byte *)ppuVar14 == *(byte *)ppuVar23;\n      ppuVar14 = (undefined **)((int)ppuVar14 + (uint)bVar27 * -2 + 1);\n      ppuVar23 = (undefined **)((int)ppuVar23 + (uint)bVar27 * -2 + 1);\n    } while (bVar26);\n    bVar25 = false;\n    bVar24 = (!bVar24 && !bVar26) == bVar24;\n    if (!bVar24) {\n      iVar19 = 0xf;\n      ppuVar14 = (undefined **)((int)local_b8 + -0x19ca46);\n      ppuVar23 = local_34;\n      do {\n        unaff_ESI = ppuVar14;\n        if (iVar19 == 0) break;\n        iVar19 = iVar19 + -1;\n        unaff_ESI = (undefined **)((int)ppuVar14 + (uint)bVar27 * -2 + 1);\n        bVar25 = *(byte *)ppuVar14 < *(byte *)ppuVar23;\n        bVar24 = *(byte *)ppuVar14 == *(byte *)ppuVar23;\n        ppuVar14 = unaff_ESI;\n        ppuVar23 = (undefined **)((int)ppuVar23 + (uint)bVar27 * -2 + 1);\n      } while (bVar24);\n      if ((!bVar25 && !bVar24) != bVar25) {\n        if (local_34 == local_b4) {\n          iVar19 = *local_dc;\n        }\n        else {\n          *(undefined ***)((int)piVar18 + -0x10) = local_34;\n          *(undefined4 *)((int)piVar18 + -0x14) = 0xd2ee3;\n          FUN_003ae080();\n          iVar19 = *local_dc;\n        }\n        goto LAB_000d22e5;\n      }\n    }\n    if (local_34 != local_b4) {\n      *(undefined ***)((int)piVar18 + -0x10) = local_34;\n      *(undefined4 *)((int)piVar18 + -0x14) = 0xd3010;\n      FUN_003ae080();\n    }\n    *(undefined ****)((int)piVar18 + -0xc) = local_b0;\n    local_34 = param_4;\n    local_30 = param_5;\n    local_b0 = *(undefined ****)(param_2 + 0x15c);\n    *(undefined ****)((int)piVar18 + -0x10) = local_b0 + 0x15;\n    *(undefined4 *)((int)piVar18 + -0x14) = 0xd2e84;\n    local_c8 = FUN_00074520();\n    local_cc = local_c8 + 0xc;\n    unaff_ESI = (undefined **)(local_c8 + 0x18);\n    local_d0 = local_c8 + 0x24;\n    local_ec = local_c8 + 0x30;\n    iVar19 = *local_dc;\n    local_d1 = '\x01';\n    local_e8 = unaff_ESI;\n  }" if (parenthesized_expression "(*(int *)(*(int *)(iVar19 + 8) + 0x5934) == 0)" ( (binary_expression "*(int *)(*(int *)(iVar19 + 8) + 0x5934) == 0" (pointer_expression "*(int *)(*(int *)(iVar19 + 8) + 0x5934)" * (cast_expression "(int *)(*(int *)(iVar19 + 8) + 0x5934)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(iVar19 + 8) + 0x5934)" ( (binary_expression "*(int *)(iVar19 + 8) + 0x5934" (pointer_expression "*(int *)(iVar19 + 8)" * (cast_expression "(int *)(iVar19 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar19 + 8)" ( (binary_expression "iVar19 + 8" identifier + number_literal) )))) + number_literal) )))) == number_literal) )) (compound_statement "{\nLAB_000d22e5:\n    local_d1 = '\0';\n    local_ec = 0;\n    local_d0 = 0;\n    local_e8 = (undefined **)0x0;\n    local_cc = 0;\n    local_c8 = 0;\n  }" { (labeled_statement "LAB_000d22e5:\n    local_d1 = '\0';" statement_identifier : (expression_statement "local_d1 = '\0';" (assignment_expression "local_d1 = '\0'" identifier = (char_literal "'\0'" ' escape_sequence ')) ;)) (expression_statement "local_ec = 0;" (assignment_expression "local_ec = 0" identifier = number_literal) ;) (expression_statement "local_d0 = 0;" (assignment_expression "local_d0 = 0" identifier = number_literal) ;) (expression_statement "local_e8 = (undefined **)0x0;" (assignment_expression "local_e8 = (undefined **)0x0" identifier = (cast_expression "(undefined **)0x0" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) ;) (expression_statement "local_cc = 0;" (assignment_expression "local_cc = 0" identifier = number_literal) ;) (expression_statement "local_c8 = 0;" (assignment_expression "local_c8 = 0" identifier = number_literal) ;) }) (else_clause "else {\n    local_b4 = &local_2c;\n    local_34 = local_b4;\n    pbVar9 = (byte *)0xffffffff;\n    if (local_4c[0] != (byte *)0x0) {\n      *(byte **)((int)piVar18 + -0x10) = local_4c[0];\n      *(undefined4 *)((int)piVar18 + -0x14) = 0xd2df7;\n      sVar6 = strlen(*(char **)((int)piVar18 + -0x10));\n      pbVar9 = pbVar20 + sVar6;\n    }\n    *(undefined4 *)((int)piVar18 + -4) = 0;\n    *(byte **)((int)piVar18 + -8) = pbVar9;\n    local_b0 = &local_34;\n    *(byte **)((int)piVar18 + -0xc) = pbVar20;\n    *(undefined ****)((int)piVar18 + -0x10) = local_b0;\n                    \n    *(undefined4 *)((int)piVar18 + -0x14) = 0xd2e0f;\n    FUN_00072b90();\n    iVar19 = 5;\n    bVar24 = (undefined1 *)0xffffffef < (undefined1 *)((int)piVar18 + -0x10);\n    bVar26 = piVar18 == (int *)0x0;\n    ppuVar14 = local_b8 + -0x67293;\n    ppuVar23 = local_34;\n    do {\n      if (iVar19 == 0) break;\n      iVar19 = iVar19 + -1;\n      bVar24 = *(byte *)ppuVar14 < *(byte *)ppuVar23;\n      bVar26 = *(byte *)ppuVar14 == *(byte *)ppuVar23;\n      ppuVar14 = (undefined **)((int)ppuVar14 + (uint)bVar27 * -2 + 1);\n      ppuVar23 = (undefined **)((int)ppuVar23 + (uint)bVar27 * -2 + 1);\n    } while (bVar26);\n    bVar25 = false;\n    bVar24 = (!bVar24 && !bVar26) == bVar24;\n    if (!bVar24) {\n      iVar19 = 0xf;\n      ppuVar14 = (undefined **)((int)local_b8 + -0x19ca46);\n      ppuVar23 = local_34;\n      do {\n        unaff_ESI = ppuVar14;\n        if (iVar19 == 0) break;\n        iVar19 = iVar19 + -1;\n        unaff_ESI = (undefined **)((int)ppuVar14 + (uint)bVar27 * -2 + 1);\n        bVar25 = *(byte *)ppuVar14 < *(byte *)ppuVar23;\n        bVar24 = *(byte *)ppuVar14 == *(byte *)ppuVar23;\n        ppuVar14 = unaff_ESI;\n        ppuVar23 = (undefined **)((int)ppuVar23 + (uint)bVar27 * -2 + 1);\n      } while (bVar24);\n      if ((!bVar25 && !bVar24) != bVar25) {\n        if (local_34 == local_b4) {\n          iVar19 = *local_dc;\n        }\n        else {\n          *(undefined ***)((int)piVar18 + -0x10) = local_34;\n          *(undefined4 *)((int)piVar18 + -0x14) = 0xd2ee3;\n          FUN_003ae080();\n          iVar19 = *local_dc;\n        }\n        goto LAB_000d22e5;\n      }\n    }\n    if (local_34 != local_b4) {\n      *(undefined ***)((int)piVar18 + -0x10) = local_34;\n      *(undefined4 *)((int)piVar18 + -0x14) = 0xd3010;\n      FUN_003ae080();\n    }\n    *(undefined ****)((int)piVar18 + -0xc) = local_b0;\n    local_34 = param_4;\n    local_30 = param_5;\n    local_b0 = *(undefined ****)(param_2 + 0x15c);\n    *(undefined ****)((int)piVar18 + -0x10) = local_b0 + 0x15;\n    *(undefined4 *)((int)piVar18 + -0x14) = 0xd2e84;\n    local_c8 = FUN_00074520();\n    local_cc = local_c8 + 0xc;\n    unaff_ESI = (undefined **)(local_c8 + 0x18);\n    local_d0 = local_c8 + 0x24;\n    local_ec = local_c8 + 0x30;\n    iVar19 = *local_dc;\n    local_d1 = '\x01';\n    local_e8 = unaff_ESI;\n  }" else (compound_statement "{\n    local_b4 = &local_2c;\n    local_34 = local_b4;\n    pbVar9 = (byte *)0xffffffff;\n    if (local_4c[0] != (byte *)0x0) {\n      *(byte **)((int)piVar18 + -0x10) = local_4c[0];\n      *(undefined4 *)((int)piVar18 + -0x14) = 0xd2df7;\n      sVar6 = strlen(*(char **)((int)piVar18 + -0x10));\n      pbVar9 = pbVar20 + sVar6;\n    }\n    *(undefined4 *)((int)piVar18 + -4) = 0;\n    *(byte **)((int)piVar18 + -8) = pbVar9;\n    local_b0 = &local_34;\n    *(byte **)((int)piVar18 + -0xc) = pbVar20;\n    *(undefined ****)((int)piVar18 + -0x10) = local_b0;\n                    \n    *(undefined4 *)((int)piVar18 + -0x14) = 0xd2e0f;\n    FUN_00072b90();\n    iVar19 = 5;\n    bVar24 = (undefined1 *)0xffffffef < (undefined1 *)((int)piVar18 + -0x10);\n    bVar26 = piVar18 == (int *)0x0;\n    ppuVar14 = local_b8 + -0x67293;\n    ppuVar23 = local_34;\n    do {\n      if (iVar19 == 0) break;\n      iVar19 = iVar19 + -1;\n      bVar24 = *(byte *)ppuVar14 < *(byte *)ppuVar23;\n      bVar26 = *(byte *)ppuVar14 == *(byte *)ppuVar23;\n      ppuVar14 = (undefined **)((int)ppuVar14 + (uint)bVar27 * -2 + 1);\n      ppuVar23 = (undefined **)((int)ppuVar23 + (uint)bVar27 * -2 + 1);\n    } while (bVar26);\n    bVar25 = false;\n    bVar24 = (!bVar24 && !bVar26) == bVar24;\n    if (!bVar24) {\n      iVar19 = 0xf;\n      ppuVar14 = (undefined **)((int)local_b8 + -0x19ca46);\n      ppuVar23 = local_34;\n      do {\n        unaff_ESI = ppuVar14;\n        if (iVar19 == 0) break;\n        iVar19 = iVar19 + -1;\n        unaff_ESI = (undefined **)((int)ppuVar14 + (uint)bVar27 * -2 + 1);\n        bVar25 = *(byte *)ppuVar14 < *(byte *)ppuVar23;\n        bVar24 = *(byte *)ppuVar14 == *(byte *)ppuVar23;\n        ppuVar14 = unaff_ESI;\n        ppuVar23 = (undefined **)((int)ppuVar23 + (uint)bVar27 * -2 + 1);\n      } while (bVar24);\n      if ((!bVar25 && !bVar24) != bVar25) {\n        if (local_34 == local_b4) {\n          iVar19 = *local_dc;\n        }\n        else {\n          *(undefined ***)((int)piVar18 + -0x10) = local_34;\n          *(undefined4 *)((int)piVar18 + -0x14) = 0xd2ee3;\n          FUN_003ae080();\n          iVar19 = *local_dc;\n        }\n        goto LAB_000d22e5;\n      }\n    }\n    if (local_34 != local_b4) {\n      *(undefined ***)((int)piVar18 + -0x10) = local_34;\n      *(undefined4 *)((int)piVar18 + -0x14) = 0xd3010;\n      FUN_003ae080();\n    }\n    *(undefined ****)((int)piVar18 + -0xc) = local_b0;\n    local_34 = param_4;\n    local_30 = param_5;\n    local_b0 = *(undefined ****)(param_2 + 0x15c);\n    *(undefined ****)((int)piVar18 + -0x10) = local_b0 + 0x15;\n    *(undefined4 *)((int)piVar18 + -0x14) = 0xd2e84;\n    local_c8 = FUN_00074520();\n    local_cc = local_c8 + 0xc;\n    unaff_ESI = (undefined **)(local_c8 + 0x18);\n    local_d0 = local_c8 + 0x24;\n    local_ec = local_c8 + 0x30;\n    iVar19 = *local_dc;\n    local_d1 = '\x01';\n    local_e8 = unaff_ESI;\n  }" { (expression_statement "local_b4 = &local_2c;" (assignment_expression "local_b4 = &local_2c" identifier = (pointer_expression "&local_2c" & identifier)) ;) (expression_statement "local_34 = local_b4;" (assignment_expression "local_34 = local_b4" identifier = identifier) ;) (expression_statement "pbVar9 = (byte *)0xffffffff;" (assignment_expression "pbVar9 = (byte *)0xffffffff" identifier = (cast_expression "(byte *)0xffffffff" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (if_statement "if (local_4c[0] != (byte *)0x0) {\n      *(byte **)((int)piVar18 + -0x10) = local_4c[0];\n      *(undefined4 *)((int)piVar18 + -0x14) = 0xd2df7;\n      sVar6 = strlen(*(char **)((int)piVar18 + -0x10));\n      pbVar9 = pbVar20 + sVar6;\n    }" if (parenthesized_expression "(local_4c[0] != (byte *)0x0)" ( (binary_expression "local_4c[0] != (byte *)0x0" (subscript_expression "local_4c[0]" identifier [ number_literal ]) != (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      *(byte **)((int)piVar18 + -0x10) = local_4c[0];\n      *(undefined4 *)((int)piVar18 + -0x14) = 0xd2df7;\n      sVar6 = strlen(*(char **)((int)piVar18 + -0x10));\n      pbVar9 = pbVar20 + sVar6;\n    }" { (expression_statement "*(byte **)((int)piVar18 + -0x10) = local_4c[0];" (assignment_expression "*(byte **)((int)piVar18 + -0x10) = local_4c[0]" (pointer_expression "*(byte **)((int)piVar18 + -0x10)" * (cast_expression "(byte **)((int)piVar18 + -0x10)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)piVar18 + -0x10)" ( (binary_expression "(int)piVar18 + -0x10" (cast_expression "(int)piVar18" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (subscript_expression "local_4c[0]" identifier [ number_literal ])) ;) (expression_statement "*(undefined4 *)((int)piVar18 + -0x14) = 0xd2df7;" (assignment_expression "*(undefined4 *)((int)piVar18 + -0x14) = 0xd2df7" (pointer_expression "*(undefined4 *)((int)piVar18 + -0x14)" * (cast_expression "(undefined4 *)((int)piVar18 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar18 + -0x14)" ( (binary_expression "(int)piVar18 + -0x14" (cast_expression "(int)piVar18" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "sVar6 = strlen(*(char **)((int)piVar18 + -0x10));" (assignment_expression "sVar6 = strlen(*(char **)((int)piVar18 + -0x10))" identifier = (call_expression "strlen(*(char **)((int)piVar18 + -0x10))" identifier (argument_list "(*(char **)((int)piVar18 + -0x10))" ( (pointer_expression "*(char **)((int)piVar18 + -0x10)" * (cast_expression "(char **)((int)piVar18 + -0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)piVar18 + -0x10)" ( (binary_expression "(int)piVar18 + -0x10" (cast_expression "(int)piVar18" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) )))) ;) (expression_statement "pbVar9 = pbVar20 + sVar6;" (assignment_expression "pbVar9 = pbVar20 + sVar6" identifier = (binary_expression "pbVar20 + sVar6" identifier + identifier)) ;) })) (expression_statement "*(undefined4 *)((int)piVar18 + -4) = 0;" (assignment_expression "*(undefined4 *)((int)piVar18 + -4) = 0" (pointer_expression "*(undefined4 *)((int)piVar18 + -4)" * (cast_expression "(undefined4 *)((int)piVar18 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar18 + -4)" ( (binary_expression "(int)piVar18 + -4" (cast_expression "(int)piVar18" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(byte **)((int)piVar18 + -8) = pbVar9;" (assignment_expression "*(byte **)((int)piVar18 + -8) = pbVar9" (pointer_expression "*(byte **)((int)piVar18 + -8)" * (cast_expression "(byte **)((int)piVar18 + -8)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)piVar18 + -8)" ( (binary_expression "(int)piVar18 + -8" (cast_expression "(int)piVar18" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "local_b0 = &local_34;" (assignment_expression "local_b0 = &local_34" identifier = (pointer_expression "&local_34" & identifier)) ;) (expression_statement "*(byte **)((int)piVar18 + -0xc) = pbVar20;" (assignment_expression "*(byte **)((int)piVar18 + -0xc) = pbVar20" (pointer_expression "*(byte **)((int)piVar18 + -0xc)" * (cast_expression "(byte **)((int)piVar18 + -0xc)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)piVar18 + -0xc)" ( (binary_expression "(int)piVar18 + -0xc" (cast_expression "(int)piVar18" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined ****)((int)piVar18 + -0x10) = local_b0;" (assignment_expression "*(undefined ****)((int)piVar18 + -0x10) = local_b0" (pointer_expression "*(undefined ****)((int)piVar18 + -0x10)" * (cast_expression "(undefined ****)((int)piVar18 + -0x10)" ( (type_descriptor "undefined ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) (parenthesized_expression "((int)piVar18 + -0x10)" ( (binary_expression "(int)piVar18 + -0x10" (cast_expression "(int)piVar18" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)piVar18 + -0x14) = 0xd2e0f;" (assignment_expression "*(undefined4 *)((int)piVar18 + -0x14) = 0xd2e0f" (pointer_expression "*(undefined4 *)((int)piVar18 + -0x14)" * (cast_expression "(undefined4 *)((int)piVar18 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar18 + -0x14)" ( (binary_expression "(int)piVar18 + -0x14" (cast_expression "(int)piVar18" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "FUN_00072b90();" (call_expression "FUN_00072b90()" identifier (argument_list "()" ( ))) ;) (expression_statement "iVar19 = 5;" (assignment_expression "iVar19 = 5" identifier = number_literal) ;) (expression_statement "bVar24 = (undefined1 *)0xffffffef < (undefined1 *)((int)piVar18 + -0x10);" (assignment_expression "bVar24 = (undefined1 *)0xffffffef < (undefined1 *)((int)piVar18 + -0x10)" identifier = (binary_expression "(undefined1 *)0xffffffef < (undefined1 *)((int)piVar18 + -0x10)" (cast_expression "(undefined1 *)0xffffffef" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) < (cast_expression "(undefined1 *)((int)piVar18 + -0x10)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar18 + -0x10)" ( (binary_expression "(int)piVar18 + -0x10" (cast_expression "(int)piVar18" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "bVar26 = piVar18 == (int *)0x0;" (assignment_expression "bVar26 = piVar18 == (int *)0x0" identifier = (binary_expression "piVar18 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal))) ;) (expression_statement "ppuVar14 = local_b8 + -0x67293;" (assignment_expression "ppuVar14 = local_b8 + -0x67293" identifier = (binary_expression "local_b8 + -0x67293" identifier + number_literal)) ;) (expression_statement "ppuVar23 = local_34;" (assignment_expression "ppuVar23 = local_34" identifier = identifier) ;) (do_statement "do {\n      if (iVar19 == 0) break;\n      iVar19 = iVar19 + -1;\n      bVar24 = *(byte *)ppuVar14 < *(byte *)ppuVar23;\n      bVar26 = *(byte *)ppuVar14 == *(byte *)ppuVar23;\n      ppuVar14 = (undefined **)((int)ppuVar14 + (uint)bVar27 * -2 + 1);\n      ppuVar23 = (undefined **)((int)ppuVar23 + (uint)bVar27 * -2 + 1);\n    } while (bVar26);" do (compound_statement "{\n      if (iVar19 == 0) break;\n      iVar19 = iVar19 + -1;\n      bVar24 = *(byte *)ppuVar14 < *(byte *)ppuVar23;\n      bVar26 = *(byte *)ppuVar14 == *(byte *)ppuVar23;\n      ppuVar14 = (undefined **)((int)ppuVar14 + (uint)bVar27 * -2 + 1);\n      ppuVar23 = (undefined **)((int)ppuVar23 + (uint)bVar27 * -2 + 1);\n    }" { (if_statement "if (iVar19 == 0) break;" if (parenthesized_expression "(iVar19 == 0)" ( (binary_expression "iVar19 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar19 = iVar19 + -1;" (assignment_expression "iVar19 = iVar19 + -1" identifier = (binary_expression "iVar19 + -1" identifier + number_literal)) ;) (expression_statement "bVar24 = *(byte *)ppuVar14 < *(byte *)ppuVar23;" (assignment_expression "bVar24 = *(byte *)ppuVar14 < *(byte *)ppuVar23" identifier = (binary_expression "*(byte *)ppuVar14 < *(byte *)ppuVar23" (pointer_expression "*(byte *)ppuVar14" * (cast_expression "(byte *)ppuVar14" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) < (pointer_expression "*(byte *)ppuVar23" * (cast_expression "(byte *)ppuVar23" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)))) ;) (expression_statement "bVar26 = *(byte *)ppuVar14 == *(byte *)ppuVar23;" (assignment_expression "bVar26 = *(byte *)ppuVar14 == *(byte *)ppuVar23" identifier = (binary_expression "*(byte *)ppuVar14 == *(byte *)ppuVar23" (pointer_expression "*(byte *)ppuVar14" * (cast_expression "(byte *)ppuVar14" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) == (pointer_expression "*(byte *)ppuVar23" * (cast_expression "(byte *)ppuVar23" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)))) ;) (expression_statement "ppuVar14 = (undefined **)((int)ppuVar14 + (uint)bVar27 * -2 + 1);" (assignment_expression "ppuVar14 = (undefined **)((int)ppuVar14 + (uint)bVar27 * -2 + 1)" identifier = (cast_expression "(undefined **)((int)ppuVar14 + (uint)bVar27 * -2 + 1)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)ppuVar14 + (uint)bVar27 * -2 + 1)" ( (binary_expression "(int)ppuVar14 + (uint)bVar27 * -2 + 1" (binary_expression "(int)ppuVar14 + (uint)bVar27 * -2" (cast_expression "(int)ppuVar14" ( (type_descriptor "int" primitive_type) ) identifier) + (binary_expression "(uint)bVar27 * -2" (cast_expression "(uint)bVar27" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal) )))) ;) (expression_statement "ppuVar23 = (undefined **)((int)ppuVar23 + (uint)bVar27 * -2 + 1);" (assignment_expression "ppuVar23 = (undefined **)((int)ppuVar23 + (uint)bVar27 * -2 + 1)" identifier = (cast_expression "(undefined **)((int)ppuVar23 + (uint)bVar27 * -2 + 1)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)ppuVar23 + (uint)bVar27 * -2 + 1)" ( (binary_expression "(int)ppuVar23 + (uint)bVar27 * -2 + 1" (binary_expression "(int)ppuVar23 + (uint)bVar27 * -2" (cast_expression "(int)ppuVar23" ( (type_descriptor "int" primitive_type) ) identifier) + (binary_expression "(uint)bVar27 * -2" (cast_expression "(uint)bVar27" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal) )))) ;) }) while (parenthesized_expression "(bVar26)" ( identifier )) ;) (expression_statement "bVar25 = false;" (assignment_expression "bVar25 = false" identifier = false) ;) (expression_statement "bVar24 = (!bVar24 && !bVar26) == bVar24;" (assignment_expression "bVar24 = (!bVar24 && !bVar26) == bVar24" identifier = (binary_expression "(!bVar24 && !bVar26) == bVar24" (parenthesized_expression "(!bVar24 && !bVar26)" ( (binary_expression "!bVar24 && !bVar26" (unary_expression "!bVar24" ! identifier) && (unary_expression "!bVar26" ! identifier)) )) == identifier)) ;) (if_statement "if (!bVar24) {\n      iVar19 = 0xf;\n      ppuVar14 = (undefined **)((int)local_b8 + -0x19ca46);\n      ppuVar23 = local_34;\n      do {\n        unaff_ESI = ppuVar14;\n        if (iVar19 == 0) break;\n        iVar19 = iVar19 + -1;\n        unaff_ESI = (undefined **)((int)ppuVar14 + (uint)bVar27 * -2 + 1);\n        bVar25 = *(byte *)ppuVar14 < *(byte *)ppuVar23;\n        bVar24 = *(byte *)ppuVar14 == *(byte *)ppuVar23;\n        ppuVar14 = unaff_ESI;\n        ppuVar23 = (undefined **)((int)ppuVar23 + (uint)bVar27 * -2 + 1);\n      } while (bVar24);\n      if ((!bVar25 && !bVar24) != bVar25) {\n        if (local_34 == local_b4) {\n          iVar19 = *local_dc;\n        }\n        else {\n          *(undefined ***)((int)piVar18 + -0x10) = local_34;\n          *(undefined4 *)((int)piVar18 + -0x14) = 0xd2ee3;\n          FUN_003ae080();\n          iVar19 = *local_dc;\n        }\n        goto LAB_000d22e5;\n      }\n    }" if (parenthesized_expression "(!bVar24)" ( (unary_expression "!bVar24" ! identifier) )) (compound_statement "{\n      iVar19 = 0xf;\n      ppuVar14 = (undefined **)((int)local_b8 + -0x19ca46);\n      ppuVar23 = local_34;\n      do {\n        unaff_ESI = ppuVar14;\n        if (iVar19 == 0) break;\n        iVar19 = iVar19 + -1;\n        unaff_ESI = (undefined **)((int)ppuVar14 + (uint)bVar27 * -2 + 1);\n        bVar25 = *(byte *)ppuVar14 < *(byte *)ppuVar23;\n        bVar24 = *(byte *)ppuVar14 == *(byte *)ppuVar23;\n        ppuVar14 = unaff_ESI;\n        ppuVar23 = (undefined **)((int)ppuVar23 + (uint)bVar27 * -2 + 1);\n      } while (bVar24);\n      if ((!bVar25 && !bVar24) != bVar25) {\n        if (local_34 == local_b4) {\n          iVar19 = *local_dc;\n        }\n        else {\n          *(undefined ***)((int)piVar18 + -0x10) = local_34;\n          *(undefined4 *)((int)piVar18 + -0x14) = 0xd2ee3;\n          FUN_003ae080();\n          iVar19 = *local_dc;\n        }\n        goto LAB_000d22e5;\n      }\n    }" { (expression_statement "iVar19 = 0xf;" (assignment_expression "iVar19 = 0xf" identifier = number_literal) ;) (expression_statement "ppuVar14 = (undefined **)((int)local_b8 + -0x19ca46);" (assignment_expression "ppuVar14 = (undefined **)((int)local_b8 + -0x19ca46)" identifier = (cast_expression "(undefined **)((int)local_b8 + -0x19ca46)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)local_b8 + -0x19ca46)" ( (binary_expression "(int)local_b8 + -0x19ca46" (cast_expression "(int)local_b8" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "ppuVar23 = local_34;" (assignment_expression "ppuVar23 = local_34" identifier = identifier) ;) (do_statement "do {\n        unaff_ESI = ppuVar14;\n        if (iVar19 == 0) break;\n        iVar19 = iVar19 + -1;\n        unaff_ESI = (undefined **)((int)ppuVar14 + (uint)bVar27 * -2 + 1);\n        bVar25 = *(byte *)ppuVar14 < *(byte *)ppuVar23;\n        bVar24 = *(byte *)ppuVar14 == *(byte *)ppuVar23;\n        ppuVar14 = unaff_ESI;\n        ppuVar23 = (undefined **)((int)ppuVar23 + (uint)bVar27 * -2 + 1);\n      } while (bVar24);" do (compound_statement "{\n        unaff_ESI = ppuVar14;\n        if (iVar19 == 0) break;\n        iVar19 = iVar19 + -1;\n        unaff_ESI = (undefined **)((int)ppuVar14 + (uint)bVar27 * -2 + 1);\n        bVar25 = *(byte *)ppuVar14 < *(byte *)ppuVar23;\n        bVar24 = *(byte *)ppuVar14 == *(byte *)ppuVar23;\n        ppuVar14 = unaff_ESI;\n        ppuVar23 = (undefined **)((int)ppuVar23 + (uint)bVar27 * -2 + 1);\n      }" { (expression_statement "unaff_ESI = ppuVar14;" (assignment_expression "unaff_ESI = ppuVar14" identifier = identifier) ;) (if_statement "if (iVar19 == 0) break;" if (parenthesized_expression "(iVar19 == 0)" ( (binary_expression "iVar19 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar19 = iVar19 + -1;" (assignment_expression "iVar19 = iVar19 + -1" identifier = (binary_expression "iVar19 + -1" identifier + number_literal)) ;) (expression_statement "unaff_ESI = (undefined **)((int)ppuVar14 + (uint)bVar27 * -2 + 1);" (assignment_expression "unaff_ESI = (undefined **)((int)ppuVar14 + (uint)bVar27 * -2 + 1)" identifier = (cast_expression "(undefined **)((int)ppuVar14 + (uint)bVar27 * -2 + 1)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)ppuVar14 + (uint)bVar27 * -2 + 1)" ( (binary_expression "(int)ppuVar14 + (uint)bVar27 * -2 + 1" (binary_expression "(int)ppuVar14 + (uint)bVar27 * -2" (cast_expression "(int)ppuVar14" ( (type_descriptor "int" primitive_type) ) identifier) + (binary_expression "(uint)bVar27 * -2" (cast_expression "(uint)bVar27" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal) )))) ;) (expression_statement "bVar25 = *(byte *)ppuVar14 < *(byte *)ppuVar23;" (assignment_expression "bVar25 = *(byte *)ppuVar14 < *(byte *)ppuVar23" identifier = (binary_expression "*(byte *)ppuVar14 < *(byte *)ppuVar23" (pointer_expression "*(byte *)ppuVar14" * (cast_expression "(byte *)ppuVar14" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) < (pointer_expression "*(byte *)ppuVar23" * (cast_expression "(byte *)ppuVar23" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)))) ;) (expression_statement "bVar24 = *(byte *)ppuVar14 == *(byte *)ppuVar23;" (assignment_expression "bVar24 = *(byte *)ppuVar14 == *(byte *)ppuVar23" identifier = (binary_expression "*(byte *)ppuVar14 == *(byte *)ppuVar23" (pointer_expression "*(byte *)ppuVar14" * (cast_expression "(byte *)ppuVar14" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) == (pointer_expression "*(byte *)ppuVar23" * (cast_expression "(byte *)ppuVar23" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)))) ;) (expression_statement "ppuVar14 = unaff_ESI;" (assignment_expression "ppuVar14 = unaff_ESI" identifier = identifier) ;) (expression_statement "ppuVar23 = (undefined **)((int)ppuVar23 + (uint)bVar27 * -2 + 1);" (assignment_expression "ppuVar23 = (undefined **)((int)ppuVar23 + (uint)bVar27 * -2 + 1)" identifier = (cast_expression "(undefined **)((int)ppuVar23 + (uint)bVar27 * -2 + 1)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)ppuVar23 + (uint)bVar27 * -2 + 1)" ( (binary_expression "(int)ppuVar23 + (uint)bVar27 * -2 + 1" (binary_expression "(int)ppuVar23 + (uint)bVar27 * -2" (cast_expression "(int)ppuVar23" ( (type_descriptor "int" primitive_type) ) identifier) + (binary_expression "(uint)bVar27 * -2" (cast_expression "(uint)bVar27" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal) )))) ;) }) while (parenthesized_expression "(bVar24)" ( identifier )) ;) (if_statement "if ((!bVar25 && !bVar24) != bVar25) {\n        if (local_34 == local_b4) {\n          iVar19 = *local_dc;\n        }\n        else {\n          *(undefined ***)((int)piVar18 + -0x10) = local_34;\n          *(undefined4 *)((int)piVar18 + -0x14) = 0xd2ee3;\n          FUN_003ae080();\n          iVar19 = *local_dc;\n        }\n        goto LAB_000d22e5;\n      }" if (parenthesized_expression "((!bVar25 && !bVar24) != bVar25)" ( (binary_expression "(!bVar25 && !bVar24) != bVar25" (parenthesized_expression "(!bVar25 && !bVar24)" ( (binary_expression "!bVar25 && !bVar24" (unary_expression "!bVar25" ! identifier) && (unary_expression "!bVar24" ! identifier)) )) != identifier) )) (compound_statement "{\n        if (local_34 == local_b4) {\n          iVar19 = *local_dc;\n        }\n        else {\n          *(undefined ***)((int)piVar18 + -0x10) = local_34;\n          *(undefined4 *)((int)piVar18 + -0x14) = 0xd2ee3;\n          FUN_003ae080();\n          iVar19 = *local_dc;\n        }\n        goto LAB_000d22e5;\n      }" { (if_statement "if (local_34 == local_b4) {\n          iVar19 = *local_dc;\n        }\n        else {\n          *(undefined ***)((int)piVar18 + -0x10) = local_34;\n          *(undefined4 *)((int)piVar18 + -0x14) = 0xd2ee3;\n          FUN_003ae080();\n          iVar19 = *local_dc;\n        }" if (parenthesized_expression "(local_34 == local_b4)" ( (binary_expression "local_34 == local_b4" identifier == identifier) )) (compound_statement "{\n          iVar19 = *local_dc;\n        }" { (expression_statement "iVar19 = *local_dc;" (assignment_expression "iVar19 = *local_dc" identifier = (pointer_expression "*local_dc" * identifier)) ;) }) (else_clause "else {\n          *(undefined ***)((int)piVar18 + -0x10) = local_34;\n          *(undefined4 *)((int)piVar18 + -0x14) = 0xd2ee3;\n          FUN_003ae080();\n          iVar19 = *local_dc;\n        }" else (compound_statement "{\n          *(undefined ***)((int)piVar18 + -0x10) = local_34;\n          *(undefined4 *)((int)piVar18 + -0x14) = 0xd2ee3;\n          FUN_003ae080();\n          iVar19 = *local_dc;\n        }" { (expression_statement "*(undefined ***)((int)piVar18 + -0x10) = local_34;" (assignment_expression "*(undefined ***)((int)piVar18 + -0x10) = local_34" (pointer_expression "*(undefined ***)((int)piVar18 + -0x10)" * (cast_expression "(undefined ***)((int)piVar18 + -0x10)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "((int)piVar18 + -0x10)" ( (binary_expression "(int)piVar18 + -0x10" (cast_expression "(int)piVar18" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)piVar18 + -0x14) = 0xd2ee3;" (assignment_expression "*(undefined4 *)((int)piVar18 + -0x14) = 0xd2ee3" (pointer_expression "*(undefined4 *)((int)piVar18 + -0x14)" * (cast_expression "(undefined4 *)((int)piVar18 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar18 + -0x14)" ( (binary_expression "(int)piVar18 + -0x14" (cast_expression "(int)piVar18" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "FUN_003ae080();" (call_expression "FUN_003ae080()" identifier (argument_list "()" ( ))) ;) (expression_statement "iVar19 = *local_dc;" (assignment_expression "iVar19 = *local_dc" identifier = (pointer_expression "*local_dc" * identifier)) ;) }))) (goto_statement "goto LAB_000d22e5;" goto statement_identifier ;) })) })) (if_statement "if (local_34 != local_b4) {\n      *(undefined ***)((int)piVar18 + -0x10) = local_34;\n      *(undefined4 *)((int)piVar18 + -0x14) = 0xd3010;\n      FUN_003ae080();\n    }" if (parenthesized_expression "(local_34 != local_b4)" ( (binary_expression "local_34 != local_b4" identifier != identifier) )) (compound_statement "{\n      *(undefined ***)((int)piVar18 + -0x10) = local_34;\n      *(undefined4 *)((int)piVar18 + -0x14) = 0xd3010;\n      FUN_003ae080();\n    }" { (expression_statement "*(undefined ***)((int)piVar18 + -0x10) = local_34;" (assignment_expression "*(undefined ***)((int)piVar18 + -0x10) = local_34" (pointer_expression "*(undefined ***)((int)piVar18 + -0x10)" * (cast_expression "(undefined ***)((int)piVar18 + -0x10)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "((int)piVar18 + -0x10)" ( (binary_expression "(int)piVar18 + -0x10" (cast_expression "(int)piVar18" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)piVar18 + -0x14) = 0xd3010;" (assignment_expression "*(undefined4 *)((int)piVar18 + -0x14) = 0xd3010" (pointer_expression "*(undefined4 *)((int)piVar18 + -0x14)" * (cast_expression "(undefined4 *)((int)piVar18 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar18 + -0x14)" ( (binary_expression "(int)piVar18 + -0x14" (cast_expression "(int)piVar18" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "FUN_003ae080();" (call_expression "FUN_003ae080()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "*(undefined ****)((int)piVar18 + -0xc) = local_b0;" (assignment_expression "*(undefined ****)((int)piVar18 + -0xc) = local_b0" (pointer_expression "*(undefined ****)((int)piVar18 + -0xc)" * (cast_expression "(undefined ****)((int)piVar18 + -0xc)" ( (type_descriptor "undefined ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) (parenthesized_expression "((int)piVar18 + -0xc)" ( (binary_expression "(int)piVar18 + -0xc" (cast_expression "(int)piVar18" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "local_34 = param_4;" (assignment_expression "local_34 = param_4" identifier = identifier) ;) (expression_statement "local_30 = param_5;" (assignment_expression "local_30 = param_5" identifier = identifier) ;) (expression_statement "local_b0 = *(undefined ****)(param_2 + 0x15c);" (assignment_expression "local_b0 = *(undefined ****)(param_2 + 0x15c)" identifier = (pointer_expression "*(undefined ****)(param_2 + 0x15c)" * (cast_expression "(undefined ****)(param_2 + 0x15c)" ( (type_descriptor "undefined ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) (parenthesized_expression "(param_2 + 0x15c)" ( (binary_expression "param_2 + 0x15c" identifier + number_literal) ))))) ;) (expression_statement "*(undefined ****)((int)piVar18 + -0x10) = local_b0 + 0x15;" (assignment_expression "*(undefined ****)((int)piVar18 + -0x10) = local_b0 + 0x15" (pointer_expression "*(undefined ****)((int)piVar18 + -0x10)" * (cast_expression "(undefined ****)((int)piVar18 + -0x10)" ( (type_descriptor "undefined ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) (parenthesized_expression "((int)piVar18 + -0x10)" ( (binary_expression "(int)piVar18 + -0x10" (cast_expression "(int)piVar18" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "local_b0 + 0x15" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)((int)piVar18 + -0x14) = 0xd2e84;" (assignment_expression "*(undefined4 *)((int)piVar18 + -0x14) = 0xd2e84" (pointer_expression "*(undefined4 *)((int)piVar18 + -0x14)" * (cast_expression "(undefined4 *)((int)piVar18 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar18 + -0x14)" ( (binary_expression "(int)piVar18 + -0x14" (cast_expression "(int)piVar18" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "local_c8 = FUN_00074520();" (assignment_expression "local_c8 = FUN_00074520()" identifier = (call_expression "FUN_00074520()" identifier (argument_list "()" ( )))) ;) (expression_statement "local_cc = local_c8 + 0xc;" (assignment_expression "local_cc = local_c8 + 0xc" identifier = (binary_expression "local_c8 + 0xc" identifier + number_literal)) ;) (expression_statement "unaff_ESI = (undefined **)(local_c8 + 0x18);" (assignment_expression "unaff_ESI = (undefined **)(local_c8 + 0x18)" identifier = (cast_expression "(undefined **)(local_c8 + 0x18)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(local_c8 + 0x18)" ( (binary_expression "local_c8 + 0x18" identifier + number_literal) )))) ;) (expression_statement "local_d0 = local_c8 + 0x24;" (assignment_expression "local_d0 = local_c8 + 0x24" identifier = (binary_expression "local_c8 + 0x24" identifier + number_literal)) ;) (expression_statement "local_ec = local_c8 + 0x30;" (assignment_expression "local_ec = local_c8 + 0x30" identifier = (binary_expression "local_c8 + 0x30" identifier + number_literal)) ;) (expression_statement "iVar19 = *local_dc;" (assignment_expression "iVar19 = *local_dc" identifier = (pointer_expression "*local_dc" * identifier)) ;) (expression_statement "local_d1 = '\x01';" (assignment_expression "local_d1 = '\x01'" identifier = (char_literal "'\x01'" ' escape_sequence ')) ;) (expression_statement "local_e8 = unaff_ESI;" (assignment_expression "local_e8 = unaff_ESI" identifier = identifier) ;) }))) (if_statement "if (*(int *)(iVar19 + 8) == 0) {\n    *(undefined ***)((int)piVar18 + -4) = unaff_ESI;\n    *(undefined ***)((int)piVar18 + -8) = local_b8 + -0x61176;\n    *(undefined4 *)((int)piVar18 + -0xc) = 0x5c;\n    *(int *)((int)piVar18 + -0x10) = (int)local_b8 + -0x1a1d93;\n                    \n                    \n    *(undefined4 *)((int)piVar18 + -0x14) = 0xd2fe5;\n    FUN_002446e0();\n  }" if (parenthesized_expression "(*(int *)(iVar19 + 8) == 0)" ( (binary_expression "*(int *)(iVar19 + 8) == 0" (pointer_expression "*(int *)(iVar19 + 8)" * (cast_expression "(int *)(iVar19 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar19 + 8)" ( (binary_expression "iVar19 + 8" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n    *(undefined ***)((int)piVar18 + -4) = unaff_ESI;\n    *(undefined ***)((int)piVar18 + -8) = local_b8 + -0x61176;\n    *(undefined4 *)((int)piVar18 + -0xc) = 0x5c;\n    *(int *)((int)piVar18 + -0x10) = (int)local_b8 + -0x1a1d93;\n                    \n                    \n    *(undefined4 *)((int)piVar18 + -0x14) = 0xd2fe5;\n    FUN_002446e0();\n  }" { (expression_statement "*(undefined ***)((int)piVar18 + -4) = unaff_ESI;" (assignment_expression "*(undefined ***)((int)piVar18 + -4) = unaff_ESI" (pointer_expression "*(undefined ***)((int)piVar18 + -4)" * (cast_expression "(undefined ***)((int)piVar18 + -4)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "((int)piVar18 + -4)" ( (binary_expression "(int)piVar18 + -4" (cast_expression "(int)piVar18" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined ***)((int)piVar18 + -8) = local_b8 + -0x61176;" (assignment_expression "*(undefined ***)((int)piVar18 + -8) = local_b8 + -0x61176" (pointer_expression "*(undefined ***)((int)piVar18 + -8)" * (cast_expression "(undefined ***)((int)piVar18 + -8)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "((int)piVar18 + -8)" ( (binary_expression "(int)piVar18 + -8" (cast_expression "(int)piVar18" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "local_b8 + -0x61176" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)((int)piVar18 + -0xc) = 0x5c;" (assignment_expression "*(undefined4 *)((int)piVar18 + -0xc) = 0x5c" (pointer_expression "*(undefined4 *)((int)piVar18 + -0xc)" * (cast_expression "(undefined4 *)((int)piVar18 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar18 + -0xc)" ( (binary_expression "(int)piVar18 + -0xc" (cast_expression "(int)piVar18" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)((int)piVar18 + -0x10) = (int)local_b8 + -0x1a1d93;" (assignment_expression "*(int *)((int)piVar18 + -0x10) = (int)local_b8 + -0x1a1d93" (pointer_expression "*(int *)((int)piVar18 + -0x10)" * (cast_expression "(int *)((int)piVar18 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar18 + -0x10)" ( (binary_expression "(int)piVar18 + -0x10" (cast_expression "(int)piVar18" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "(int)local_b8 + -0x1a1d93" (cast_expression "(int)local_b8" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) (expression_statement "*(undefined4 *)((int)piVar18 + -0x14) = 0xd2fe5;" (assignment_expression "*(undefined4 *)((int)piVar18 + -0x14) = 0xd2fe5" (pointer_expression "*(undefined4 *)((int)piVar18 + -0x14)" * (cast_expression "(undefined4 *)((int)piVar18 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar18 + -0x14)" ( (binary_expression "(int)piVar18 + -0x14" (cast_expression "(int)piVar18" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "FUN_002446e0();" (call_expression "FUN_002446e0()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "local_d2 = '\0';" (assignment_expression "local_d2 = '\0'" identifier = (char_literal "'\0'" ' escape_sequence ')) ;) (if_statement "if (*(int *)(*(int *)(iVar19 + 8) + 0x5934) == 2) {\n    *(undefined4 *)((int)piVar18 + -0x10) = param_1;\n    *(undefined4 *)((int)piVar18 + -0x14) = 0xd2ceb;\n    local_d2 = FUN_000aaa70();\n    bVar24 = false;\n    bVar26 = local_d2 == '\0';\n    if (!bVar26) {\n      iVar19 = 0xc;\n      local_d2 = '\0';\n      ppuVar14 = local_b8 + -0x66894;\n      pbVar20 = local_4c[0];\n      do {\n        if (iVar19 == 0) break;\n        iVar19 = iVar19 + -1;\n        bVar24 = *(byte *)ppuVar14 < *pbVar20;\n        bVar26 = *(byte *)ppuVar14 == *pbVar20;\n        ppuVar14 = (undefined **)((int)ppuVar14 + (uint)bVar27 * -2 + 1);\n        pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n      } while (bVar26);\n      bVar25 = false;\n      bVar24 = (!bVar24 && !bVar26) == bVar24;\n      if (!bVar24) {\n        iVar19 = 0x11;\n        pbVar20 = (byte *)((int)local_b8 + -0x19a243);\n        pbVar9 = local_4c[0];\n        do {\n          if (iVar19 == 0) break;\n          iVar19 = iVar19 + -1;\n          bVar25 = *pbVar20 < *pbVar9;\n          bVar24 = *pbVar20 == *pbVar9;\n          pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n          pbVar9 = pbVar9 + (uint)bVar27 * -2 + 1;\n        } while (bVar24);\n        bVar26 = false;\n        bVar24 = (!bVar25 && !bVar24) == bVar25;\n        if (!bVar24) {\n          iVar19 = 0xc;\n          pbVar20 = (byte *)((int)local_b8 + -0x19a231);\n          pbVar9 = local_4c[0];\n          do {\n            if (iVar19 == 0) break;\n            iVar19 = iVar19 + -1;\n            bVar26 = *pbVar20 < *pbVar9;\n            bVar24 = *pbVar20 == *pbVar9;\n            pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n            pbVar9 = pbVar9 + (uint)bVar27 * -2 + 1;\n          } while (bVar24);\n          bVar25 = false;\n          bVar24 = (!bVar26 && !bVar24) == bVar26;\n          if (!bVar24) {\n            iVar19 = 0x11;\n            ppuVar14 = local_b8 + -0x66889;\n            pbVar20 = local_4c[0];\n            do {\n              if (iVar19 == 0) break;\n              iVar19 = iVar19 + -1;\n              bVar25 = *(byte *)ppuVar14 < *pbVar20;\n              bVar24 = *(byte *)ppuVar14 == *pbVar20;\n              ppuVar14 = (undefined **)((int)ppuVar14 + (uint)bVar27 * -2 + 1);\n              pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n            } while (bVar24);\n            bVar26 = false;\n            bVar24 = (!bVar25 && !bVar24) == bVar25;\n            if (!bVar24) {\n              iVar19 = 9;\n              pbVar20 = (byte *)((int)local_b8 + -0x19a212);\n              pbVar9 = local_4c[0];\n              do {\n                if (iVar19 == 0) break;\n                iVar19 = iVar19 + -1;\n                bVar26 = *pbVar20 < *pbVar9;\n                bVar24 = *pbVar20 == *pbVar9;\n                pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n                pbVar9 = pbVar9 + (uint)bVar27 * -2 + 1;\n              } while (bVar24);\n              local_d2 = (!bVar26 && !bVar24) != bVar26;\n            }\n          }\n        }\n      }\n    }\n  }" if (parenthesized_expression "(*(int *)(*(int *)(iVar19 + 8) + 0x5934) == 2)" ( (binary_expression "*(int *)(*(int *)(iVar19 + 8) + 0x5934) == 2" (pointer_expression "*(int *)(*(int *)(iVar19 + 8) + 0x5934)" * (cast_expression "(int *)(*(int *)(iVar19 + 8) + 0x5934)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(iVar19 + 8) + 0x5934)" ( (binary_expression "*(int *)(iVar19 + 8) + 0x5934" (pointer_expression "*(int *)(iVar19 + 8)" * (cast_expression "(int *)(iVar19 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar19 + 8)" ( (binary_expression "iVar19 + 8" identifier + number_literal) )))) + number_literal) )))) == number_literal) )) (compound_statement "{\n    *(undefined4 *)((int)piVar18 + -0x10) = param_1;\n    *(undefined4 *)((int)piVar18 + -0x14) = 0xd2ceb;\n    local_d2 = FUN_000aaa70();\n    bVar24 = false;\n    bVar26 = local_d2 == '\0';\n    if (!bVar26) {\n      iVar19 = 0xc;\n      local_d2 = '\0';\n      ppuVar14 = local_b8 + -0x66894;\n      pbVar20 = local_4c[0];\n      do {\n        if (iVar19 == 0) break;\n        iVar19 = iVar19 + -1;\n        bVar24 = *(byte *)ppuVar14 < *pbVar20;\n        bVar26 = *(byte *)ppuVar14 == *pbVar20;\n        ppuVar14 = (undefined **)((int)ppuVar14 + (uint)bVar27 * -2 + 1);\n        pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n      } while (bVar26);\n      bVar25 = false;\n      bVar24 = (!bVar24 && !bVar26) == bVar24;\n      if (!bVar24) {\n        iVar19 = 0x11;\n        pbVar20 = (byte *)((int)local_b8 + -0x19a243);\n        pbVar9 = local_4c[0];\n        do {\n          if (iVar19 == 0) break;\n          iVar19 = iVar19 + -1;\n          bVar25 = *pbVar20 < *pbVar9;\n          bVar24 = *pbVar20 == *pbVar9;\n          pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n          pbVar9 = pbVar9 + (uint)bVar27 * -2 + 1;\n        } while (bVar24);\n        bVar26 = false;\n        bVar24 = (!bVar25 && !bVar24) == bVar25;\n        if (!bVar24) {\n          iVar19 = 0xc;\n          pbVar20 = (byte *)((int)local_b8 + -0x19a231);\n          pbVar9 = local_4c[0];\n          do {\n            if (iVar19 == 0) break;\n            iVar19 = iVar19 + -1;\n            bVar26 = *pbVar20 < *pbVar9;\n            bVar24 = *pbVar20 == *pbVar9;\n            pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n            pbVar9 = pbVar9 + (uint)bVar27 * -2 + 1;\n          } while (bVar24);\n          bVar25 = false;\n          bVar24 = (!bVar26 && !bVar24) == bVar26;\n          if (!bVar24) {\n            iVar19 = 0x11;\n            ppuVar14 = local_b8 + -0x66889;\n            pbVar20 = local_4c[0];\n            do {\n              if (iVar19 == 0) break;\n              iVar19 = iVar19 + -1;\n              bVar25 = *(byte *)ppuVar14 < *pbVar20;\n              bVar24 = *(byte *)ppuVar14 == *pbVar20;\n              ppuVar14 = (undefined **)((int)ppuVar14 + (uint)bVar27 * -2 + 1);\n              pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n            } while (bVar24);\n            bVar26 = false;\n            bVar24 = (!bVar25 && !bVar24) == bVar25;\n            if (!bVar24) {\n              iVar19 = 9;\n              pbVar20 = (byte *)((int)local_b8 + -0x19a212);\n              pbVar9 = local_4c[0];\n              do {\n                if (iVar19 == 0) break;\n                iVar19 = iVar19 + -1;\n                bVar26 = *pbVar20 < *pbVar9;\n                bVar24 = *pbVar20 == *pbVar9;\n                pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n                pbVar9 = pbVar9 + (uint)bVar27 * -2 + 1;\n              } while (bVar24);\n              local_d2 = (!bVar26 && !bVar24) != bVar26;\n            }\n          }\n        }\n      }\n    }\n  }" { (expression_statement "*(undefined4 *)((int)piVar18 + -0x10) = param_1;" (assignment_expression "*(undefined4 *)((int)piVar18 + -0x10) = param_1" (pointer_expression "*(undefined4 *)((int)piVar18 + -0x10)" * (cast_expression "(undefined4 *)((int)piVar18 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar18 + -0x10)" ( (binary_expression "(int)piVar18 + -0x10" (cast_expression "(int)piVar18" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)piVar18 + -0x14) = 0xd2ceb;" (assignment_expression "*(undefined4 *)((int)piVar18 + -0x14) = 0xd2ceb" (pointer_expression "*(undefined4 *)((int)piVar18 + -0x14)" * (cast_expression "(undefined4 *)((int)piVar18 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar18 + -0x14)" ( (binary_expression "(int)piVar18 + -0x14" (cast_expression "(int)piVar18" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "local_d2 = FUN_000aaa70();" (assignment_expression "local_d2 = FUN_000aaa70()" identifier = (call_expression "FUN_000aaa70()" identifier (argument_list "()" ( )))) ;) (expression_statement "bVar24 = false;" (assignment_expression "bVar24 = false" identifier = false) ;) (expression_statement "bVar26 = local_d2 == '\0';" (assignment_expression "bVar26 = local_d2 == '\0'" identifier = (binary_expression "local_d2 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence '))) ;) (if_statement "if (!bVar26) {\n      iVar19 = 0xc;\n      local_d2 = '\0';\n      ppuVar14 = local_b8 + -0x66894;\n      pbVar20 = local_4c[0];\n      do {\n        if (iVar19 == 0) break;\n        iVar19 = iVar19 + -1;\n        bVar24 = *(byte *)ppuVar14 < *pbVar20;\n        bVar26 = *(byte *)ppuVar14 == *pbVar20;\n        ppuVar14 = (undefined **)((int)ppuVar14 + (uint)bVar27 * -2 + 1);\n        pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n      } while (bVar26);\n      bVar25 = false;\n      bVar24 = (!bVar24 && !bVar26) == bVar24;\n      if (!bVar24) {\n        iVar19 = 0x11;\n        pbVar20 = (byte *)((int)local_b8 + -0x19a243);\n        pbVar9 = local_4c[0];\n        do {\n          if (iVar19 == 0) break;\n          iVar19 = iVar19 + -1;\n          bVar25 = *pbVar20 < *pbVar9;\n          bVar24 = *pbVar20 == *pbVar9;\n          pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n          pbVar9 = pbVar9 + (uint)bVar27 * -2 + 1;\n        } while (bVar24);\n        bVar26 = false;\n        bVar24 = (!bVar25 && !bVar24) == bVar25;\n        if (!bVar24) {\n          iVar19 = 0xc;\n          pbVar20 = (byte *)((int)local_b8 + -0x19a231);\n          pbVar9 = local_4c[0];\n          do {\n            if (iVar19 == 0) break;\n            iVar19 = iVar19 + -1;\n            bVar26 = *pbVar20 < *pbVar9;\n            bVar24 = *pbVar20 == *pbVar9;\n            pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n            pbVar9 = pbVar9 + (uint)bVar27 * -2 + 1;\n          } while (bVar24);\n          bVar25 = false;\n          bVar24 = (!bVar26 && !bVar24) == bVar26;\n          if (!bVar24) {\n            iVar19 = 0x11;\n            ppuVar14 = local_b8 + -0x66889;\n            pbVar20 = local_4c[0];\n            do {\n              if (iVar19 == 0) break;\n              iVar19 = iVar19 + -1;\n              bVar25 = *(byte *)ppuVar14 < *pbVar20;\n              bVar24 = *(byte *)ppuVar14 == *pbVar20;\n              ppuVar14 = (undefined **)((int)ppuVar14 + (uint)bVar27 * -2 + 1);\n              pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n            } while (bVar24);\n            bVar26 = false;\n            bVar24 = (!bVar25 && !bVar24) == bVar25;\n            if (!bVar24) {\n              iVar19 = 9;\n              pbVar20 = (byte *)((int)local_b8 + -0x19a212);\n              pbVar9 = local_4c[0];\n              do {\n                if (iVar19 == 0) break;\n                iVar19 = iVar19 + -1;\n                bVar26 = *pbVar20 < *pbVar9;\n                bVar24 = *pbVar20 == *pbVar9;\n                pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n                pbVar9 = pbVar9 + (uint)bVar27 * -2 + 1;\n              } while (bVar24);\n              local_d2 = (!bVar26 && !bVar24) != bVar26;\n            }\n          }\n        }\n      }\n    }" if (parenthesized_expression "(!bVar26)" ( (unary_expression "!bVar26" ! identifier) )) (compound_statement "{\n      iVar19 = 0xc;\n      local_d2 = '\0';\n      ppuVar14 = local_b8 + -0x66894;\n      pbVar20 = local_4c[0];\n      do {\n        if (iVar19 == 0) break;\n        iVar19 = iVar19 + -1;\n        bVar24 = *(byte *)ppuVar14 < *pbVar20;\n        bVar26 = *(byte *)ppuVar14 == *pbVar20;\n        ppuVar14 = (undefined **)((int)ppuVar14 + (uint)bVar27 * -2 + 1);\n        pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n      } while (bVar26);\n      bVar25 = false;\n      bVar24 = (!bVar24 && !bVar26) == bVar24;\n      if (!bVar24) {\n        iVar19 = 0x11;\n        pbVar20 = (byte *)((int)local_b8 + -0x19a243);\n        pbVar9 = local_4c[0];\n        do {\n          if (iVar19 == 0) break;\n          iVar19 = iVar19 + -1;\n          bVar25 = *pbVar20 < *pbVar9;\n          bVar24 = *pbVar20 == *pbVar9;\n          pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n          pbVar9 = pbVar9 + (uint)bVar27 * -2 + 1;\n        } while (bVar24);\n        bVar26 = false;\n        bVar24 = (!bVar25 && !bVar24) == bVar25;\n        if (!bVar24) {\n          iVar19 = 0xc;\n          pbVar20 = (byte *)((int)local_b8 + -0x19a231);\n          pbVar9 = local_4c[0];\n          do {\n            if (iVar19 == 0) break;\n            iVar19 = iVar19 + -1;\n            bVar26 = *pbVar20 < *pbVar9;\n            bVar24 = *pbVar20 == *pbVar9;\n            pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n            pbVar9 = pbVar9 + (uint)bVar27 * -2 + 1;\n          } while (bVar24);\n          bVar25 = false;\n          bVar24 = (!bVar26 && !bVar24) == bVar26;\n          if (!bVar24) {\n            iVar19 = 0x11;\n            ppuVar14 = local_b8 + -0x66889;\n            pbVar20 = local_4c[0];\n            do {\n              if (iVar19 == 0) break;\n              iVar19 = iVar19 + -1;\n              bVar25 = *(byte *)ppuVar14 < *pbVar20;\n              bVar24 = *(byte *)ppuVar14 == *pbVar20;\n              ppuVar14 = (undefined **)((int)ppuVar14 + (uint)bVar27 * -2 + 1);\n              pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n            } while (bVar24);\n            bVar26 = false;\n            bVar24 = (!bVar25 && !bVar24) == bVar25;\n            if (!bVar24) {\n              iVar19 = 9;\n              pbVar20 = (byte *)((int)local_b8 + -0x19a212);\n              pbVar9 = local_4c[0];\n              do {\n                if (iVar19 == 0) break;\n                iVar19 = iVar19 + -1;\n                bVar26 = *pbVar20 < *pbVar9;\n                bVar24 = *pbVar20 == *pbVar9;\n                pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n                pbVar9 = pbVar9 + (uint)bVar27 * -2 + 1;\n              } while (bVar24);\n              local_d2 = (!bVar26 && !bVar24) != bVar26;\n            }\n          }\n        }\n      }\n    }" { (expression_statement "iVar19 = 0xc;" (assignment_expression "iVar19 = 0xc" identifier = number_literal) ;) (expression_statement "local_d2 = '\0';" (assignment_expression "local_d2 = '\0'" identifier = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "ppuVar14 = local_b8 + -0x66894;" (assignment_expression "ppuVar14 = local_b8 + -0x66894" identifier = (binary_expression "local_b8 + -0x66894" identifier + number_literal)) ;) (expression_statement "pbVar20 = local_4c[0];" (assignment_expression "pbVar20 = local_4c[0]" identifier = (subscript_expression "local_4c[0]" identifier [ number_literal ])) ;) (do_statement "do {\n        if (iVar19 == 0) break;\n        iVar19 = iVar19 + -1;\n        bVar24 = *(byte *)ppuVar14 < *pbVar20;\n        bVar26 = *(byte *)ppuVar14 == *pbVar20;\n        ppuVar14 = (undefined **)((int)ppuVar14 + (uint)bVar27 * -2 + 1);\n        pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n      } while (bVar26);" do (compound_statement "{\n        if (iVar19 == 0) break;\n        iVar19 = iVar19 + -1;\n        bVar24 = *(byte *)ppuVar14 < *pbVar20;\n        bVar26 = *(byte *)ppuVar14 == *pbVar20;\n        ppuVar14 = (undefined **)((int)ppuVar14 + (uint)bVar27 * -2 + 1);\n        pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n      }" { (if_statement "if (iVar19 == 0) break;" if (parenthesized_expression "(iVar19 == 0)" ( (binary_expression "iVar19 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar19 = iVar19 + -1;" (assignment_expression "iVar19 = iVar19 + -1" identifier = (binary_expression "iVar19 + -1" identifier + number_literal)) ;) (expression_statement "bVar24 = *(byte *)ppuVar14 < *pbVar20;" (assignment_expression "bVar24 = *(byte *)ppuVar14 < *pbVar20" identifier = (binary_expression "*(byte *)ppuVar14 < *pbVar20" (pointer_expression "*(byte *)ppuVar14" * (cast_expression "(byte *)ppuVar14" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) < (pointer_expression "*pbVar20" * identifier))) ;) (expression_statement "bVar26 = *(byte *)ppuVar14 == *pbVar20;" (assignment_expression "bVar26 = *(byte *)ppuVar14 == *pbVar20" identifier = (binary_expression "*(byte *)ppuVar14 == *pbVar20" (pointer_expression "*(byte *)ppuVar14" * (cast_expression "(byte *)ppuVar14" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) == (pointer_expression "*pbVar20" * identifier))) ;) (expression_statement "ppuVar14 = (undefined **)((int)ppuVar14 + (uint)bVar27 * -2 + 1);" (assignment_expression "ppuVar14 = (undefined **)((int)ppuVar14 + (uint)bVar27 * -2 + 1)" identifier = (cast_expression "(undefined **)((int)ppuVar14 + (uint)bVar27 * -2 + 1)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)ppuVar14 + (uint)bVar27 * -2 + 1)" ( (binary_expression "(int)ppuVar14 + (uint)bVar27 * -2 + 1" (binary_expression "(int)ppuVar14 + (uint)bVar27 * -2" (cast_expression "(int)ppuVar14" ( (type_descriptor "int" primitive_type) ) identifier) + (binary_expression "(uint)bVar27 * -2" (cast_expression "(uint)bVar27" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal) )))) ;) (expression_statement "pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;" (assignment_expression "pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1" identifier = (binary_expression "pbVar20 + (uint)bVar27 * -2 + 1" (binary_expression "pbVar20 + (uint)bVar27 * -2" identifier + (binary_expression "(uint)bVar27 * -2" (cast_expression "(uint)bVar27" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(bVar26)" ( identifier )) ;) (expression_statement "bVar25 = false;" (assignment_expression "bVar25 = false" identifier = false) ;) (expression_statement "bVar24 = (!bVar24 && !bVar26) == bVar24;" (assignment_expression "bVar24 = (!bVar24 && !bVar26) == bVar24" identifier = (binary_expression "(!bVar24 && !bVar26) == bVar24" (parenthesized_expression "(!bVar24 && !bVar26)" ( (binary_expression "!bVar24 && !bVar26" (unary_expression "!bVar24" ! identifier) && (unary_expression "!bVar26" ! identifier)) )) == identifier)) ;) (if_statement "if (!bVar24) {\n        iVar19 = 0x11;\n        pbVar20 = (byte *)((int)local_b8 + -0x19a243);\n        pbVar9 = local_4c[0];\n        do {\n          if (iVar19 == 0) break;\n          iVar19 = iVar19 + -1;\n          bVar25 = *pbVar20 < *pbVar9;\n          bVar24 = *pbVar20 == *pbVar9;\n          pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n          pbVar9 = pbVar9 + (uint)bVar27 * -2 + 1;\n        } while (bVar24);\n        bVar26 = false;\n        bVar24 = (!bVar25 && !bVar24) == bVar25;\n        if (!bVar24) {\n          iVar19 = 0xc;\n          pbVar20 = (byte *)((int)local_b8 + -0x19a231);\n          pbVar9 = local_4c[0];\n          do {\n            if (iVar19 == 0) break;\n            iVar19 = iVar19 + -1;\n            bVar26 = *pbVar20 < *pbVar9;\n            bVar24 = *pbVar20 == *pbVar9;\n            pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n            pbVar9 = pbVar9 + (uint)bVar27 * -2 + 1;\n          } while (bVar24);\n          bVar25 = false;\n          bVar24 = (!bVar26 && !bVar24) == bVar26;\n          if (!bVar24) {\n            iVar19 = 0x11;\n            ppuVar14 = local_b8 + -0x66889;\n            pbVar20 = local_4c[0];\n            do {\n              if (iVar19 == 0) break;\n              iVar19 = iVar19 + -1;\n              bVar25 = *(byte *)ppuVar14 < *pbVar20;\n              bVar24 = *(byte *)ppuVar14 == *pbVar20;\n              ppuVar14 = (undefined **)((int)ppuVar14 + (uint)bVar27 * -2 + 1);\n              pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n            } while (bVar24);\n            bVar26 = false;\n            bVar24 = (!bVar25 && !bVar24) == bVar25;\n            if (!bVar24) {\n              iVar19 = 9;\n              pbVar20 = (byte *)((int)local_b8 + -0x19a212);\n              pbVar9 = local_4c[0];\n              do {\n                if (iVar19 == 0) break;\n                iVar19 = iVar19 + -1;\n                bVar26 = *pbVar20 < *pbVar9;\n                bVar24 = *pbVar20 == *pbVar9;\n                pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n                pbVar9 = pbVar9 + (uint)bVar27 * -2 + 1;\n              } while (bVar24);\n              local_d2 = (!bVar26 && !bVar24) != bVar26;\n            }\n          }\n        }\n      }" if (parenthesized_expression "(!bVar24)" ( (unary_expression "!bVar24" ! identifier) )) (compound_statement "{\n        iVar19 = 0x11;\n        pbVar20 = (byte *)((int)local_b8 + -0x19a243);\n        pbVar9 = local_4c[0];\n        do {\n          if (iVar19 == 0) break;\n          iVar19 = iVar19 + -1;\n          bVar25 = *pbVar20 < *pbVar9;\n          bVar24 = *pbVar20 == *pbVar9;\n          pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n          pbVar9 = pbVar9 + (uint)bVar27 * -2 + 1;\n        } while (bVar24);\n        bVar26 = false;\n        bVar24 = (!bVar25 && !bVar24) == bVar25;\n        if (!bVar24) {\n          iVar19 = 0xc;\n          pbVar20 = (byte *)((int)local_b8 + -0x19a231);\n          pbVar9 = local_4c[0];\n          do {\n            if (iVar19 == 0) break;\n            iVar19 = iVar19 + -1;\n            bVar26 = *pbVar20 < *pbVar9;\n            bVar24 = *pbVar20 == *pbVar9;\n            pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n            pbVar9 = pbVar9 + (uint)bVar27 * -2 + 1;\n          } while (bVar24);\n          bVar25 = false;\n          bVar24 = (!bVar26 && !bVar24) == bVar26;\n          if (!bVar24) {\n            iVar19 = 0x11;\n            ppuVar14 = local_b8 + -0x66889;\n            pbVar20 = local_4c[0];\n            do {\n              if (iVar19 == 0) break;\n              iVar19 = iVar19 + -1;\n              bVar25 = *(byte *)ppuVar14 < *pbVar20;\n              bVar24 = *(byte *)ppuVar14 == *pbVar20;\n              ppuVar14 = (undefined **)((int)ppuVar14 + (uint)bVar27 * -2 + 1);\n              pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n            } while (bVar24);\n            bVar26 = false;\n            bVar24 = (!bVar25 && !bVar24) == bVar25;\n            if (!bVar24) {\n              iVar19 = 9;\n              pbVar20 = (byte *)((int)local_b8 + -0x19a212);\n              pbVar9 = local_4c[0];\n              do {\n                if (iVar19 == 0) break;\n                iVar19 = iVar19 + -1;\n                bVar26 = *pbVar20 < *pbVar9;\n                bVar24 = *pbVar20 == *pbVar9;\n                pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n                pbVar9 = pbVar9 + (uint)bVar27 * -2 + 1;\n              } while (bVar24);\n              local_d2 = (!bVar26 && !bVar24) != bVar26;\n            }\n          }\n        }\n      }" { (expression_statement "iVar19 = 0x11;" (assignment_expression "iVar19 = 0x11" identifier = number_literal) ;) (expression_statement "pbVar20 = (byte *)((int)local_b8 + -0x19a243);" (assignment_expression "pbVar20 = (byte *)((int)local_b8 + -0x19a243)" identifier = (cast_expression "(byte *)((int)local_b8 + -0x19a243)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_b8 + -0x19a243)" ( (binary_expression "(int)local_b8 + -0x19a243" (cast_expression "(int)local_b8" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "pbVar9 = local_4c[0];" (assignment_expression "pbVar9 = local_4c[0]" identifier = (subscript_expression "local_4c[0]" identifier [ number_literal ])) ;) (do_statement "do {\n          if (iVar19 == 0) break;\n          iVar19 = iVar19 + -1;\n          bVar25 = *pbVar20 < *pbVar9;\n          bVar24 = *pbVar20 == *pbVar9;\n          pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n          pbVar9 = pbVar9 + (uint)bVar27 * -2 + 1;\n        } while (bVar24);" do (compound_statement "{\n          if (iVar19 == 0) break;\n          iVar19 = iVar19 + -1;\n          bVar25 = *pbVar20 < *pbVar9;\n          bVar24 = *pbVar20 == *pbVar9;\n          pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n          pbVar9 = pbVar9 + (uint)bVar27 * -2 + 1;\n        }" { (if_statement "if (iVar19 == 0) break;" if (parenthesized_expression "(iVar19 == 0)" ( (binary_expression "iVar19 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar19 = iVar19 + -1;" (assignment_expression "iVar19 = iVar19 + -1" identifier = (binary_expression "iVar19 + -1" identifier + number_literal)) ;) (expression_statement "bVar25 = *pbVar20 < *pbVar9;" (assignment_expression "bVar25 = *pbVar20 < *pbVar9" identifier = (binary_expression "*pbVar20 < *pbVar9" (pointer_expression "*pbVar20" * identifier) < (pointer_expression "*pbVar9" * identifier))) ;) (expression_statement "bVar24 = *pbVar20 == *pbVar9;" (assignment_expression "bVar24 = *pbVar20 == *pbVar9" identifier = (binary_expression "*pbVar20 == *pbVar9" (pointer_expression "*pbVar20" * identifier) == (pointer_expression "*pbVar9" * identifier))) ;) (expression_statement "pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;" (assignment_expression "pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1" identifier = (binary_expression "pbVar20 + (uint)bVar27 * -2 + 1" (binary_expression "pbVar20 + (uint)bVar27 * -2" identifier + (binary_expression "(uint)bVar27 * -2" (cast_expression "(uint)bVar27" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar9 = pbVar9 + (uint)bVar27 * -2 + 1;" (assignment_expression "pbVar9 = pbVar9 + (uint)bVar27 * -2 + 1" identifier = (binary_expression "pbVar9 + (uint)bVar27 * -2 + 1" (binary_expression "pbVar9 + (uint)bVar27 * -2" identifier + (binary_expression "(uint)bVar27 * -2" (cast_expression "(uint)bVar27" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(bVar24)" ( identifier )) ;) (expression_statement "bVar26 = false;" (assignment_expression "bVar26 = false" identifier = false) ;) (expression_statement "bVar24 = (!bVar25 && !bVar24) == bVar25;" (assignment_expression "bVar24 = (!bVar25 && !bVar24) == bVar25" identifier = (binary_expression "(!bVar25 && !bVar24) == bVar25" (parenthesized_expression "(!bVar25 && !bVar24)" ( (binary_expression "!bVar25 && !bVar24" (unary_expression "!bVar25" ! identifier) && (unary_expression "!bVar24" ! identifier)) )) == identifier)) ;) (if_statement "if (!bVar24) {\n          iVar19 = 0xc;\n          pbVar20 = (byte *)((int)local_b8 + -0x19a231);\n          pbVar9 = local_4c[0];\n          do {\n            if (iVar19 == 0) break;\n            iVar19 = iVar19 + -1;\n            bVar26 = *pbVar20 < *pbVar9;\n            bVar24 = *pbVar20 == *pbVar9;\n            pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n            pbVar9 = pbVar9 + (uint)bVar27 * -2 + 1;\n          } while (bVar24);\n          bVar25 = false;\n          bVar24 = (!bVar26 && !bVar24) == bVar26;\n          if (!bVar24) {\n            iVar19 = 0x11;\n            ppuVar14 = local_b8 + -0x66889;\n            pbVar20 = local_4c[0];\n            do {\n              if (iVar19 == 0) break;\n              iVar19 = iVar19 + -1;\n              bVar25 = *(byte *)ppuVar14 < *pbVar20;\n              bVar24 = *(byte *)ppuVar14 == *pbVar20;\n              ppuVar14 = (undefined **)((int)ppuVar14 + (uint)bVar27 * -2 + 1);\n              pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n            } while (bVar24);\n            bVar26 = false;\n            bVar24 = (!bVar25 && !bVar24) == bVar25;\n            if (!bVar24) {\n              iVar19 = 9;\n              pbVar20 = (byte *)((int)local_b8 + -0x19a212);\n              pbVar9 = local_4c[0];\n              do {\n                if (iVar19 == 0) break;\n                iVar19 = iVar19 + -1;\n                bVar26 = *pbVar20 < *pbVar9;\n                bVar24 = *pbVar20 == *pbVar9;\n                pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n                pbVar9 = pbVar9 + (uint)bVar27 * -2 + 1;\n              } while (bVar24);\n              local_d2 = (!bVar26 && !bVar24) != bVar26;\n            }\n          }\n        }" if (parenthesized_expression "(!bVar24)" ( (unary_expression "!bVar24" ! identifier) )) (compound_statement "{\n          iVar19 = 0xc;\n          pbVar20 = (byte *)((int)local_b8 + -0x19a231);\n          pbVar9 = local_4c[0];\n          do {\n            if (iVar19 == 0) break;\n            iVar19 = iVar19 + -1;\n            bVar26 = *pbVar20 < *pbVar9;\n            bVar24 = *pbVar20 == *pbVar9;\n            pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n            pbVar9 = pbVar9 + (uint)bVar27 * -2 + 1;\n          } while (bVar24);\n          bVar25 = false;\n          bVar24 = (!bVar26 && !bVar24) == bVar26;\n          if (!bVar24) {\n            iVar19 = 0x11;\n            ppuVar14 = local_b8 + -0x66889;\n            pbVar20 = local_4c[0];\n            do {\n              if (iVar19 == 0) break;\n              iVar19 = iVar19 + -1;\n              bVar25 = *(byte *)ppuVar14 < *pbVar20;\n              bVar24 = *(byte *)ppuVar14 == *pbVar20;\n              ppuVar14 = (undefined **)((int)ppuVar14 + (uint)bVar27 * -2 + 1);\n              pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n            } while (bVar24);\n            bVar26 = false;\n            bVar24 = (!bVar25 && !bVar24) == bVar25;\n            if (!bVar24) {\n              iVar19 = 9;\n              pbVar20 = (byte *)((int)local_b8 + -0x19a212);\n              pbVar9 = local_4c[0];\n              do {\n                if (iVar19 == 0) break;\n                iVar19 = iVar19 + -1;\n                bVar26 = *pbVar20 < *pbVar9;\n                bVar24 = *pbVar20 == *pbVar9;\n                pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n                pbVar9 = pbVar9 + (uint)bVar27 * -2 + 1;\n              } while (bVar24);\n              local_d2 = (!bVar26 && !bVar24) != bVar26;\n            }\n          }\n        }" { (expression_statement "iVar19 = 0xc;" (assignment_expression "iVar19 = 0xc" identifier = number_literal) ;) (expression_statement "pbVar20 = (byte *)((int)local_b8 + -0x19a231);" (assignment_expression "pbVar20 = (byte *)((int)local_b8 + -0x19a231)" identifier = (cast_expression "(byte *)((int)local_b8 + -0x19a231)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_b8 + -0x19a231)" ( (binary_expression "(int)local_b8 + -0x19a231" (cast_expression "(int)local_b8" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "pbVar9 = local_4c[0];" (assignment_expression "pbVar9 = local_4c[0]" identifier = (subscript_expression "local_4c[0]" identifier [ number_literal ])) ;) (do_statement "do {\n            if (iVar19 == 0) break;\n            iVar19 = iVar19 + -1;\n            bVar26 = *pbVar20 < *pbVar9;\n            bVar24 = *pbVar20 == *pbVar9;\n            pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n            pbVar9 = pbVar9 + (uint)bVar27 * -2 + 1;\n          } while (bVar24);" do (compound_statement "{\n            if (iVar19 == 0) break;\n            iVar19 = iVar19 + -1;\n            bVar26 = *pbVar20 < *pbVar9;\n            bVar24 = *pbVar20 == *pbVar9;\n            pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n            pbVar9 = pbVar9 + (uint)bVar27 * -2 + 1;\n          }" { (if_statement "if (iVar19 == 0) break;" if (parenthesized_expression "(iVar19 == 0)" ( (binary_expression "iVar19 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar19 = iVar19 + -1;" (assignment_expression "iVar19 = iVar19 + -1" identifier = (binary_expression "iVar19 + -1" identifier + number_literal)) ;) (expression_statement "bVar26 = *pbVar20 < *pbVar9;" (assignment_expression "bVar26 = *pbVar20 < *pbVar9" identifier = (binary_expression "*pbVar20 < *pbVar9" (pointer_expression "*pbVar20" * identifier) < (pointer_expression "*pbVar9" * identifier))) ;) (expression_statement "bVar24 = *pbVar20 == *pbVar9;" (assignment_expression "bVar24 = *pbVar20 == *pbVar9" identifier = (binary_expression "*pbVar20 == *pbVar9" (pointer_expression "*pbVar20" * identifier) == (pointer_expression "*pbVar9" * identifier))) ;) (expression_statement "pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;" (assignment_expression "pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1" identifier = (binary_expression "pbVar20 + (uint)bVar27 * -2 + 1" (binary_expression "pbVar20 + (uint)bVar27 * -2" identifier + (binary_expression "(uint)bVar27 * -2" (cast_expression "(uint)bVar27" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar9 = pbVar9 + (uint)bVar27 * -2 + 1;" (assignment_expression "pbVar9 = pbVar9 + (uint)bVar27 * -2 + 1" identifier = (binary_expression "pbVar9 + (uint)bVar27 * -2 + 1" (binary_expression "pbVar9 + (uint)bVar27 * -2" identifier + (binary_expression "(uint)bVar27 * -2" (cast_expression "(uint)bVar27" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(bVar24)" ( identifier )) ;) (expression_statement "bVar25 = false;" (assignment_expression "bVar25 = false" identifier = false) ;) (expression_statement "bVar24 = (!bVar26 && !bVar24) == bVar26;" (assignment_expression "bVar24 = (!bVar26 && !bVar24) == bVar26" identifier = (binary_expression "(!bVar26 && !bVar24) == bVar26" (parenthesized_expression "(!bVar26 && !bVar24)" ( (binary_expression "!bVar26 && !bVar24" (unary_expression "!bVar26" ! identifier) && (unary_expression "!bVar24" ! identifier)) )) == identifier)) ;) (if_statement "if (!bVar24) {\n            iVar19 = 0x11;\n            ppuVar14 = local_b8 + -0x66889;\n            pbVar20 = local_4c[0];\n            do {\n              if (iVar19 == 0) break;\n              iVar19 = iVar19 + -1;\n              bVar25 = *(byte *)ppuVar14 < *pbVar20;\n              bVar24 = *(byte *)ppuVar14 == *pbVar20;\n              ppuVar14 = (undefined **)((int)ppuVar14 + (uint)bVar27 * -2 + 1);\n              pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n            } while (bVar24);\n            bVar26 = false;\n            bVar24 = (!bVar25 && !bVar24) == bVar25;\n            if (!bVar24) {\n              iVar19 = 9;\n              pbVar20 = (byte *)((int)local_b8 + -0x19a212);\n              pbVar9 = local_4c[0];\n              do {\n                if (iVar19 == 0) break;\n                iVar19 = iVar19 + -1;\n                bVar26 = *pbVar20 < *pbVar9;\n                bVar24 = *pbVar20 == *pbVar9;\n                pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n                pbVar9 = pbVar9 + (uint)bVar27 * -2 + 1;\n              } while (bVar24);\n              local_d2 = (!bVar26 && !bVar24) != bVar26;\n            }\n          }" if (parenthesized_expression "(!bVar24)" ( (unary_expression "!bVar24" ! identifier) )) (compound_statement "{\n            iVar19 = 0x11;\n            ppuVar14 = local_b8 + -0x66889;\n            pbVar20 = local_4c[0];\n            do {\n              if (iVar19 == 0) break;\n              iVar19 = iVar19 + -1;\n              bVar25 = *(byte *)ppuVar14 < *pbVar20;\n              bVar24 = *(byte *)ppuVar14 == *pbVar20;\n              ppuVar14 = (undefined **)((int)ppuVar14 + (uint)bVar27 * -2 + 1);\n              pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n            } while (bVar24);\n            bVar26 = false;\n            bVar24 = (!bVar25 && !bVar24) == bVar25;\n            if (!bVar24) {\n              iVar19 = 9;\n              pbVar20 = (byte *)((int)local_b8 + -0x19a212);\n              pbVar9 = local_4c[0];\n              do {\n                if (iVar19 == 0) break;\n                iVar19 = iVar19 + -1;\n                bVar26 = *pbVar20 < *pbVar9;\n                bVar24 = *pbVar20 == *pbVar9;\n                pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n                pbVar9 = pbVar9 + (uint)bVar27 * -2 + 1;\n              } while (bVar24);\n              local_d2 = (!bVar26 && !bVar24) != bVar26;\n            }\n          }" { (expression_statement "iVar19 = 0x11;" (assignment_expression "iVar19 = 0x11" identifier = number_literal) ;) (expression_statement "ppuVar14 = local_b8 + -0x66889;" (assignment_expression "ppuVar14 = local_b8 + -0x66889" identifier = (binary_expression "local_b8 + -0x66889" identifier + number_literal)) ;) (expression_statement "pbVar20 = local_4c[0];" (assignment_expression "pbVar20 = local_4c[0]" identifier = (subscript_expression "local_4c[0]" identifier [ number_literal ])) ;) (do_statement "do {\n              if (iVar19 == 0) break;\n              iVar19 = iVar19 + -1;\n              bVar25 = *(byte *)ppuVar14 < *pbVar20;\n              bVar24 = *(byte *)ppuVar14 == *pbVar20;\n              ppuVar14 = (undefined **)((int)ppuVar14 + (uint)bVar27 * -2 + 1);\n              pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n            } while (bVar24);" do (compound_statement "{\n              if (iVar19 == 0) break;\n              iVar19 = iVar19 + -1;\n              bVar25 = *(byte *)ppuVar14 < *pbVar20;\n              bVar24 = *(byte *)ppuVar14 == *pbVar20;\n              ppuVar14 = (undefined **)((int)ppuVar14 + (uint)bVar27 * -2 + 1);\n              pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n            }" { (if_statement "if (iVar19 == 0) break;" if (parenthesized_expression "(iVar19 == 0)" ( (binary_expression "iVar19 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar19 = iVar19 + -1;" (assignment_expression "iVar19 = iVar19 + -1" identifier = (binary_expression "iVar19 + -1" identifier + number_literal)) ;) (expression_statement "bVar25 = *(byte *)ppuVar14 < *pbVar20;" (assignment_expression "bVar25 = *(byte *)ppuVar14 < *pbVar20" identifier = (binary_expression "*(byte *)ppuVar14 < *pbVar20" (pointer_expression "*(byte *)ppuVar14" * (cast_expression "(byte *)ppuVar14" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) < (pointer_expression "*pbVar20" * identifier))) ;) (expression_statement "bVar24 = *(byte *)ppuVar14 == *pbVar20;" (assignment_expression "bVar24 = *(byte *)ppuVar14 == *pbVar20" identifier = (binary_expression "*(byte *)ppuVar14 == *pbVar20" (pointer_expression "*(byte *)ppuVar14" * (cast_expression "(byte *)ppuVar14" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) == (pointer_expression "*pbVar20" * identifier))) ;) (expression_statement "ppuVar14 = (undefined **)((int)ppuVar14 + (uint)bVar27 * -2 + 1);" (assignment_expression "ppuVar14 = (undefined **)((int)ppuVar14 + (uint)bVar27 * -2 + 1)" identifier = (cast_expression "(undefined **)((int)ppuVar14 + (uint)bVar27 * -2 + 1)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)ppuVar14 + (uint)bVar27 * -2 + 1)" ( (binary_expression "(int)ppuVar14 + (uint)bVar27 * -2 + 1" (binary_expression "(int)ppuVar14 + (uint)bVar27 * -2" (cast_expression "(int)ppuVar14" ( (type_descriptor "int" primitive_type) ) identifier) + (binary_expression "(uint)bVar27 * -2" (cast_expression "(uint)bVar27" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal) )))) ;) (expression_statement "pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;" (assignment_expression "pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1" identifier = (binary_expression "pbVar20 + (uint)bVar27 * -2 + 1" (binary_expression "pbVar20 + (uint)bVar27 * -2" identifier + (binary_expression "(uint)bVar27 * -2" (cast_expression "(uint)bVar27" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(bVar24)" ( identifier )) ;) (expression_statement "bVar26 = false;" (assignment_expression "bVar26 = false" identifier = false) ;) (expression_statement "bVar24 = (!bVar25 && !bVar24) == bVar25;" (assignment_expression "bVar24 = (!bVar25 && !bVar24) == bVar25" identifier = (binary_expression "(!bVar25 && !bVar24) == bVar25" (parenthesized_expression "(!bVar25 && !bVar24)" ( (binary_expression "!bVar25 && !bVar24" (unary_expression "!bVar25" ! identifier) && (unary_expression "!bVar24" ! identifier)) )) == identifier)) ;) (if_statement "if (!bVar24) {\n              iVar19 = 9;\n              pbVar20 = (byte *)((int)local_b8 + -0x19a212);\n              pbVar9 = local_4c[0];\n              do {\n                if (iVar19 == 0) break;\n                iVar19 = iVar19 + -1;\n                bVar26 = *pbVar20 < *pbVar9;\n                bVar24 = *pbVar20 == *pbVar9;\n                pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n                pbVar9 = pbVar9 + (uint)bVar27 * -2 + 1;\n              } while (bVar24);\n              local_d2 = (!bVar26 && !bVar24) != bVar26;\n            }" if (parenthesized_expression "(!bVar24)" ( (unary_expression "!bVar24" ! identifier) )) (compound_statement "{\n              iVar19 = 9;\n              pbVar20 = (byte *)((int)local_b8 + -0x19a212);\n              pbVar9 = local_4c[0];\n              do {\n                if (iVar19 == 0) break;\n                iVar19 = iVar19 + -1;\n                bVar26 = *pbVar20 < *pbVar9;\n                bVar24 = *pbVar20 == *pbVar9;\n                pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n                pbVar9 = pbVar9 + (uint)bVar27 * -2 + 1;\n              } while (bVar24);\n              local_d2 = (!bVar26 && !bVar24) != bVar26;\n            }" { (expression_statement "iVar19 = 9;" (assignment_expression "iVar19 = 9" identifier = number_literal) ;) (expression_statement "pbVar20 = (byte *)((int)local_b8 + -0x19a212);" (assignment_expression "pbVar20 = (byte *)((int)local_b8 + -0x19a212)" identifier = (cast_expression "(byte *)((int)local_b8 + -0x19a212)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_b8 + -0x19a212)" ( (binary_expression "(int)local_b8 + -0x19a212" (cast_expression "(int)local_b8" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "pbVar9 = local_4c[0];" (assignment_expression "pbVar9 = local_4c[0]" identifier = (subscript_expression "local_4c[0]" identifier [ number_literal ])) ;) (do_statement "do {\n                if (iVar19 == 0) break;\n                iVar19 = iVar19 + -1;\n                bVar26 = *pbVar20 < *pbVar9;\n                bVar24 = *pbVar20 == *pbVar9;\n                pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n                pbVar9 = pbVar9 + (uint)bVar27 * -2 + 1;\n              } while (bVar24);" do (compound_statement "{\n                if (iVar19 == 0) break;\n                iVar19 = iVar19 + -1;\n                bVar26 = *pbVar20 < *pbVar9;\n                bVar24 = *pbVar20 == *pbVar9;\n                pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n                pbVar9 = pbVar9 + (uint)bVar27 * -2 + 1;\n              }" { (if_statement "if (iVar19 == 0) break;" if (parenthesized_expression "(iVar19 == 0)" ( (binary_expression "iVar19 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar19 = iVar19 + -1;" (assignment_expression "iVar19 = iVar19 + -1" identifier = (binary_expression "iVar19 + -1" identifier + number_literal)) ;) (expression_statement "bVar26 = *pbVar20 < *pbVar9;" (assignment_expression "bVar26 = *pbVar20 < *pbVar9" identifier = (binary_expression "*pbVar20 < *pbVar9" (pointer_expression "*pbVar20" * identifier) < (pointer_expression "*pbVar9" * identifier))) ;) (expression_statement "bVar24 = *pbVar20 == *pbVar9;" (assignment_expression "bVar24 = *pbVar20 == *pbVar9" identifier = (binary_expression "*pbVar20 == *pbVar9" (pointer_expression "*pbVar20" * identifier) == (pointer_expression "*pbVar9" * identifier))) ;) (expression_statement "pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;" (assignment_expression "pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1" identifier = (binary_expression "pbVar20 + (uint)bVar27 * -2 + 1" (binary_expression "pbVar20 + (uint)bVar27 * -2" identifier + (binary_expression "(uint)bVar27 * -2" (cast_expression "(uint)bVar27" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar9 = pbVar9 + (uint)bVar27 * -2 + 1;" (assignment_expression "pbVar9 = pbVar9 + (uint)bVar27 * -2 + 1" identifier = (binary_expression "pbVar9 + (uint)bVar27 * -2 + 1" (binary_expression "pbVar9 + (uint)bVar27 * -2" identifier + (binary_expression "(uint)bVar27 * -2" (cast_expression "(uint)bVar27" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(bVar24)" ( identifier )) ;) (expression_statement "local_d2 = (!bVar26 && !bVar24) != bVar26;" (assignment_expression "local_d2 = (!bVar26 && !bVar24) != bVar26" identifier = (binary_expression "(!bVar26 && !bVar24) != bVar26" (parenthesized_expression "(!bVar26 && !bVar24)" ( (binary_expression "!bVar26 && !bVar24" (unary_expression "!bVar26" ! identifier) && (unary_expression "!bVar24" ! identifier)) )) != identifier)) ;) })) })) })) })) })) })) (if_statement "if (param_8 != 0) {\n    local_d8 = (byte *)0x0;\n    local_e0 = local_a4;\n    local_f4 = &local_8c;\n    local_e4 = 0;\n    do {\n      uVar2 = param_7[1];\n      uVar21 = uVar2 & 0xff;\n      puVar15 = (undefined *)(uVar2 >> 8);\n      local_bc = (undefined *)param_7[2];\n      if (puVar15 < param_11) {\n        if (param_12 == 0) {\n          *(undefined ***)((int)piVar18 + -8) = local_b8 + -0x615ed;\n          *(undefined4 *)((int)piVar18 + -0xc) = 0xea;\n          *(int *)((int)piVar18 + -0x10) = (int)local_b8 + -0x19ca36;\n                    \n                    \n          *(undefined **)((int)piVar18 + -0x14) = &UNK_000d2f49;\n          FUN_002446e0();\n        }\n        iVar19 = (int)puVar15 * 0x10 + param_12;\n        local_b4 = (undefined **)(uint)*(ushort *)(iVar19 + 0xe);\n        if (local_b4 < (undefined **)0xff00) {\nLAB_000d24ee:\n          ppuVar14 = *(undefined ***)(iVar19 + 4);\n          local_c4 = local_bc + (int)ppuVar14;\n          if (local_d1 != '\0') {\n            local_34 = param_4;\n            local_30 = local_b4;\n            local_b0 = &local_34;\n            *(undefined ****)((int)piVar18 + -0xc) = local_b0;\n            *(int *)((int)piVar18 + -0x10) = local_c8;\n            *(undefined4 *)((int)piVar18 + -0x14) = 0xd2533;\n            FUN_00073b00();\n            local_c0 = (undefined **)CONCAT31(local_c0._1_3_,1);\n            if ((*(byte *)(iVar19 + 0xc) & 0xf) == 3) goto LAB_000d254c;\nLAB_000d23e8:\n            *(undefined ****)((int)piVar18 + -0xc) = local_b0;\n            *(int *)((int)piVar18 + -0x10) = local_cc;\n            local_34 = (undefined **)0x0;\n            *(undefined4 *)((int)piVar18 + -0x14) = 0xd2403;\n            FUN_00073ca0();\n            goto LAB_000d2403;\n          }\n        }\n        else {\n          if (local_b4 == (undefined **)0xffff) {\n            puVar7 = param_4[0xc];\n            if (puVar7 == (undefined *)0x0) {\n              puVar7 = *param_4;\n              *(undefined ***)((int)piVar18 + -0x10) = param_4;\n              pcVar4 = *(code **)(puVar7 + 0x6c);\n              *(undefined4 *)((int)piVar18 + -0x14) = 0xd2a4e;\n              puVar7 = (undefined *)(*pcVar4)();\n              param_4[0xc] = puVar7;\n            }\n            *(undefined **)((int)piVar18 + -8) = puVar15;\n            *(undefined ***)((int)piVar18 + -0xc) = param_4;\n            *(undefined **)((int)piVar18 + -0x10) = puVar7;\n            *(undefined4 *)((int)piVar18 + -0x14) = 0xd2591;\n            local_b4 = (undefined **)FUN_0028b7d0();\n            goto LAB_000d24ee;\n          }\n          ppuVar14 = *(undefined ***)(iVar19 + 4);\n          local_c4 = local_bc + (int)ppuVar14;\n          if (local_d1 == '\0') goto LAB_000d2489;\n          local_b0 = &local_34;\n          local_34 = (undefined **)0x0;\n          *(undefined ****)((int)piVar18 + -0xc) = local_b0;\n          *(int *)((int)piVar18 + -0x10) = local_c8;\n          local_30 = (undefined **)0x0;\n                    \n          *(undefined4 *)((int)piVar18 + -0x14) = 0xd23cf;\n          FUN_00073b00();\n          local_c0 = (undefined **)((uint)local_c0 & 0xffffff00);\n          if ((*(byte *)(iVar19 + 0xc) & 0xf) != 3) goto LAB_000d23e8;\nLAB_000d254c:\n          *(undefined ****)((int)piVar18 + -0xc) = local_b0;\n          *(int *)((int)piVar18 + -0x10) = local_cc;\n          local_34 = (undefined **)0xffffffff;\n          *(undefined4 *)((int)piVar18 + -0x14) = 0xd2567;\n          FUN_00073ca0();\nLAB_000d2403:\n          *(undefined ****)((int)piVar18 + -0xc) = local_b0;\n          *(undefined ***)((int)piVar18 + -0x10) = local_e8;\n          local_2c = local_bc;\n          local_28 = (int)local_bc >> 0x1f;\n          local_30 = (undefined **)0x0;\n          *(undefined4 *)((int)piVar18 + -0x14) = 0xd2433;\n          local_34 = ppuVar14;\n          FUN_00073e70();\n          local_30 = (undefined **)0x0;\n          local_34 = (undefined **)*param_7;\n          puVar1 = *(undefined4 **)(local_d0 + 4);\n          if (puVar1 == *(undefined4 **)(local_d0 + 8)) {\n            *(undefined ****)((int)piVar18 + -8) = local_b0;\n            *(undefined4 **)((int)piVar18 + -0xc) = puVar1;\n            *(int *)((int)piVar18 + -0x10) = local_d0;\n            *(undefined4 *)((int)piVar18 + -0x14) = 0xd2b0d;\n            FUN_00072a40();\n          }\n          else {\n            *puVar1 = local_34;\n            puVar1[1] = 0;\n            *(undefined4 **)(local_d0 + 4) = puVar1 + 2;\n          }\n          local_68 = (undefined **)0x0;\n          *(undefined ****)((int)piVar18 + -0xc) = &local_68;\n          *(int *)((int)piVar18 + -0x10) = local_ec;\n          *(undefined4 *)((int)piVar18 + -0x14) = 0xd2479;\n          FUN_00074020();\n          if ((char)local_c0 == '\0') goto LAB_000d2489;\n        }\n        if (((local_d2 != '\0') && ((*(byte *)(iVar19 + 0xc) & 0xf) != 1)) &&\n           ((0x17 < uVar21 || ((0x843f84U >> (uVar2 & 0x1f) & 1) == 0)))) {\n          local_b0 = *(undefined ****)(param_2 + 0x15c);\n          local_80 = param_4;\n          local_7c = (uint)*(ushort *)(iVar19 + 0xe);\n          *(undefined4 *)((int)piVar18 + -0xc) = 1;\n          *(undefined4 *)((int)piVar18 + -0x10) = 0;\n          local_98 = local_b0 + 0xd;\n          *(undefined *****)((int)piVar18 + -0x14) = &local_98;\n          *(undefined ****)((int)piVar18 + -0x18) = &local_80;\n          *(undefined ****)((int)piVar18 + -0x1c) = local_98;\n          *(undefined1 **)((int)piVar18 + -0x20) = local_e0;\n          *(undefined4 *)((int)piVar18 + -0x24) = 0xd2ad1;\n          FUN_00074280();\n          piVar18 = (int *)((int)piVar18 + -4);\n        }\n        if (param_5 != local_b4) {\n          local_c0 = param_4;\n          puVar17 = (undefined1 *)piVar18;\nLAB_000d275e:\n          if (*(int *)(*local_dc + 8) == 0) {\n            *(undefined ***)(puVar17 + -8) = local_b8 + -0x61176;\n            *(undefined4 *)(puVar17 + -0xc) = 0x5c;\n            *(int *)(puVar17 + -0x10) = (int)local_b8 + -0x1a1d93;\n                    \n            *(undefined4 *)(puVar17 + -0x14) = 0xd2f6e;\n            FUN_002446e0();\n          }\n          piVar18 = (int *)puVar17;\n          if (*(char *)(*(int *)(*local_dc + 8) + 0x18b1) != '\0') {\n            local_70 = param_4;\n            iVar19 = *(int *)(param_2 + 0x158) + 0x14;\n            local_6c = param_5;\n            local_68 = local_c0;\n            local_64 = local_b4;\n            iVar3 = *(int *)(*(int *)(param_2 + 0x158) + 0x18);\n            iVar10 = iVar19;\n            if (iVar3 == 0) {\nLAB_000d27f0:\n              local_88 = &local_70;\n              *(undefined *****)(puVar17 + -0x10) = &local_88;\n              *(undefined4 *)(puVar17 + -0x14) = 0xd2811;\n              FUN_000c5e40();\n              iVar11 = local_a8;\n            }\n            else {\n              do {\n                while ((iVar11 = iVar3, *(undefined ***)(iVar11 + 0x10) < param_4 ||\n                       ((param_4 == *(undefined ***)(iVar11 + 0x10) &&\n                        (*(undefined ***)(iVar11 + 0x14) < param_5))))) {\n                  piVar18 = (int *)(iVar11 + 0xc);\n                  iVar3 = *piVar18;\n                  iVar11 = iVar10;\n                  if (*piVar18 == 0) goto LAB_000d27da;\n                }\n                iVar3 = *(int *)(iVar11 + 8);\n                iVar10 = iVar11;\n              } while (*(int *)(iVar11 + 8) != 0);\nLAB_000d27da:\n              if (((iVar19 == iVar11) || (param_4 < *(undefined ***)(iVar11 + 0x10))) ||\n                 ((param_4 == *(undefined ***)(iVar11 + 0x10) &&\n                  (param_5 < *(undefined ***)(iVar11 + 0x14))))) goto LAB_000d27f0;\n            }\n            local_8c = iVar11 + 0x18;\n            *(undefined4 *)(puVar17 + -0xc) = 1;\n            *(undefined4 *)(puVar17 + -0x10) = 0;\n            *(int **)(puVar17 + -0x14) = local_f4;\n            *(undefined ****)(puVar17 + -0x18) = &local_68;\n            *(int *)(puVar17 + -0x1c) = local_8c;\n            *(undefined1 **)(puVar17 + -0x20) = local_e0;\n            *(undefined4 *)(puVar17 + -0x24) = 0xd2840;\n            FUN_00074340();\n            piVar18 = *(int **)(*local_dc + 0xc);\n            if (piVar18 == (int *)0x0) {\n              *(undefined ***)(puVar17 + -0xc) = local_b8 + -0x615c4;\n              *(undefined4 *)(puVar17 + -0x10) = 0x73;\n              *(int *)(puVar17 + -0x14) = (int)local_b8 + -0x1a1d93;\n                    \n              *(undefined4 *)(puVar17 + -0x18) = 0xd2fad;\n              FUN_002446e0();\n            }\n            iVar19 = *piVar18;\n            *(undefined **)(puVar17 + -0xc) = local_c4;\n            *(undefined ***)(puVar17 + -0x10) = local_b4;\n            *(undefined ***)(puVar17 + -0x14) = local_c0;\n            *(undefined ***)(puVar17 + -0x18) = param_5;\n            *(undefined ***)(puVar17 + -0x1c) = param_4;\n            *(int *)(puVar17 + -0x20) = param_2;\n            *(int **)(puVar17 + -0x24) = piVar18;\n            pcVar4 = *(code **)(iVar19 + 0x104);\n            *(undefined4 *)(puVar17 + -0x28) = 0xd287d;\n            (*pcVar4)();\n            pbVar20 = local_d8;\n            piVar18 = (int *)(puVar17 + -4);\n            if (local_d8 != (byte *)0x0) {\n              local_b4 = &local_2c;\n              local_b0 = &local_34;\n              iVar19 = *(int *)(param_2 + 0x158);\n              *(byte **)(puVar17 + -0x14) = local_d8;\n              local_34 = local_b4;\n              *(undefined4 *)(puVar17 + -0x18) = 0xd28bd;\n              sVar6 = strlen(*(char **)(puVar17 + -0x14));\n              pppuVar5 = local_b0;\n              *(undefined4 *)(puVar17 + -8) = 0;\n              *(byte **)(puVar17 + -0xc) = pbVar20 + sVar6;\n              *(byte **)(puVar17 + -0x10) = pbVar20;\n              *(undefined ****)(puVar17 + -0x14) = local_b0;\n              *(undefined4 *)(puVar17 + -0x18) = 0xd28d2;\n              FUN_00072b90();\n              *(undefined ****)(puVar17 + -0xc) = pppuVar5;\n              *(int *)(puVar17 + -0x10) = iVar19 + 0x44;\n              *(int **)(puVar17 + -0x14) = &local_ac;\n              *(undefined4 *)(puVar17 + -0x18) = 0xd28e6;\n              FUN_00094bd0();\n              iVar19 = local_ac;\n              if (local_34 != local_b4) {\n                *(undefined ***)(puVar17 + -0x18) = local_34;\n                *(undefined4 *)(puVar17 + -0x1c) = 0xd2909;\n                FUN_003ae080();\n              }\n              piVar18 = (int *)(puVar17 + -8);\n              iVar3 = *(int *)(param_2 + 0x158);\n              if (iVar19 != iVar3 + 0x48) {\n                local_34 = param_4;\n                local_30 = param_5;\n                iVar10 = *(int *)(iVar3 + 0x18);\n                iVar11 = iVar3 + 0x14;\n                if (*(int *)(iVar3 + 0x18) == 0) {\nLAB_000d2bd8:\n                  *(undefined *****)(puVar17 + -0x18) = &local_84;\n                  local_84 = local_b0;\n                  *(undefined4 *)(puVar17 + -0x1c) = 0xd2bf6;\n                  FUN_000c5e40();\n                  iVar12 = local_a8;\n                }\n                else {\n                  do {\n                    while ((iVar12 = iVar10, *(undefined ***)(iVar12 + 0x10) < param_4 ||\n                           ((param_4 == *(undefined ***)(iVar12 + 0x10) &&\n                            (*(undefined ***)(iVar12 + 0x14) < param_5))))) {\n                      piVar18 = (int *)(iVar12 + 0xc);\n                      iVar10 = *piVar18;\n                      iVar12 = iVar11;\n                      if (*piVar18 == 0) goto LAB_000d2962;\n                    }\n                    iVar10 = *(int *)(iVar12 + 8);\n                    iVar11 = iVar12;\n                  } while (*(int *)(iVar12 + 8) != 0);\nLAB_000d2962:\n                  if (((iVar12 == iVar3 + 0x14) || (param_4 < *(undefined ***)(iVar12 + 0x10))) ||\n                     ((param_4 == *(undefined ***)(iVar12 + 0x10) &&\n                      (param_5 < *(undefined ***)(iVar12 + 0x14))))) goto LAB_000d2bd8;\n                }\n                piVar18 = (int *)(puVar17 + -8);\n                puVar17 = puVar17 + -8;\n                for (puVar1 = *(undefined4 **)(iVar19 + 0x30); puVar1 != (undefined4 *)0x0;\n                    puVar1 = (undefined4 *)*puVar1) {\n                  *(undefined4 *)(puVar17 + -0xc) = 1;\n                  *(undefined4 *)(puVar17 + -0x10) = 0;\n                  *(int **)(puVar17 + -0x14) = &local_90;\n                  *(undefined4 **)(puVar17 + -0x18) = puVar1 + 1;\n                  *(int *)(puVar17 + -0x1c) = iVar12 + 0x18;\n                  *(undefined1 **)(puVar17 + -0x20) = local_e0;\n                  *(undefined4 *)(puVar17 + -0x24) = 0xd29ae;\n                  local_90 = iVar12 + 0x18;\n                  FUN_00074340();\n                  piVar18 = (int *)(puVar17 + -4);\n                  puVar17 = puVar17 + -4;\n                }\n              }\n            }\n          }\n        }\n      }\n      else {\n        if (puVar15 < param_4[0x2c]) {\n          local_70 = (undefined **)0x0;\nLAB_000d2a1f:\n          *(undefined ***)((int)piVar18 + -8) = local_b8 + -0x615ed;\n          *(undefined4 *)((int)piVar18 + -0xc) = 0x11c;\n          *(int *)((int)piVar18 + -0x10) = (int)local_b8 + -0x19ca36;\n                    \n          *(undefined4 *)((int)piVar18 + -0x14) = 0xd2a40;\n          FUN_002446e0();\n        }\n        uVar16 = (int)puVar15 - (int)param_4[0x2c];\n        local_b0 = (undefined ***)param_4[0x30];\n        if ((uint)((int)local_b0 - (int)param_4[0x2f] >> 2) <= uVar16) {\n          *(undefined ***)((int)piVar18 + -8) = local_b8 + -0x6156c;\n          *(undefined4 *)((int)piVar18 + -0xc) = 0x8ad;\n          *(int *)((int)piVar18 + -0x10) = (int)local_b8 + -0x19cc7b;\n                    \n          *(undefined4 *)((int)piVar18 + -0x14) = 0xd2f8f;\n          FUN_002446e0();\n        }\n        local_70 = *(undefined ***)(param_4[0x2f] + uVar16 * 4);\n        if (local_70 == (undefined **)0x0) goto LAB_000d2a1f;\n        if ((*(byte *)((int)local_70 + 0x2a) & 0x10) == 0) {\n          if ((*(byte *)((int)local_70 + 0x2a) & 7) == 0) goto LAB_000d25f7;\nLAB_000d29e2:\n          local_f0 = (undefined **)local_70[0xc];\n          bVar13 = 0;\n          local_b4 = (undefined **)0x0;\n          local_c0 = (undefined **)0x0;\n          bVar24 = CARRY4((uint)local_bc,(uint)local_f0);\n          local_c4 = local_bc + (int)local_f0;\n          bVar26 = local_c4 == (undefined *)0x0;\n        }\n        else {\n          *(undefined ***)((int)piVar18 + -0xc) = local_70;\n          *(int *)((int)piVar18 + -0x10) = param_2;\n          *(undefined4 *)((int)piVar18 + -0x14) = 0xd29d2;\n          local_70 = (undefined **)FUN_0034cd90();\n          if ((*(byte *)((int)local_70 + 0x2a) & 7) != 0) goto LAB_000d29e2;\nLAB_000d25f7:\n          local_f0 = (undefined **)local_70[0xc];\n          local_c0 = (undefined **)local_70[2];\n          local_c4 = local_bc + (int)local_f0;\n          if (((uint)local_c0[0xb] & 1) == 0) {\n            local_b4 = (undefined **)local_70[3];\n            bVar13 = *(byte *)((int)local_70 + 0x2b) >> 5 & 1;\n            bVar24 = (*(byte *)(local_70 + 10) & 0xf) < 2;\n            bVar26 = (*(byte *)(local_70 + 10) & 0xf) == 2;\n            if (bVar26) {\n              bVar24 = false;\n              bVar26 = local_d2 == '\0';\n              if ((!bVar26) &&\n                 (((bVar13 == 0 || (bVar26 = uVar21 == 0x17, 0x17 < uVar21)) ||\n                  (bVar24 = (0x843f84U >> (uVar2 & 0x1f) & 1) != 0, !bVar24)))) {\n                local_b0 = *(undefined ****)(param_2 + 0x15c);\n                *(undefined4 *)((int)piVar18 + -0xc) = 1;\n                *(undefined4 *)((int)piVar18 + -0x10) = 0;\n                *(undefined *****)((int)piVar18 + -0x14) = &local_94;\n                *(undefined ****)((int)piVar18 + -0x18) = &local_78;\n                local_94 = local_b0 + 0xd;\n                *(undefined ****)((int)piVar18 + -0x1c) = local_94;\n                *(undefined1 **)((int)piVar18 + -0x20) = local_e0;\n                    \n                *(undefined4 *)((int)piVar18 + -0x24) = 0xd2ccb;\n                local_78 = local_c0;\n                local_74 = local_b4;\n                FUN_00074280();\n                bVar24 = (undefined1 *)0xffffffe3 < (undefined1 *)((int)piVar18 + -0x20);\n                bVar26 = piVar18 == (int *)0x4;\n                piVar18 = (int *)((int)piVar18 + -4);\n              }\n            }\n          }\n          else {\n            local_b4 = (undefined **)0x0;\n            bVar24 = false;\n            bVar13 = 0;\n            bVar26 = true;\n            local_c0 = (undefined **)0x0;\n          }\n        }\n        pbVar20 = *local_70;\n        iVar19 = 8;\n        pbVar9 = (byte *)((int)local_b8 + -0x19ca26);\n        pbVar22 = pbVar20;\n        do {\n          if (iVar19 == 0) break;\n          iVar19 = iVar19 + -1;\n          bVar24 = *pbVar9 < *pbVar22;\n          bVar26 = *pbVar9 == *pbVar22;\n          pbVar9 = pbVar9 + (uint)bVar27 * -2 + 1;\n          pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n        } while (bVar26);\n        bVar25 = false;\n        bVar24 = (!bVar24 && !bVar26) == bVar24;\n        if (bVar24) {\n          pbVar20 = pbVar20 + 8;\n        }\n        else {\n          iVar19 = 7;\n          pbVar9 = (byte *)((int)local_b8 + -0x19ca1d);\n          pbVar22 = pbVar20;\n          do {\n            if (iVar19 == 0) break;\n            iVar19 = iVar19 + -1;\n            bVar25 = *pbVar9 < *pbVar22;\n            bVar24 = *pbVar9 == *pbVar22;\n            pbVar9 = pbVar9 + (uint)bVar27 * -2 + 1;\n            pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n          } while (bVar24);\n          pbVar20 = pbVar20 + 7;\n          if ((!bVar25 && !bVar24) != bVar25) {\n            pbVar20 = local_d8;\n          }\n        }\n        local_d8 = pbVar20;\n        if (local_d1 != '\0') {\n          if (bVar13 == 0) {\n            local_34 = (undefined **)0x0;\n            local_30 = (undefined **)0x0;\n          }\n          else {\n            local_34 = local_c0;\n            local_30 = local_b4;\n          }\n          local_b0 = &local_34;\n          *(undefined ****)((int)piVar18 + -0xc) = local_b0;\n          *(int *)((int)piVar18 + -0x10) = local_c8;\n          *(undefined4 *)((int)piVar18 + -0x14) = 0xd26b9;\n          FUN_00073b00();\n          puVar1 = *(undefined4 **)(local_cc + 4);\n          if (puVar1 == *(undefined4 **)(local_cc + 8)) {\n            *(undefined ****)((int)piVar18 + -8) = &local_70;\n            *(undefined4 **)((int)piVar18 + -0xc) = puVar1;\n            *(int *)((int)piVar18 + -0x10) = local_cc;\n            *(undefined4 *)((int)piVar18 + -0x14) = 0xd2b4b;\n            FUN_000726c0();\n          }\n          else {\n            *puVar1 = local_70;\n            *(undefined4 **)(local_cc + 4) = puVar1 + 1;\n          }\n          *(undefined ****)((int)piVar18 + -0xc) = local_b0;\n          *(undefined ***)((int)piVar18 + -0x10) = local_e8;\n          local_34 = local_f0;\n          local_30 = (undefined **)0x0;\n          local_2c = local_bc;\n          local_28 = (int)local_bc >> 0x1f;\n          *(undefined4 *)((int)piVar18 + -0x14) = 0xd270d;\n          FUN_00073e70();\n          local_30 = (undefined **)0x0;\n          local_34 = (undefined **)*param_7;\n          puVar1 = *(undefined4 **)(local_d0 + 4);\n          if (puVar1 == *(undefined4 **)(local_d0 + 8)) {\n            *(undefined ****)((int)piVar18 + -8) = local_b0;\n            *(undefined4 **)((int)piVar18 + -0xc) = puVar1;\n            *(int *)((int)piVar18 + -0x10) = local_d0;\n            *(undefined4 *)((int)piVar18 + -0x14) = 0xd2bbd;\n            FUN_00072a40();\n          }\n          else {\n            *puVar1 = local_34;\n            puVar1[1] = 0;\n            *(undefined4 **)(local_d0 + 4) = puVar1 + 2;\n          }\n          local_68 = (undefined **)0x0;\n          *(undefined ****)((int)piVar18 + -0xc) = &local_68;\n          *(int *)((int)piVar18 + -0x10) = local_ec;\n          *(undefined4 *)((int)piVar18 + -0x14) = 0xd2753;\n          FUN_00074020();\n        }\n        puVar17 = (undefined1 *)piVar18;\n        if (bVar13 != 0) goto LAB_000d275e;\n      }\nLAB_000d2489:\n      local_e4 = local_e4 + 1;\n      param_7 = param_7 + 3;\n    } while (param_8 != local_e4);\n  }" if (parenthesized_expression "(param_8 != 0)" ( (binary_expression "param_8 != 0" identifier != number_literal) )) (compound_statement "{\n    local_d8 = (byte *)0x0;\n    local_e0 = local_a4;\n    local_f4 = &local_8c;\n    local_e4 = 0;\n    do {\n      uVar2 = param_7[1];\n      uVar21 = uVar2 & 0xff;\n      puVar15 = (undefined *)(uVar2 >> 8);\n      local_bc = (undefined *)param_7[2];\n      if (puVar15 < param_11) {\n        if (param_12 == 0) {\n          *(undefined ***)((int)piVar18 + -8) = local_b8 + -0x615ed;\n          *(undefined4 *)((int)piVar18 + -0xc) = 0xea;\n          *(int *)((int)piVar18 + -0x10) = (int)local_b8 + -0x19ca36;\n                    \n                    \n          *(undefined **)((int)piVar18 + -0x14) = &UNK_000d2f49;\n          FUN_002446e0();\n        }\n        iVar19 = (int)puVar15 * 0x10 + param_12;\n        local_b4 = (undefined **)(uint)*(ushort *)(iVar19 + 0xe);\n        if (local_b4 < (undefined **)0xff00) {\nLAB_000d24ee:\n          ppuVar14 = *(undefined ***)(iVar19 + 4);\n          local_c4 = local_bc + (int)ppuVar14;\n          if (local_d1 != '\0') {\n            local_34 = param_4;\n            local_30 = local_b4;\n            local_b0 = &local_34;\n            *(undefined ****)((int)piVar18 + -0xc) = local_b0;\n            *(int *)((int)piVar18 + -0x10) = local_c8;\n            *(undefined4 *)((int)piVar18 + -0x14) = 0xd2533;\n            FUN_00073b00();\n            local_c0 = (undefined **)CONCAT31(local_c0._1_3_,1);\n            if ((*(byte *)(iVar19 + 0xc) & 0xf) == 3) goto LAB_000d254c;\nLAB_000d23e8:\n            *(undefined ****)((int)piVar18 + -0xc) = local_b0;\n            *(int *)((int)piVar18 + -0x10) = local_cc;\n            local_34 = (undefined **)0x0;\n            *(undefined4 *)((int)piVar18 + -0x14) = 0xd2403;\n            FUN_00073ca0();\n            goto LAB_000d2403;\n          }\n        }\n        else {\n          if (local_b4 == (undefined **)0xffff) {\n            puVar7 = param_4[0xc];\n            if (puVar7 == (undefined *)0x0) {\n              puVar7 = *param_4;\n              *(undefined ***)((int)piVar18 + -0x10) = param_4;\n              pcVar4 = *(code **)(puVar7 + 0x6c);\n              *(undefined4 *)((int)piVar18 + -0x14) = 0xd2a4e;\n              puVar7 = (undefined *)(*pcVar4)();\n              param_4[0xc] = puVar7;\n            }\n            *(undefined **)((int)piVar18 + -8) = puVar15;\n            *(undefined ***)((int)piVar18 + -0xc) = param_4;\n            *(undefined **)((int)piVar18 + -0x10) = puVar7;\n            *(undefined4 *)((int)piVar18 + -0x14) = 0xd2591;\n            local_b4 = (undefined **)FUN_0028b7d0();\n            goto LAB_000d24ee;\n          }\n          ppuVar14 = *(undefined ***)(iVar19 + 4);\n          local_c4 = local_bc + (int)ppuVar14;\n          if (local_d1 == '\0') goto LAB_000d2489;\n          local_b0 = &local_34;\n          local_34 = (undefined **)0x0;\n          *(undefined ****)((int)piVar18 + -0xc) = local_b0;\n          *(int *)((int)piVar18 + -0x10) = local_c8;\n          local_30 = (undefined **)0x0;\n                    \n          *(undefined4 *)((int)piVar18 + -0x14) = 0xd23cf;\n          FUN_00073b00();\n          local_c0 = (undefined **)((uint)local_c0 & 0xffffff00);\n          if ((*(byte *)(iVar19 + 0xc) & 0xf) != 3) goto LAB_000d23e8;\nLAB_000d254c:\n          *(undefined ****)((int)piVar18 + -0xc) = local_b0;\n          *(int *)((int)piVar18 + -0x10) = local_cc;\n          local_34 = (undefined **)0xffffffff;\n          *(undefined4 *)((int)piVar18 + -0x14) = 0xd2567;\n          FUN_00073ca0();\nLAB_000d2403:\n          *(undefined ****)((int)piVar18 + -0xc) = local_b0;\n          *(undefined ***)((int)piVar18 + -0x10) = local_e8;\n          local_2c = local_bc;\n          local_28 = (int)local_bc >> 0x1f;\n          local_30 = (undefined **)0x0;\n          *(undefined4 *)((int)piVar18 + -0x14) = 0xd2433;\n          local_34 = ppuVar14;\n          FUN_00073e70();\n          local_30 = (undefined **)0x0;\n          local_34 = (undefined **)*param_7;\n          puVar1 = *(undefined4 **)(local_d0 + 4);\n          if (puVar1 == *(undefined4 **)(local_d0 + 8)) {\n            *(undefined ****)((int)piVar18 + -8) = local_b0;\n            *(undefined4 **)((int)piVar18 + -0xc) = puVar1;\n            *(int *)((int)piVar18 + -0x10) = local_d0;\n            *(undefined4 *)((int)piVar18 + -0x14) = 0xd2b0d;\n            FUN_00072a40();\n          }\n          else {\n            *puVar1 = local_34;\n            puVar1[1] = 0;\n            *(undefined4 **)(local_d0 + 4) = puVar1 + 2;\n          }\n          local_68 = (undefined **)0x0;\n          *(undefined ****)((int)piVar18 + -0xc) = &local_68;\n          *(int *)((int)piVar18 + -0x10) = local_ec;\n          *(undefined4 *)((int)piVar18 + -0x14) = 0xd2479;\n          FUN_00074020();\n          if ((char)local_c0 == '\0') goto LAB_000d2489;\n        }\n        if (((local_d2 != '\0') && ((*(byte *)(iVar19 + 0xc) & 0xf) != 1)) &&\n           ((0x17 < uVar21 || ((0x843f84U >> (uVar2 & 0x1f) & 1) == 0)))) {\n          local_b0 = *(undefined ****)(param_2 + 0x15c);\n          local_80 = param_4;\n          local_7c = (uint)*(ushort *)(iVar19 + 0xe);\n          *(undefined4 *)((int)piVar18 + -0xc) = 1;\n          *(undefined4 *)((int)piVar18 + -0x10) = 0;\n          local_98 = local_b0 + 0xd;\n          *(undefined *****)((int)piVar18 + -0x14) = &local_98;\n          *(undefined ****)((int)piVar18 + -0x18) = &local_80;\n          *(undefined ****)((int)piVar18 + -0x1c) = local_98;\n          *(undefined1 **)((int)piVar18 + -0x20) = local_e0;\n          *(undefined4 *)((int)piVar18 + -0x24) = 0xd2ad1;\n          FUN_00074280();\n          piVar18 = (int *)((int)piVar18 + -4);\n        }\n        if (param_5 != local_b4) {\n          local_c0 = param_4;\n          puVar17 = (undefined1 *)piVar18;\nLAB_000d275e:\n          if (*(int *)(*local_dc + 8) == 0) {\n            *(undefined ***)(puVar17 + -8) = local_b8 + -0x61176;\n            *(undefined4 *)(puVar17 + -0xc) = 0x5c;\n            *(int *)(puVar17 + -0x10) = (int)local_b8 + -0x1a1d93;\n                    \n            *(undefined4 *)(puVar17 + -0x14) = 0xd2f6e;\n            FUN_002446e0();\n          }\n          piVar18 = (int *)puVar17;\n          if (*(char *)(*(int *)(*local_dc + 8) + 0x18b1) != '\0') {\n            local_70 = param_4;\n            iVar19 = *(int *)(param_2 + 0x158) + 0x14;\n            local_6c = param_5;\n            local_68 = local_c0;\n            local_64 = local_b4;\n            iVar3 = *(int *)(*(int *)(param_2 + 0x158) + 0x18);\n            iVar10 = iVar19;\n            if (iVar3 == 0) {\nLAB_000d27f0:\n              local_88 = &local_70;\n              *(undefined *****)(puVar17 + -0x10) = &local_88;\n              *(undefined4 *)(puVar17 + -0x14) = 0xd2811;\n              FUN_000c5e40();\n              iVar11 = local_a8;\n            }\n            else {\n              do {\n                while ((iVar11 = iVar3, *(undefined ***)(iVar11 + 0x10) < param_4 ||\n                       ((param_4 == *(undefined ***)(iVar11 + 0x10) &&\n                        (*(undefined ***)(iVar11 + 0x14) < param_5))))) {\n                  piVar18 = (int *)(iVar11 + 0xc);\n                  iVar3 = *piVar18;\n                  iVar11 = iVar10;\n                  if (*piVar18 == 0) goto LAB_000d27da;\n                }\n                iVar3 = *(int *)(iVar11 + 8);\n                iVar10 = iVar11;\n              } while (*(int *)(iVar11 + 8) != 0);\nLAB_000d27da:\n              if (((iVar19 == iVar11) || (param_4 < *(undefined ***)(iVar11 + 0x10))) ||\n                 ((param_4 == *(undefined ***)(iVar11 + 0x10) &&\n                  (param_5 < *(undefined ***)(iVar11 + 0x14))))) goto LAB_000d27f0;\n            }\n            local_8c = iVar11 + 0x18;\n            *(undefined4 *)(puVar17 + -0xc) = 1;\n            *(undefined4 *)(puVar17 + -0x10) = 0;\n            *(int **)(puVar17 + -0x14) = local_f4;\n            *(undefined ****)(puVar17 + -0x18) = &local_68;\n            *(int *)(puVar17 + -0x1c) = local_8c;\n            *(undefined1 **)(puVar17 + -0x20) = local_e0;\n            *(undefined4 *)(puVar17 + -0x24) = 0xd2840;\n            FUN_00074340();\n            piVar18 = *(int **)(*local_dc + 0xc);\n            if (piVar18 == (int *)0x0) {\n              *(undefined ***)(puVar17 + -0xc) = local_b8 + -0x615c4;\n              *(undefined4 *)(puVar17 + -0x10) = 0x73;\n              *(int *)(puVar17 + -0x14) = (int)local_b8 + -0x1a1d93;\n                    \n              *(undefined4 *)(puVar17 + -0x18) = 0xd2fad;\n              FUN_002446e0();\n            }\n            iVar19 = *piVar18;\n            *(undefined **)(puVar17 + -0xc) = local_c4;\n            *(undefined ***)(puVar17 + -0x10) = local_b4;\n            *(undefined ***)(puVar17 + -0x14) = local_c0;\n            *(undefined ***)(puVar17 + -0x18) = param_5;\n            *(undefined ***)(puVar17 + -0x1c) = param_4;\n            *(int *)(puVar17 + -0x20) = param_2;\n            *(int **)(puVar17 + -0x24) = piVar18;\n            pcVar4 = *(code **)(iVar19 + 0x104);\n            *(undefined4 *)(puVar17 + -0x28) = 0xd287d;\n            (*pcVar4)();\n            pbVar20 = local_d8;\n            piVar18 = (int *)(puVar17 + -4);\n            if (local_d8 != (byte *)0x0) {\n              local_b4 = &local_2c;\n              local_b0 = &local_34;\n              iVar19 = *(int *)(param_2 + 0x158);\n              *(byte **)(puVar17 + -0x14) = local_d8;\n              local_34 = local_b4;\n              *(undefined4 *)(puVar17 + -0x18) = 0xd28bd;\n              sVar6 = strlen(*(char **)(puVar17 + -0x14));\n              pppuVar5 = local_b0;\n              *(undefined4 *)(puVar17 + -8) = 0;\n              *(byte **)(puVar17 + -0xc) = pbVar20 + sVar6;\n              *(byte **)(puVar17 + -0x10) = pbVar20;\n              *(undefined ****)(puVar17 + -0x14) = local_b0;\n              *(undefined4 *)(puVar17 + -0x18) = 0xd28d2;\n              FUN_00072b90();\n              *(undefined ****)(puVar17 + -0xc) = pppuVar5;\n              *(int *)(puVar17 + -0x10) = iVar19 + 0x44;\n              *(int **)(puVar17 + -0x14) = &local_ac;\n              *(undefined4 *)(puVar17 + -0x18) = 0xd28e6;\n              FUN_00094bd0();\n              iVar19 = local_ac;\n              if (local_34 != local_b4) {\n                *(undefined ***)(puVar17 + -0x18) = local_34;\n                *(undefined4 *)(puVar17 + -0x1c) = 0xd2909;\n                FUN_003ae080();\n              }\n              piVar18 = (int *)(puVar17 + -8);\n              iVar3 = *(int *)(param_2 + 0x158);\n              if (iVar19 != iVar3 + 0x48) {\n                local_34 = param_4;\n                local_30 = param_5;\n                iVar10 = *(int *)(iVar3 + 0x18);\n                iVar11 = iVar3 + 0x14;\n                if (*(int *)(iVar3 + 0x18) == 0) {\nLAB_000d2bd8:\n                  *(undefined *****)(puVar17 + -0x18) = &local_84;\n                  local_84 = local_b0;\n                  *(undefined4 *)(puVar17 + -0x1c) = 0xd2bf6;\n                  FUN_000c5e40();\n                  iVar12 = local_a8;\n                }\n                else {\n                  do {\n                    while ((iVar12 = iVar10, *(undefined ***)(iVar12 + 0x10) < param_4 ||\n                           ((param_4 == *(undefined ***)(iVar12 + 0x10) &&\n                            (*(undefined ***)(iVar12 + 0x14) < param_5))))) {\n                      piVar18 = (int *)(iVar12 + 0xc);\n                      iVar10 = *piVar18;\n                      iVar12 = iVar11;\n                      if (*piVar18 == 0) goto LAB_000d2962;\n                    }\n                    iVar10 = *(int *)(iVar12 + 8);\n                    iVar11 = iVar12;\n                  } while (*(int *)(iVar12 + 8) != 0);\nLAB_000d2962:\n                  if (((iVar12 == iVar3 + 0x14) || (param_4 < *(undefined ***)(iVar12 + 0x10))) ||\n                     ((param_4 == *(undefined ***)(iVar12 + 0x10) &&\n                      (param_5 < *(undefined ***)(iVar12 + 0x14))))) goto LAB_000d2bd8;\n                }\n                piVar18 = (int *)(puVar17 + -8);\n                puVar17 = puVar17 + -8;\n                for (puVar1 = *(undefined4 **)(iVar19 + 0x30); puVar1 != (undefined4 *)0x0;\n                    puVar1 = (undefined4 *)*puVar1) {\n                  *(undefined4 *)(puVar17 + -0xc) = 1;\n                  *(undefined4 *)(puVar17 + -0x10) = 0;\n                  *(int **)(puVar17 + -0x14) = &local_90;\n                  *(undefined4 **)(puVar17 + -0x18) = puVar1 + 1;\n                  *(int *)(puVar17 + -0x1c) = iVar12 + 0x18;\n                  *(undefined1 **)(puVar17 + -0x20) = local_e0;\n                  *(undefined4 *)(puVar17 + -0x24) = 0xd29ae;\n                  local_90 = iVar12 + 0x18;\n                  FUN_00074340();\n                  piVar18 = (int *)(puVar17 + -4);\n                  puVar17 = puVar17 + -4;\n                }\n              }\n            }\n          }\n        }\n      }\n      else {\n        if (puVar15 < param_4[0x2c]) {\n          local_70 = (undefined **)0x0;\nLAB_000d2a1f:\n          *(undefined ***)((int)piVar18 + -8) = local_b8 + -0x615ed;\n          *(undefined4 *)((int)piVar18 + -0xc) = 0x11c;\n          *(int *)((int)piVar18 + -0x10) = (int)local_b8 + -0x19ca36;\n                    \n          *(undefined4 *)((int)piVar18 + -0x14) = 0xd2a40;\n          FUN_002446e0();\n        }\n        uVar16 = (int)puVar15 - (int)param_4[0x2c];\n        local_b0 = (undefined ***)param_4[0x30];\n        if ((uint)((int)local_b0 - (int)param_4[0x2f] >> 2) <= uVar16) {\n          *(undefined ***)((int)piVar18 + -8) = local_b8 + -0x6156c;\n          *(undefined4 *)((int)piVar18 + -0xc) = 0x8ad;\n          *(int *)((int)piVar18 + -0x10) = (int)local_b8 + -0x19cc7b;\n                    \n          *(undefined4 *)((int)piVar18 + -0x14) = 0xd2f8f;\n          FUN_002446e0();\n        }\n        local_70 = *(undefined ***)(param_4[0x2f] + uVar16 * 4);\n        if (local_70 == (undefined **)0x0) goto LAB_000d2a1f;\n        if ((*(byte *)((int)local_70 + 0x2a) & 0x10) == 0) {\n          if ((*(byte *)((int)local_70 + 0x2a) & 7) == 0) goto LAB_000d25f7;\nLAB_000d29e2:\n          local_f0 = (undefined **)local_70[0xc];\n          bVar13 = 0;\n          local_b4 = (undefined **)0x0;\n          local_c0 = (undefined **)0x0;\n          bVar24 = CARRY4((uint)local_bc,(uint)local_f0);\n          local_c4 = local_bc + (int)local_f0;\n          bVar26 = local_c4 == (undefined *)0x0;\n        }\n        else {\n          *(undefined ***)((int)piVar18 + -0xc) = local_70;\n          *(int *)((int)piVar18 + -0x10) = param_2;\n          *(undefined4 *)((int)piVar18 + -0x14) = 0xd29d2;\n          local_70 = (undefined **)FUN_0034cd90();\n          if ((*(byte *)((int)local_70 + 0x2a) & 7) != 0) goto LAB_000d29e2;\nLAB_000d25f7:\n          local_f0 = (undefined **)local_70[0xc];\n          local_c0 = (undefined **)local_70[2];\n          local_c4 = local_bc + (int)local_f0;\n          if (((uint)local_c0[0xb] & 1) == 0) {\n            local_b4 = (undefined **)local_70[3];\n            bVar13 = *(byte *)((int)local_70 + 0x2b) >> 5 & 1;\n            bVar24 = (*(byte *)(local_70 + 10) & 0xf) < 2;\n            bVar26 = (*(byte *)(local_70 + 10) & 0xf) == 2;\n            if (bVar26) {\n              bVar24 = false;\n              bVar26 = local_d2 == '\0';\n              if ((!bVar26) &&\n                 (((bVar13 == 0 || (bVar26 = uVar21 == 0x17, 0x17 < uVar21)) ||\n                  (bVar24 = (0x843f84U >> (uVar2 & 0x1f) & 1) != 0, !bVar24)))) {\n                local_b0 = *(undefined ****)(param_2 + 0x15c);\n                *(undefined4 *)((int)piVar18 + -0xc) = 1;\n                *(undefined4 *)((int)piVar18 + -0x10) = 0;\n                *(undefined *****)((int)piVar18 + -0x14) = &local_94;\n                *(undefined ****)((int)piVar18 + -0x18) = &local_78;\n                local_94 = local_b0 + 0xd;\n                *(undefined ****)((int)piVar18 + -0x1c) = local_94;\n                *(undefined1 **)((int)piVar18 + -0x20) = local_e0;\n                    \n                *(undefined4 *)((int)piVar18 + -0x24) = 0xd2ccb;\n                local_78 = local_c0;\n                local_74 = local_b4;\n                FUN_00074280();\n                bVar24 = (undefined1 *)0xffffffe3 < (undefined1 *)((int)piVar18 + -0x20);\n                bVar26 = piVar18 == (int *)0x4;\n                piVar18 = (int *)((int)piVar18 + -4);\n              }\n            }\n          }\n          else {\n            local_b4 = (undefined **)0x0;\n            bVar24 = false;\n            bVar13 = 0;\n            bVar26 = true;\n            local_c0 = (undefined **)0x0;\n          }\n        }\n        pbVar20 = *local_70;\n        iVar19 = 8;\n        pbVar9 = (byte *)((int)local_b8 + -0x19ca26);\n        pbVar22 = pbVar20;\n        do {\n          if (iVar19 == 0) break;\n          iVar19 = iVar19 + -1;\n          bVar24 = *pbVar9 < *pbVar22;\n          bVar26 = *pbVar9 == *pbVar22;\n          pbVar9 = pbVar9 + (uint)bVar27 * -2 + 1;\n          pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n        } while (bVar26);\n        bVar25 = false;\n        bVar24 = (!bVar24 && !bVar26) == bVar24;\n        if (bVar24) {\n          pbVar20 = pbVar20 + 8;\n        }\n        else {\n          iVar19 = 7;\n          pbVar9 = (byte *)((int)local_b8 + -0x19ca1d);\n          pbVar22 = pbVar20;\n          do {\n            if (iVar19 == 0) break;\n            iVar19 = iVar19 + -1;\n            bVar25 = *pbVar9 < *pbVar22;\n            bVar24 = *pbVar9 == *pbVar22;\n            pbVar9 = pbVar9 + (uint)bVar27 * -2 + 1;\n            pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n          } while (bVar24);\n          pbVar20 = pbVar20 + 7;\n          if ((!bVar25 && !bVar24) != bVar25) {\n            pbVar20 = local_d8;\n          }\n        }\n        local_d8 = pbVar20;\n        if (local_d1 != '\0') {\n          if (bVar13 == 0) {\n            local_34 = (undefined **)0x0;\n            local_30 = (undefined **)0x0;\n          }\n          else {\n            local_34 = local_c0;\n            local_30 = local_b4;\n          }\n          local_b0 = &local_34;\n          *(undefined ****)((int)piVar18 + -0xc) = local_b0;\n          *(int *)((int)piVar18 + -0x10) = local_c8;\n          *(undefined4 *)((int)piVar18 + -0x14) = 0xd26b9;\n          FUN_00073b00();\n          puVar1 = *(undefined4 **)(local_cc + 4);\n          if (puVar1 == *(undefined4 **)(local_cc + 8)) {\n            *(undefined ****)((int)piVar18 + -8) = &local_70;\n            *(undefined4 **)((int)piVar18 + -0xc) = puVar1;\n            *(int *)((int)piVar18 + -0x10) = local_cc;\n            *(undefined4 *)((int)piVar18 + -0x14) = 0xd2b4b;\n            FUN_000726c0();\n          }\n          else {\n            *puVar1 = local_70;\n            *(undefined4 **)(local_cc + 4) = puVar1 + 1;\n          }\n          *(undefined ****)((int)piVar18 + -0xc) = local_b0;\n          *(undefined ***)((int)piVar18 + -0x10) = local_e8;\n          local_34 = local_f0;\n          local_30 = (undefined **)0x0;\n          local_2c = local_bc;\n          local_28 = (int)local_bc >> 0x1f;\n          *(undefined4 *)((int)piVar18 + -0x14) = 0xd270d;\n          FUN_00073e70();\n          local_30 = (undefined **)0x0;\n          local_34 = (undefined **)*param_7;\n          puVar1 = *(undefined4 **)(local_d0 + 4);\n          if (puVar1 == *(undefined4 **)(local_d0 + 8)) {\n            *(undefined ****)((int)piVar18 + -8) = local_b0;\n            *(undefined4 **)((int)piVar18 + -0xc) = puVar1;\n            *(int *)((int)piVar18 + -0x10) = local_d0;\n            *(undefined4 *)((int)piVar18 + -0x14) = 0xd2bbd;\n            FUN_00072a40();\n          }\n          else {\n            *puVar1 = local_34;\n            puVar1[1] = 0;\n            *(undefined4 **)(local_d0 + 4) = puVar1 + 2;\n          }\n          local_68 = (undefined **)0x0;\n          *(undefined ****)((int)piVar18 + -0xc) = &local_68;\n          *(int *)((int)piVar18 + -0x10) = local_ec;\n          *(undefined4 *)((int)piVar18 + -0x14) = 0xd2753;\n          FUN_00074020();\n        }\n        puVar17 = (undefined1 *)piVar18;\n        if (bVar13 != 0) goto LAB_000d275e;\n      }\nLAB_000d2489:\n      local_e4 = local_e4 + 1;\n      param_7 = param_7 + 3;\n    } while (param_8 != local_e4);\n  }" { (expression_statement "local_d8 = (byte *)0x0;" (assignment_expression "local_d8 = (byte *)0x0" identifier = (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_e0 = local_a4;" (assignment_expression "local_e0 = local_a4" identifier = identifier) ;) (expression_statement "local_f4 = &local_8c;" (assignment_expression "local_f4 = &local_8c" identifier = (pointer_expression "&local_8c" & identifier)) ;) (expression_statement "local_e4 = 0;" (assignment_expression "local_e4 = 0" identifier = number_literal) ;) (do_statement "do {\n      uVar2 = param_7[1];\n      uVar21 = uVar2 & 0xff;\n      puVar15 = (undefined *)(uVar2 >> 8);\n      local_bc = (undefined *)param_7[2];\n      if (puVar15 < param_11) {\n        if (param_12 == 0) {\n          *(undefined ***)((int)piVar18 + -8) = local_b8 + -0x615ed;\n          *(undefined4 *)((int)piVar18 + -0xc) = 0xea;\n          *(int *)((int)piVar18 + -0x10) = (int)local_b8 + -0x19ca36;\n                    \n                    \n          *(undefined **)((int)piVar18 + -0x14) = &UNK_000d2f49;\n          FUN_002446e0();\n        }\n        iVar19 = (int)puVar15 * 0x10 + param_12;\n        local_b4 = (undefined **)(uint)*(ushort *)(iVar19 + 0xe);\n        if (local_b4 < (undefined **)0xff00) {\nLAB_000d24ee:\n          ppuVar14 = *(undefined ***)(iVar19 + 4);\n          local_c4 = local_bc + (int)ppuVar14;\n          if (local_d1 != '\0') {\n            local_34 = param_4;\n            local_30 = local_b4;\n            local_b0 = &local_34;\n            *(undefined ****)((int)piVar18 + -0xc) = local_b0;\n            *(int *)((int)piVar18 + -0x10) = local_c8;\n            *(undefined4 *)((int)piVar18 + -0x14) = 0xd2533;\n            FUN_00073b00();\n            local_c0 = (undefined **)CONCAT31(local_c0._1_3_,1);\n            if ((*(byte *)(iVar19 + 0xc) & 0xf) == 3) goto LAB_000d254c;\nLAB_000d23e8:\n            *(undefined ****)((int)piVar18 + -0xc) = local_b0;\n            *(int *)((int)piVar18 + -0x10) = local_cc;\n            local_34 = (undefined **)0x0;\n            *(undefined4 *)((int)piVar18 + -0x14) = 0xd2403;\n            FUN_00073ca0();\n            goto LAB_000d2403;\n          }\n        }\n        else {\n          if (local_b4 == (undefined **)0xffff) {\n            puVar7 = param_4[0xc];\n            if (puVar7 == (undefined *)0x0) {\n              puVar7 = *param_4;\n              *(undefined ***)((int)piVar18 + -0x10) = param_4;\n              pcVar4 = *(code **)(puVar7 + 0x6c);\n              *(undefined4 *)((int)piVar18 + -0x14) = 0xd2a4e;\n              puVar7 = (undefined *)(*pcVar4)();\n              param_4[0xc] = puVar7;\n            }\n            *(undefined **)((int)piVar18 + -8) = puVar15;\n            *(undefined ***)((int)piVar18 + -0xc) = param_4;\n            *(undefined **)((int)piVar18 + -0x10) = puVar7;\n            *(undefined4 *)((int)piVar18 + -0x14) = 0xd2591;\n            local_b4 = (undefined **)FUN_0028b7d0();\n            goto LAB_000d24ee;\n          }\n          ppuVar14 = *(undefined ***)(iVar19 + 4);\n          local_c4 = local_bc + (int)ppuVar14;\n          if (local_d1 == '\0') goto LAB_000d2489;\n          local_b0 = &local_34;\n          local_34 = (undefined **)0x0;\n          *(undefined ****)((int)piVar18 + -0xc) = local_b0;\n          *(int *)((int)piVar18 + -0x10) = local_c8;\n          local_30 = (undefined **)0x0;\n                    \n          *(undefined4 *)((int)piVar18 + -0x14) = 0xd23cf;\n          FUN_00073b00();\n          local_c0 = (undefined **)((uint)local_c0 & 0xffffff00);\n          if ((*(byte *)(iVar19 + 0xc) & 0xf) != 3) goto LAB_000d23e8;\nLAB_000d254c:\n          *(undefined ****)((int)piVar18 + -0xc) = local_b0;\n          *(int *)((int)piVar18 + -0x10) = local_cc;\n          local_34 = (undefined **)0xffffffff;\n          *(undefined4 *)((int)piVar18 + -0x14) = 0xd2567;\n          FUN_00073ca0();\nLAB_000d2403:\n          *(undefined ****)((int)piVar18 + -0xc) = local_b0;\n          *(undefined ***)((int)piVar18 + -0x10) = local_e8;\n          local_2c = local_bc;\n          local_28 = (int)local_bc >> 0x1f;\n          local_30 = (undefined **)0x0;\n          *(undefined4 *)((int)piVar18 + -0x14) = 0xd2433;\n          local_34 = ppuVar14;\n          FUN_00073e70();\n          local_30 = (undefined **)0x0;\n          local_34 = (undefined **)*param_7;\n          puVar1 = *(undefined4 **)(local_d0 + 4);\n          if (puVar1 == *(undefined4 **)(local_d0 + 8)) {\n            *(undefined ****)((int)piVar18 + -8) = local_b0;\n            *(undefined4 **)((int)piVar18 + -0xc) = puVar1;\n            *(int *)((int)piVar18 + -0x10) = local_d0;\n            *(undefined4 *)((int)piVar18 + -0x14) = 0xd2b0d;\n            FUN_00072a40();\n          }\n          else {\n            *puVar1 = local_34;\n            puVar1[1] = 0;\n            *(undefined4 **)(local_d0 + 4) = puVar1 + 2;\n          }\n          local_68 = (undefined **)0x0;\n          *(undefined ****)((int)piVar18 + -0xc) = &local_68;\n          *(int *)((int)piVar18 + -0x10) = local_ec;\n          *(undefined4 *)((int)piVar18 + -0x14) = 0xd2479;\n          FUN_00074020();\n          if ((char)local_c0 == '\0') goto LAB_000d2489;\n        }\n        if (((local_d2 != '\0') && ((*(byte *)(iVar19 + 0xc) & 0xf) != 1)) &&\n           ((0x17 < uVar21 || ((0x843f84U >> (uVar2 & 0x1f) & 1) == 0)))) {\n          local_b0 = *(undefined ****)(param_2 + 0x15c);\n          local_80 = param_4;\n          local_7c = (uint)*(ushort *)(iVar19 + 0xe);\n          *(undefined4 *)((int)piVar18 + -0xc) = 1;\n          *(undefined4 *)((int)piVar18 + -0x10) = 0;\n          local_98 = local_b0 + 0xd;\n          *(undefined *****)((int)piVar18 + -0x14) = &local_98;\n          *(undefined ****)((int)piVar18 + -0x18) = &local_80;\n          *(undefined ****)((int)piVar18 + -0x1c) = local_98;\n          *(undefined1 **)((int)piVar18 + -0x20) = local_e0;\n          *(undefined4 *)((int)piVar18 + -0x24) = 0xd2ad1;\n          FUN_00074280();\n          piVar18 = (int *)((int)piVar18 + -4);\n        }\n        if (param_5 != local_b4) {\n          local_c0 = param_4;\n          puVar17 = (undefined1 *)piVar18;\nLAB_000d275e:\n          if (*(int *)(*local_dc + 8) == 0) {\n            *(undefined ***)(puVar17 + -8) = local_b8 + -0x61176;\n            *(undefined4 *)(puVar17 + -0xc) = 0x5c;\n            *(int *)(puVar17 + -0x10) = (int)local_b8 + -0x1a1d93;\n                    \n            *(undefined4 *)(puVar17 + -0x14) = 0xd2f6e;\n            FUN_002446e0();\n          }\n          piVar18 = (int *)puVar17;\n          if (*(char *)(*(int *)(*local_dc + 8) + 0x18b1) != '\0') {\n            local_70 = param_4;\n            iVar19 = *(int *)(param_2 + 0x158) + 0x14;\n            local_6c = param_5;\n            local_68 = local_c0;\n            local_64 = local_b4;\n            iVar3 = *(int *)(*(int *)(param_2 + 0x158) + 0x18);\n            iVar10 = iVar19;\n            if (iVar3 == 0) {\nLAB_000d27f0:\n              local_88 = &local_70;\n              *(undefined *****)(puVar17 + -0x10) = &local_88;\n              *(undefined4 *)(puVar17 + -0x14) = 0xd2811;\n              FUN_000c5e40();\n              iVar11 = local_a8;\n            }\n            else {\n              do {\n                while ((iVar11 = iVar3, *(undefined ***)(iVar11 + 0x10) < param_4 ||\n                       ((param_4 == *(undefined ***)(iVar11 + 0x10) &&\n                        (*(undefined ***)(iVar11 + 0x14) < param_5))))) {\n                  piVar18 = (int *)(iVar11 + 0xc);\n                  iVar3 = *piVar18;\n                  iVar11 = iVar10;\n                  if (*piVar18 == 0) goto LAB_000d27da;\n                }\n                iVar3 = *(int *)(iVar11 + 8);\n                iVar10 = iVar11;\n              } while (*(int *)(iVar11 + 8) != 0);\nLAB_000d27da:\n              if (((iVar19 == iVar11) || (param_4 < *(undefined ***)(iVar11 + 0x10))) ||\n                 ((param_4 == *(undefined ***)(iVar11 + 0x10) &&\n                  (param_5 < *(undefined ***)(iVar11 + 0x14))))) goto LAB_000d27f0;\n            }\n            local_8c = iVar11 + 0x18;\n            *(undefined4 *)(puVar17 + -0xc) = 1;\n            *(undefined4 *)(puVar17 + -0x10) = 0;\n            *(int **)(puVar17 + -0x14) = local_f4;\n            *(undefined ****)(puVar17 + -0x18) = &local_68;\n            *(int *)(puVar17 + -0x1c) = local_8c;\n            *(undefined1 **)(puVar17 + -0x20) = local_e0;\n            *(undefined4 *)(puVar17 + -0x24) = 0xd2840;\n            FUN_00074340();\n            piVar18 = *(int **)(*local_dc + 0xc);\n            if (piVar18 == (int *)0x0) {\n              *(undefined ***)(puVar17 + -0xc) = local_b8 + -0x615c4;\n              *(undefined4 *)(puVar17 + -0x10) = 0x73;\n              *(int *)(puVar17 + -0x14) = (int)local_b8 + -0x1a1d93;\n                    \n              *(undefined4 *)(puVar17 + -0x18) = 0xd2fad;\n              FUN_002446e0();\n            }\n            iVar19 = *piVar18;\n            *(undefined **)(puVar17 + -0xc) = local_c4;\n            *(undefined ***)(puVar17 + -0x10) = local_b4;\n            *(undefined ***)(puVar17 + -0x14) = local_c0;\n            *(undefined ***)(puVar17 + -0x18) = param_5;\n            *(undefined ***)(puVar17 + -0x1c) = param_4;\n            *(int *)(puVar17 + -0x20) = param_2;\n            *(int **)(puVar17 + -0x24) = piVar18;\n            pcVar4 = *(code **)(iVar19 + 0x104);\n            *(undefined4 *)(puVar17 + -0x28) = 0xd287d;\n            (*pcVar4)();\n            pbVar20 = local_d8;\n            piVar18 = (int *)(puVar17 + -4);\n            if (local_d8 != (byte *)0x0) {\n              local_b4 = &local_2c;\n              local_b0 = &local_34;\n              iVar19 = *(int *)(param_2 + 0x158);\n              *(byte **)(puVar17 + -0x14) = local_d8;\n              local_34 = local_b4;\n              *(undefined4 *)(puVar17 + -0x18) = 0xd28bd;\n              sVar6 = strlen(*(char **)(puVar17 + -0x14));\n              pppuVar5 = local_b0;\n              *(undefined4 *)(puVar17 + -8) = 0;\n              *(byte **)(puVar17 + -0xc) = pbVar20 + sVar6;\n              *(byte **)(puVar17 + -0x10) = pbVar20;\n              *(undefined ****)(puVar17 + -0x14) = local_b0;\n              *(undefined4 *)(puVar17 + -0x18) = 0xd28d2;\n              FUN_00072b90();\n              *(undefined ****)(puVar17 + -0xc) = pppuVar5;\n              *(int *)(puVar17 + -0x10) = iVar19 + 0x44;\n              *(int **)(puVar17 + -0x14) = &local_ac;\n              *(undefined4 *)(puVar17 + -0x18) = 0xd28e6;\n              FUN_00094bd0();\n              iVar19 = local_ac;\n              if (local_34 != local_b4) {\n                *(undefined ***)(puVar17 + -0x18) = local_34;\n                *(undefined4 *)(puVar17 + -0x1c) = 0xd2909;\n                FUN_003ae080();\n              }\n              piVar18 = (int *)(puVar17 + -8);\n              iVar3 = *(int *)(param_2 + 0x158);\n              if (iVar19 != iVar3 + 0x48) {\n                local_34 = param_4;\n                local_30 = param_5;\n                iVar10 = *(int *)(iVar3 + 0x18);\n                iVar11 = iVar3 + 0x14;\n                if (*(int *)(iVar3 + 0x18) == 0) {\nLAB_000d2bd8:\n                  *(undefined *****)(puVar17 + -0x18) = &local_84;\n                  local_84 = local_b0;\n                  *(undefined4 *)(puVar17 + -0x1c) = 0xd2bf6;\n                  FUN_000c5e40();\n                  iVar12 = local_a8;\n                }\n                else {\n                  do {\n                    while ((iVar12 = iVar10, *(undefined ***)(iVar12 + 0x10) < param_4 ||\n                           ((param_4 == *(undefined ***)(iVar12 + 0x10) &&\n                            (*(undefined ***)(iVar12 + 0x14) < param_5))))) {\n                      piVar18 = (int *)(iVar12 + 0xc);\n                      iVar10 = *piVar18;\n                      iVar12 = iVar11;\n                      if (*piVar18 == 0) goto LAB_000d2962;\n                    }\n                    iVar10 = *(int *)(iVar12 + 8);\n                    iVar11 = iVar12;\n                  } while (*(int *)(iVar12 + 8) != 0);\nLAB_000d2962:\n                  if (((iVar12 == iVar3 + 0x14) || (param_4 < *(undefined ***)(iVar12 + 0x10))) ||\n                     ((param_4 == *(undefined ***)(iVar12 + 0x10) &&\n                      (param_5 < *(undefined ***)(iVar12 + 0x14))))) goto LAB_000d2bd8;\n                }\n                piVar18 = (int *)(puVar17 + -8);\n                puVar17 = puVar17 + -8;\n                for (puVar1 = *(undefined4 **)(iVar19 + 0x30); puVar1 != (undefined4 *)0x0;\n                    puVar1 = (undefined4 *)*puVar1) {\n                  *(undefined4 *)(puVar17 + -0xc) = 1;\n                  *(undefined4 *)(puVar17 + -0x10) = 0;\n                  *(int **)(puVar17 + -0x14) = &local_90;\n                  *(undefined4 **)(puVar17 + -0x18) = puVar1 + 1;\n                  *(int *)(puVar17 + -0x1c) = iVar12 + 0x18;\n                  *(undefined1 **)(puVar17 + -0x20) = local_e0;\n                  *(undefined4 *)(puVar17 + -0x24) = 0xd29ae;\n                  local_90 = iVar12 + 0x18;\n                  FUN_00074340();\n                  piVar18 = (int *)(puVar17 + -4);\n                  puVar17 = puVar17 + -4;\n                }\n              }\n            }\n          }\n        }\n      }\n      else {\n        if (puVar15 < param_4[0x2c]) {\n          local_70 = (undefined **)0x0;\nLAB_000d2a1f:\n          *(undefined ***)((int)piVar18 + -8) = local_b8 + -0x615ed;\n          *(undefined4 *)((int)piVar18 + -0xc) = 0x11c;\n          *(int *)((int)piVar18 + -0x10) = (int)local_b8 + -0x19ca36;\n                    \n          *(undefined4 *)((int)piVar18 + -0x14) = 0xd2a40;\n          FUN_002446e0();\n        }\n        uVar16 = (int)puVar15 - (int)param_4[0x2c];\n        local_b0 = (undefined ***)param_4[0x30];\n        if ((uint)((int)local_b0 - (int)param_4[0x2f] >> 2) <= uVar16) {\n          *(undefined ***)((int)piVar18 + -8) = local_b8 + -0x6156c;\n          *(undefined4 *)((int)piVar18 + -0xc) = 0x8ad;\n          *(int *)((int)piVar18 + -0x10) = (int)local_b8 + -0x19cc7b;\n                    \n          *(undefined4 *)((int)piVar18 + -0x14) = 0xd2f8f;\n          FUN_002446e0();\n        }\n        local_70 = *(undefined ***)(param_4[0x2f] + uVar16 * 4);\n        if (local_70 == (undefined **)0x0) goto LAB_000d2a1f;\n        if ((*(byte *)((int)local_70 + 0x2a) & 0x10) == 0) {\n          if ((*(byte *)((int)local_70 + 0x2a) & 7) == 0) goto LAB_000d25f7;\nLAB_000d29e2:\n          local_f0 = (undefined **)local_70[0xc];\n          bVar13 = 0;\n          local_b4 = (undefined **)0x0;\n          local_c0 = (undefined **)0x0;\n          bVar24 = CARRY4((uint)local_bc,(uint)local_f0);\n          local_c4 = local_bc + (int)local_f0;\n          bVar26 = local_c4 == (undefined *)0x0;\n        }\n        else {\n          *(undefined ***)((int)piVar18 + -0xc) = local_70;\n          *(int *)((int)piVar18 + -0x10) = param_2;\n          *(undefined4 *)((int)piVar18 + -0x14) = 0xd29d2;\n          local_70 = (undefined **)FUN_0034cd90();\n          if ((*(byte *)((int)local_70 + 0x2a) & 7) != 0) goto LAB_000d29e2;\nLAB_000d25f7:\n          local_f0 = (undefined **)local_70[0xc];\n          local_c0 = (undefined **)local_70[2];\n          local_c4 = local_bc + (int)local_f0;\n          if (((uint)local_c0[0xb] & 1) == 0) {\n            local_b4 = (undefined **)local_70[3];\n            bVar13 = *(byte *)((int)local_70 + 0x2b) >> 5 & 1;\n            bVar24 = (*(byte *)(local_70 + 10) & 0xf) < 2;\n            bVar26 = (*(byte *)(local_70 + 10) & 0xf) == 2;\n            if (bVar26) {\n              bVar24 = false;\n              bVar26 = local_d2 == '\0';\n              if ((!bVar26) &&\n                 (((bVar13 == 0 || (bVar26 = uVar21 == 0x17, 0x17 < uVar21)) ||\n                  (bVar24 = (0x843f84U >> (uVar2 & 0x1f) & 1) != 0, !bVar24)))) {\n                local_b0 = *(undefined ****)(param_2 + 0x15c);\n                *(undefined4 *)((int)piVar18 + -0xc) = 1;\n                *(undefined4 *)((int)piVar18 + -0x10) = 0;\n                *(undefined *****)((int)piVar18 + -0x14) = &local_94;\n                *(undefined ****)((int)piVar18 + -0x18) = &local_78;\n                local_94 = local_b0 + 0xd;\n                *(undefined ****)((int)piVar18 + -0x1c) = local_94;\n                *(undefined1 **)((int)piVar18 + -0x20) = local_e0;\n                    \n                *(undefined4 *)((int)piVar18 + -0x24) = 0xd2ccb;\n                local_78 = local_c0;\n                local_74 = local_b4;\n                FUN_00074280();\n                bVar24 = (undefined1 *)0xffffffe3 < (undefined1 *)((int)piVar18 + -0x20);\n                bVar26 = piVar18 == (int *)0x4;\n                piVar18 = (int *)((int)piVar18 + -4);\n              }\n            }\n          }\n          else {\n            local_b4 = (undefined **)0x0;\n            bVar24 = false;\n            bVar13 = 0;\n            bVar26 = true;\n            local_c0 = (undefined **)0x0;\n          }\n        }\n        pbVar20 = *local_70;\n        iVar19 = 8;\n        pbVar9 = (byte *)((int)local_b8 + -0x19ca26);\n        pbVar22 = pbVar20;\n        do {\n          if (iVar19 == 0) break;\n          iVar19 = iVar19 + -1;\n          bVar24 = *pbVar9 < *pbVar22;\n          bVar26 = *pbVar9 == *pbVar22;\n          pbVar9 = pbVar9 + (uint)bVar27 * -2 + 1;\n          pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n        } while (bVar26);\n        bVar25 = false;\n        bVar24 = (!bVar24 && !bVar26) == bVar24;\n        if (bVar24) {\n          pbVar20 = pbVar20 + 8;\n        }\n        else {\n          iVar19 = 7;\n          pbVar9 = (byte *)((int)local_b8 + -0x19ca1d);\n          pbVar22 = pbVar20;\n          do {\n            if (iVar19 == 0) break;\n            iVar19 = iVar19 + -1;\n            bVar25 = *pbVar9 < *pbVar22;\n            bVar24 = *pbVar9 == *pbVar22;\n            pbVar9 = pbVar9 + (uint)bVar27 * -2 + 1;\n            pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n          } while (bVar24);\n          pbVar20 = pbVar20 + 7;\n          if ((!bVar25 && !bVar24) != bVar25) {\n            pbVar20 = local_d8;\n          }\n        }\n        local_d8 = pbVar20;\n        if (local_d1 != '\0') {\n          if (bVar13 == 0) {\n            local_34 = (undefined **)0x0;\n            local_30 = (undefined **)0x0;\n          }\n          else {\n            local_34 = local_c0;\n            local_30 = local_b4;\n          }\n          local_b0 = &local_34;\n          *(undefined ****)((int)piVar18 + -0xc) = local_b0;\n          *(int *)((int)piVar18 + -0x10) = local_c8;\n          *(undefined4 *)((int)piVar18 + -0x14) = 0xd26b9;\n          FUN_00073b00();\n          puVar1 = *(undefined4 **)(local_cc + 4);\n          if (puVar1 == *(undefined4 **)(local_cc + 8)) {\n            *(undefined ****)((int)piVar18 + -8) = &local_70;\n            *(undefined4 **)((int)piVar18 + -0xc) = puVar1;\n            *(int *)((int)piVar18 + -0x10) = local_cc;\n            *(undefined4 *)((int)piVar18 + -0x14) = 0xd2b4b;\n            FUN_000726c0();\n          }\n          else {\n            *puVar1 = local_70;\n            *(undefined4 **)(local_cc + 4) = puVar1 + 1;\n          }\n          *(undefined ****)((int)piVar18 + -0xc) = local_b0;\n          *(undefined ***)((int)piVar18 + -0x10) = local_e8;\n          local_34 = local_f0;\n          local_30 = (undefined **)0x0;\n          local_2c = local_bc;\n          local_28 = (int)local_bc >> 0x1f;\n          *(undefined4 *)((int)piVar18 + -0x14) = 0xd270d;\n          FUN_00073e70();\n          local_30 = (undefined **)0x0;\n          local_34 = (undefined **)*param_7;\n          puVar1 = *(undefined4 **)(local_d0 + 4);\n          if (puVar1 == *(undefined4 **)(local_d0 + 8)) {\n            *(undefined ****)((int)piVar18 + -8) = local_b0;\n            *(undefined4 **)((int)piVar18 + -0xc) = puVar1;\n            *(int *)((int)piVar18 + -0x10) = local_d0;\n            *(undefined4 *)((int)piVar18 + -0x14) = 0xd2bbd;\n            FUN_00072a40();\n          }\n          else {\n            *puVar1 = local_34;\n            puVar1[1] = 0;\n            *(undefined4 **)(local_d0 + 4) = puVar1 + 2;\n          }\n          local_68 = (undefined **)0x0;\n          *(undefined ****)((int)piVar18 + -0xc) = &local_68;\n          *(int *)((int)piVar18 + -0x10) = local_ec;\n          *(undefined4 *)((int)piVar18 + -0x14) = 0xd2753;\n          FUN_00074020();\n        }\n        puVar17 = (undefined1 *)piVar18;\n        if (bVar13 != 0) goto LAB_000d275e;\n      }\nLAB_000d2489:\n      local_e4 = local_e4 + 1;\n      param_7 = param_7 + 3;\n    } while (param_8 != local_e4);" do (compound_statement "{\n      uVar2 = param_7[1];\n      uVar21 = uVar2 & 0xff;\n      puVar15 = (undefined *)(uVar2 >> 8);\n      local_bc = (undefined *)param_7[2];\n      if (puVar15 < param_11) {\n        if (param_12 == 0) {\n          *(undefined ***)((int)piVar18 + -8) = local_b8 + -0x615ed;\n          *(undefined4 *)((int)piVar18 + -0xc) = 0xea;\n          *(int *)((int)piVar18 + -0x10) = (int)local_b8 + -0x19ca36;\n                    \n                    \n          *(undefined **)((int)piVar18 + -0x14) = &UNK_000d2f49;\n          FUN_002446e0();\n        }\n        iVar19 = (int)puVar15 * 0x10 + param_12;\n        local_b4 = (undefined **)(uint)*(ushort *)(iVar19 + 0xe);\n        if (local_b4 < (undefined **)0xff00) {\nLAB_000d24ee:\n          ppuVar14 = *(undefined ***)(iVar19 + 4);\n          local_c4 = local_bc + (int)ppuVar14;\n          if (local_d1 != '\0') {\n            local_34 = param_4;\n            local_30 = local_b4;\n            local_b0 = &local_34;\n            *(undefined ****)((int)piVar18 + -0xc) = local_b0;\n            *(int *)((int)piVar18 + -0x10) = local_c8;\n            *(undefined4 *)((int)piVar18 + -0x14) = 0xd2533;\n            FUN_00073b00();\n            local_c0 = (undefined **)CONCAT31(local_c0._1_3_,1);\n            if ((*(byte *)(iVar19 + 0xc) & 0xf) == 3) goto LAB_000d254c;\nLAB_000d23e8:\n            *(undefined ****)((int)piVar18 + -0xc) = local_b0;\n            *(int *)((int)piVar18 + -0x10) = local_cc;\n            local_34 = (undefined **)0x0;\n            *(undefined4 *)((int)piVar18 + -0x14) = 0xd2403;\n            FUN_00073ca0();\n            goto LAB_000d2403;\n          }\n        }\n        else {\n          if (local_b4 == (undefined **)0xffff) {\n            puVar7 = param_4[0xc];\n            if (puVar7 == (undefined *)0x0) {\n              puVar7 = *param_4;\n              *(undefined ***)((int)piVar18 + -0x10) = param_4;\n              pcVar4 = *(code **)(puVar7 + 0x6c);\n              *(undefined4 *)((int)piVar18 + -0x14) = 0xd2a4e;\n              puVar7 = (undefined *)(*pcVar4)();\n              param_4[0xc] = puVar7;\n            }\n            *(undefined **)((int)piVar18 + -8) = puVar15;\n            *(undefined ***)((int)piVar18 + -0xc) = param_4;\n            *(undefined **)((int)piVar18 + -0x10) = puVar7;\n            *(undefined4 *)((int)piVar18 + -0x14) = 0xd2591;\n            local_b4 = (undefined **)FUN_0028b7d0();\n            goto LAB_000d24ee;\n          }\n          ppuVar14 = *(undefined ***)(iVar19 + 4);\n          local_c4 = local_bc + (int)ppuVar14;\n          if (local_d1 == '\0') goto LAB_000d2489;\n          local_b0 = &local_34;\n          local_34 = (undefined **)0x0;\n          *(undefined ****)((int)piVar18 + -0xc) = local_b0;\n          *(int *)((int)piVar18 + -0x10) = local_c8;\n          local_30 = (undefined **)0x0;\n                    \n          *(undefined4 *)((int)piVar18 + -0x14) = 0xd23cf;\n          FUN_00073b00();\n          local_c0 = (undefined **)((uint)local_c0 & 0xffffff00);\n          if ((*(byte *)(iVar19 + 0xc) & 0xf) != 3) goto LAB_000d23e8;\nLAB_000d254c:\n          *(undefined ****)((int)piVar18 + -0xc) = local_b0;\n          *(int *)((int)piVar18 + -0x10) = local_cc;\n          local_34 = (undefined **)0xffffffff;\n          *(undefined4 *)((int)piVar18 + -0x14) = 0xd2567;\n          FUN_00073ca0();\nLAB_000d2403:\n          *(undefined ****)((int)piVar18 + -0xc) = local_b0;\n          *(undefined ***)((int)piVar18 + -0x10) = local_e8;\n          local_2c = local_bc;\n          local_28 = (int)local_bc >> 0x1f;\n          local_30 = (undefined **)0x0;\n          *(undefined4 *)((int)piVar18 + -0x14) = 0xd2433;\n          local_34 = ppuVar14;\n          FUN_00073e70();\n          local_30 = (undefined **)0x0;\n          local_34 = (undefined **)*param_7;\n          puVar1 = *(undefined4 **)(local_d0 + 4);\n          if (puVar1 == *(undefined4 **)(local_d0 + 8)) {\n            *(undefined ****)((int)piVar18 + -8) = local_b0;\n            *(undefined4 **)((int)piVar18 + -0xc) = puVar1;\n            *(int *)((int)piVar18 + -0x10) = local_d0;\n            *(undefined4 *)((int)piVar18 + -0x14) = 0xd2b0d;\n            FUN_00072a40();\n          }\n          else {\n            *puVar1 = local_34;\n            puVar1[1] = 0;\n            *(undefined4 **)(local_d0 + 4) = puVar1 + 2;\n          }\n          local_68 = (undefined **)0x0;\n          *(undefined ****)((int)piVar18 + -0xc) = &local_68;\n          *(int *)((int)piVar18 + -0x10) = local_ec;\n          *(undefined4 *)((int)piVar18 + -0x14) = 0xd2479;\n          FUN_00074020();\n          if ((char)local_c0 == '\0') goto LAB_000d2489;\n        }\n        if (((local_d2 != '\0') && ((*(byte *)(iVar19 + 0xc) & 0xf) != 1)) &&\n           ((0x17 < uVar21 || ((0x843f84U >> (uVar2 & 0x1f) & 1) == 0)))) {\n          local_b0 = *(undefined ****)(param_2 + 0x15c);\n          local_80 = param_4;\n          local_7c = (uint)*(ushort *)(iVar19 + 0xe);\n          *(undefined4 *)((int)piVar18 + -0xc) = 1;\n          *(undefined4 *)((int)piVar18 + -0x10) = 0;\n          local_98 = local_b0 + 0xd;\n          *(undefined *****)((int)piVar18 + -0x14) = &local_98;\n          *(undefined ****)((int)piVar18 + -0x18) = &local_80;\n          *(undefined ****)((int)piVar18 + -0x1c) = local_98;\n          *(undefined1 **)((int)piVar18 + -0x20) = local_e0;\n          *(undefined4 *)((int)piVar18 + -0x24) = 0xd2ad1;\n          FUN_00074280();\n          piVar18 = (int *)((int)piVar18 + -4);\n        }\n        if (param_5 != local_b4) {\n          local_c0 = param_4;\n          puVar17 = (undefined1 *)piVar18;\nLAB_000d275e:\n          if (*(int *)(*local_dc + 8) == 0) {\n            *(undefined ***)(puVar17 + -8) = local_b8 + -0x61176;\n            *(undefined4 *)(puVar17 + -0xc) = 0x5c;\n            *(int *)(puVar17 + -0x10) = (int)local_b8 + -0x1a1d93;\n                    \n            *(undefined4 *)(puVar17 + -0x14) = 0xd2f6e;\n            FUN_002446e0();\n          }\n          piVar18 = (int *)puVar17;\n          if (*(char *)(*(int *)(*local_dc + 8) + 0x18b1) != '\0') {\n            local_70 = param_4;\n            iVar19 = *(int *)(param_2 + 0x158) + 0x14;\n            local_6c = param_5;\n            local_68 = local_c0;\n            local_64 = local_b4;\n            iVar3 = *(int *)(*(int *)(param_2 + 0x158) + 0x18);\n            iVar10 = iVar19;\n            if (iVar3 == 0) {\nLAB_000d27f0:\n              local_88 = &local_70;\n              *(undefined *****)(puVar17 + -0x10) = &local_88;\n              *(undefined4 *)(puVar17 + -0x14) = 0xd2811;\n              FUN_000c5e40();\n              iVar11 = local_a8;\n            }\n            else {\n              do {\n                while ((iVar11 = iVar3, *(undefined ***)(iVar11 + 0x10) < param_4 ||\n                       ((param_4 == *(undefined ***)(iVar11 + 0x10) &&\n                        (*(undefined ***)(iVar11 + 0x14) < param_5))))) {\n                  piVar18 = (int *)(iVar11 + 0xc);\n                  iVar3 = *piVar18;\n                  iVar11 = iVar10;\n                  if (*piVar18 == 0) goto LAB_000d27da;\n                }\n                iVar3 = *(int *)(iVar11 + 8);\n                iVar10 = iVar11;\n              } while (*(int *)(iVar11 + 8) != 0);\nLAB_000d27da:\n              if (((iVar19 == iVar11) || (param_4 < *(undefined ***)(iVar11 + 0x10))) ||\n                 ((param_4 == *(undefined ***)(iVar11 + 0x10) &&\n                  (param_5 < *(undefined ***)(iVar11 + 0x14))))) goto LAB_000d27f0;\n            }\n            local_8c = iVar11 + 0x18;\n            *(undefined4 *)(puVar17 + -0xc) = 1;\n            *(undefined4 *)(puVar17 + -0x10) = 0;\n            *(int **)(puVar17 + -0x14) = local_f4;\n            *(undefined ****)(puVar17 + -0x18) = &local_68;\n            *(int *)(puVar17 + -0x1c) = local_8c;\n            *(undefined1 **)(puVar17 + -0x20) = local_e0;\n            *(undefined4 *)(puVar17 + -0x24) = 0xd2840;\n            FUN_00074340();\n            piVar18 = *(int **)(*local_dc + 0xc);\n            if (piVar18 == (int *)0x0) {\n              *(undefined ***)(puVar17 + -0xc) = local_b8 + -0x615c4;\n              *(undefined4 *)(puVar17 + -0x10) = 0x73;\n              *(int *)(puVar17 + -0x14) = (int)local_b8 + -0x1a1d93;\n                    \n              *(undefined4 *)(puVar17 + -0x18) = 0xd2fad;\n              FUN_002446e0();\n            }\n            iVar19 = *piVar18;\n            *(undefined **)(puVar17 + -0xc) = local_c4;\n            *(undefined ***)(puVar17 + -0x10) = local_b4;\n            *(undefined ***)(puVar17 + -0x14) = local_c0;\n            *(undefined ***)(puVar17 + -0x18) = param_5;\n            *(undefined ***)(puVar17 + -0x1c) = param_4;\n            *(int *)(puVar17 + -0x20) = param_2;\n            *(int **)(puVar17 + -0x24) = piVar18;\n            pcVar4 = *(code **)(iVar19 + 0x104);\n            *(undefined4 *)(puVar17 + -0x28) = 0xd287d;\n            (*pcVar4)();\n            pbVar20 = local_d8;\n            piVar18 = (int *)(puVar17 + -4);\n            if (local_d8 != (byte *)0x0) {\n              local_b4 = &local_2c;\n              local_b0 = &local_34;\n              iVar19 = *(int *)(param_2 + 0x158);\n              *(byte **)(puVar17 + -0x14) = local_d8;\n              local_34 = local_b4;\n              *(undefined4 *)(puVar17 + -0x18) = 0xd28bd;\n              sVar6 = strlen(*(char **)(puVar17 + -0x14));\n              pppuVar5 = local_b0;\n              *(undefined4 *)(puVar17 + -8) = 0;\n              *(byte **)(puVar17 + -0xc) = pbVar20 + sVar6;\n              *(byte **)(puVar17 + -0x10) = pbVar20;\n              *(undefined ****)(puVar17 + -0x14) = local_b0;\n              *(undefined4 *)(puVar17 + -0x18) = 0xd28d2;\n              FUN_00072b90();\n              *(undefined ****)(puVar17 + -0xc) = pppuVar5;\n              *(int *)(puVar17 + -0x10) = iVar19 + 0x44;\n              *(int **)(puVar17 + -0x14) = &local_ac;\n              *(undefined4 *)(puVar17 + -0x18) = 0xd28e6;\n              FUN_00094bd0();\n              iVar19 = local_ac;\n              if (local_34 != local_b4) {\n                *(undefined ***)(puVar17 + -0x18) = local_34;\n                *(undefined4 *)(puVar17 + -0x1c) = 0xd2909;\n                FUN_003ae080();\n              }\n              piVar18 = (int *)(puVar17 + -8);\n              iVar3 = *(int *)(param_2 + 0x158);\n              if (iVar19 != iVar3 + 0x48) {\n                local_34 = param_4;\n                local_30 = param_5;\n                iVar10 = *(int *)(iVar3 + 0x18);\n                iVar11 = iVar3 + 0x14;\n                if (*(int *)(iVar3 + 0x18) == 0) {\nLAB_000d2bd8:\n                  *(undefined *****)(puVar17 + -0x18) = &local_84;\n                  local_84 = local_b0;\n                  *(undefined4 *)(puVar17 + -0x1c) = 0xd2bf6;\n                  FUN_000c5e40();\n                  iVar12 = local_a8;\n                }\n                else {\n                  do {\n                    while ((iVar12 = iVar10, *(undefined ***)(iVar12 + 0x10) < param_4 ||\n                           ((param_4 == *(undefined ***)(iVar12 + 0x10) &&\n                            (*(undefined ***)(iVar12 + 0x14) < param_5))))) {\n                      piVar18 = (int *)(iVar12 + 0xc);\n                      iVar10 = *piVar18;\n                      iVar12 = iVar11;\n                      if (*piVar18 == 0) goto LAB_000d2962;\n                    }\n                    iVar10 = *(int *)(iVar12 + 8);\n                    iVar11 = iVar12;\n                  } while (*(int *)(iVar12 + 8) != 0);\nLAB_000d2962:\n                  if (((iVar12 == iVar3 + 0x14) || (param_4 < *(undefined ***)(iVar12 + 0x10))) ||\n                     ((param_4 == *(undefined ***)(iVar12 + 0x10) &&\n                      (param_5 < *(undefined ***)(iVar12 + 0x14))))) goto LAB_000d2bd8;\n                }\n                piVar18 = (int *)(puVar17 + -8);\n                puVar17 = puVar17 + -8;\n                for (puVar1 = *(undefined4 **)(iVar19 + 0x30); puVar1 != (undefined4 *)0x0;\n                    puVar1 = (undefined4 *)*puVar1) {\n                  *(undefined4 *)(puVar17 + -0xc) = 1;\n                  *(undefined4 *)(puVar17 + -0x10) = 0;\n                  *(int **)(puVar17 + -0x14) = &local_90;\n                  *(undefined4 **)(puVar17 + -0x18) = puVar1 + 1;\n                  *(int *)(puVar17 + -0x1c) = iVar12 + 0x18;\n                  *(undefined1 **)(puVar17 + -0x20) = local_e0;\n                  *(undefined4 *)(puVar17 + -0x24) = 0xd29ae;\n                  local_90 = iVar12 + 0x18;\n                  FUN_00074340();\n                  piVar18 = (int *)(puVar17 + -4);\n                  puVar17 = puVar17 + -4;\n                }\n              }\n            }\n          }\n        }\n      }\n      else {\n        if (puVar15 < param_4[0x2c]) {\n          local_70 = (undefined **)0x0;\nLAB_000d2a1f:\n          *(undefined ***)((int)piVar18 + -8) = local_b8 + -0x615ed;\n          *(undefined4 *)((int)piVar18 + -0xc) = 0x11c;\n          *(int *)((int)piVar18 + -0x10) = (int)local_b8 + -0x19ca36;\n                    \n          *(undefined4 *)((int)piVar18 + -0x14) = 0xd2a40;\n          FUN_002446e0();\n        }\n        uVar16 = (int)puVar15 - (int)param_4[0x2c];\n        local_b0 = (undefined ***)param_4[0x30];\n        if ((uint)((int)local_b0 - (int)param_4[0x2f] >> 2) <= uVar16) {\n          *(undefined ***)((int)piVar18 + -8) = local_b8 + -0x6156c;\n          *(undefined4 *)((int)piVar18 + -0xc) = 0x8ad;\n          *(int *)((int)piVar18 + -0x10) = (int)local_b8 + -0x19cc7b;\n                    \n          *(undefined4 *)((int)piVar18 + -0x14) = 0xd2f8f;\n          FUN_002446e0();\n        }\n        local_70 = *(undefined ***)(param_4[0x2f] + uVar16 * 4);\n        if (local_70 == (undefined **)0x0) goto LAB_000d2a1f;\n        if ((*(byte *)((int)local_70 + 0x2a) & 0x10) == 0) {\n          if ((*(byte *)((int)local_70 + 0x2a) & 7) == 0) goto LAB_000d25f7;\nLAB_000d29e2:\n          local_f0 = (undefined **)local_70[0xc];\n          bVar13 = 0;\n          local_b4 = (undefined **)0x0;\n          local_c0 = (undefined **)0x0;\n          bVar24 = CARRY4((uint)local_bc,(uint)local_f0);\n          local_c4 = local_bc + (int)local_f0;\n          bVar26 = local_c4 == (undefined *)0x0;\n        }\n        else {\n          *(undefined ***)((int)piVar18 + -0xc) = local_70;\n          *(int *)((int)piVar18 + -0x10) = param_2;\n          *(undefined4 *)((int)piVar18 + -0x14) = 0xd29d2;\n          local_70 = (undefined **)FUN_0034cd90();\n          if ((*(byte *)((int)local_70 + 0x2a) & 7) != 0) goto LAB_000d29e2;\nLAB_000d25f7:\n          local_f0 = (undefined **)local_70[0xc];\n          local_c0 = (undefined **)local_70[2];\n          local_c4 = local_bc + (int)local_f0;\n          if (((uint)local_c0[0xb] & 1) == 0) {\n            local_b4 = (undefined **)local_70[3];\n            bVar13 = *(byte *)((int)local_70 + 0x2b) >> 5 & 1;\n            bVar24 = (*(byte *)(local_70 + 10) & 0xf) < 2;\n            bVar26 = (*(byte *)(local_70 + 10) & 0xf) == 2;\n            if (bVar26) {\n              bVar24 = false;\n              bVar26 = local_d2 == '\0';\n              if ((!bVar26) &&\n                 (((bVar13 == 0 || (bVar26 = uVar21 == 0x17, 0x17 < uVar21)) ||\n                  (bVar24 = (0x843f84U >> (uVar2 & 0x1f) & 1) != 0, !bVar24)))) {\n                local_b0 = *(undefined ****)(param_2 + 0x15c);\n                *(undefined4 *)((int)piVar18 + -0xc) = 1;\n                *(undefined4 *)((int)piVar18 + -0x10) = 0;\n                *(undefined *****)((int)piVar18 + -0x14) = &local_94;\n                *(undefined ****)((int)piVar18 + -0x18) = &local_78;\n                local_94 = local_b0 + 0xd;\n                *(undefined ****)((int)piVar18 + -0x1c) = local_94;\n                *(undefined1 **)((int)piVar18 + -0x20) = local_e0;\n                    \n                *(undefined4 *)((int)piVar18 + -0x24) = 0xd2ccb;\n                local_78 = local_c0;\n                local_74 = local_b4;\n                FUN_00074280();\n                bVar24 = (undefined1 *)0xffffffe3 < (undefined1 *)((int)piVar18 + -0x20);\n                bVar26 = piVar18 == (int *)0x4;\n                piVar18 = (int *)((int)piVar18 + -4);\n              }\n            }\n          }\n          else {\n            local_b4 = (undefined **)0x0;\n            bVar24 = false;\n            bVar13 = 0;\n            bVar26 = true;\n            local_c0 = (undefined **)0x0;\n          }\n        }\n        pbVar20 = *local_70;\n        iVar19 = 8;\n        pbVar9 = (byte *)((int)local_b8 + -0x19ca26);\n        pbVar22 = pbVar20;\n        do {\n          if (iVar19 == 0) break;\n          iVar19 = iVar19 + -1;\n          bVar24 = *pbVar9 < *pbVar22;\n          bVar26 = *pbVar9 == *pbVar22;\n          pbVar9 = pbVar9 + (uint)bVar27 * -2 + 1;\n          pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n        } while (bVar26);\n        bVar25 = false;\n        bVar24 = (!bVar24 && !bVar26) == bVar24;\n        if (bVar24) {\n          pbVar20 = pbVar20 + 8;\n        }\n        else {\n          iVar19 = 7;\n          pbVar9 = (byte *)((int)local_b8 + -0x19ca1d);\n          pbVar22 = pbVar20;\n          do {\n            if (iVar19 == 0) break;\n            iVar19 = iVar19 + -1;\n            bVar25 = *pbVar9 < *pbVar22;\n            bVar24 = *pbVar9 == *pbVar22;\n            pbVar9 = pbVar9 + (uint)bVar27 * -2 + 1;\n            pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n          } while (bVar24);\n          pbVar20 = pbVar20 + 7;\n          if ((!bVar25 && !bVar24) != bVar25) {\n            pbVar20 = local_d8;\n          }\n        }\n        local_d8 = pbVar20;\n        if (local_d1 != '\0') {\n          if (bVar13 == 0) {\n            local_34 = (undefined **)0x0;\n            local_30 = (undefined **)0x0;\n          }\n          else {\n            local_34 = local_c0;\n            local_30 = local_b4;\n          }\n          local_b0 = &local_34;\n          *(undefined ****)((int)piVar18 + -0xc) = local_b0;\n          *(int *)((int)piVar18 + -0x10) = local_c8;\n          *(undefined4 *)((int)piVar18 + -0x14) = 0xd26b9;\n          FUN_00073b00();\n          puVar1 = *(undefined4 **)(local_cc + 4);\n          if (puVar1 == *(undefined4 **)(local_cc + 8)) {\n            *(undefined ****)((int)piVar18 + -8) = &local_70;\n            *(undefined4 **)((int)piVar18 + -0xc) = puVar1;\n            *(int *)((int)piVar18 + -0x10) = local_cc;\n            *(undefined4 *)((int)piVar18 + -0x14) = 0xd2b4b;\n            FUN_000726c0();\n          }\n          else {\n            *puVar1 = local_70;\n            *(undefined4 **)(local_cc + 4) = puVar1 + 1;\n          }\n          *(undefined ****)((int)piVar18 + -0xc) = local_b0;\n          *(undefined ***)((int)piVar18 + -0x10) = local_e8;\n          local_34 = local_f0;\n          local_30 = (undefined **)0x0;\n          local_2c = local_bc;\n          local_28 = (int)local_bc >> 0x1f;\n          *(undefined4 *)((int)piVar18 + -0x14) = 0xd270d;\n          FUN_00073e70();\n          local_30 = (undefined **)0x0;\n          local_34 = (undefined **)*param_7;\n          puVar1 = *(undefined4 **)(local_d0 + 4);\n          if (puVar1 == *(undefined4 **)(local_d0 + 8)) {\n            *(undefined ****)((int)piVar18 + -8) = local_b0;\n            *(undefined4 **)((int)piVar18 + -0xc) = puVar1;\n            *(int *)((int)piVar18 + -0x10) = local_d0;\n            *(undefined4 *)((int)piVar18 + -0x14) = 0xd2bbd;\n            FUN_00072a40();\n          }\n          else {\n            *puVar1 = local_34;\n            puVar1[1] = 0;\n            *(undefined4 **)(local_d0 + 4) = puVar1 + 2;\n          }\n          local_68 = (undefined **)0x0;\n          *(undefined ****)((int)piVar18 + -0xc) = &local_68;\n          *(int *)((int)piVar18 + -0x10) = local_ec;\n          *(undefined4 *)((int)piVar18 + -0x14) = 0xd2753;\n          FUN_00074020();\n        }\n        puVar17 = (undefined1 *)piVar18;\n        if (bVar13 != 0) goto LAB_000d275e;\n      }\nLAB_000d2489:\n      local_e4 = local_e4 + 1;\n      param_7 = param_7 + 3;\n    }" { (expression_statement "uVar2 = param_7[1];" (assignment_expression "uVar2 = param_7[1]" identifier = (subscript_expression "param_7[1]" identifier [ number_literal ])) ;) (expression_statement "uVar21 = uVar2 & 0xff;" (assignment_expression "uVar21 = uVar2 & 0xff" identifier = (binary_expression "uVar2 & 0xff" identifier & number_literal)) ;) (expression_statement "puVar15 = (undefined *)(uVar2 >> 8);" (assignment_expression "puVar15 = (undefined *)(uVar2 >> 8)" identifier = (cast_expression "(undefined *)(uVar2 >> 8)" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uVar2 >> 8)" ( (binary_expression "uVar2 >> 8" identifier >> number_literal) )))) ;) (expression_statement "local_bc = (undefined *)param_7[2];" (assignment_expression "local_bc = (undefined *)param_7[2]" identifier = (cast_expression "(undefined *)param_7[2]" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_7[2]" identifier [ number_literal ]))) ;) (if_statement "if (puVar15 < param_11) {\n        if (param_12 == 0) {\n          *(undefined ***)((int)piVar18 + -8) = local_b8 + -0x615ed;\n          *(undefined4 *)((int)piVar18 + -0xc) = 0xea;\n          *(int *)((int)piVar18 + -0x10) = (int)local_b8 + -0x19ca36;\n                    \n                    \n          *(undefined **)((int)piVar18 + -0x14) = &UNK_000d2f49;\n          FUN_002446e0();\n        }\n        iVar19 = (int)puVar15 * 0x10 + param_12;\n        local_b4 = (undefined **)(uint)*(ushort *)(iVar19 + 0xe);\n        if (local_b4 < (undefined **)0xff00) {\nLAB_000d24ee:\n          ppuVar14 = *(undefined ***)(iVar19 + 4);\n          local_c4 = local_bc + (int)ppuVar14;\n          if (local_d1 != '\0') {\n            local_34 = param_4;\n            local_30 = local_b4;\n            local_b0 = &local_34;\n            *(undefined ****)((int)piVar18 + -0xc) = local_b0;\n            *(int *)((int)piVar18 + -0x10) = local_c8;\n            *(undefined4 *)((int)piVar18 + -0x14) = 0xd2533;\n            FUN_00073b00();\n            local_c0 = (undefined **)CONCAT31(local_c0._1_3_,1);\n            if ((*(byte *)(iVar19 + 0xc) & 0xf) == 3) goto LAB_000d254c;\nLAB_000d23e8:\n            *(undefined ****)((int)piVar18 + -0xc) = local_b0;\n            *(int *)((int)piVar18 + -0x10) = local_cc;\n            local_34 = (undefined **)0x0;\n            *(undefined4 *)((int)piVar18 + -0x14) = 0xd2403;\n            FUN_00073ca0();\n            goto LAB_000d2403;\n          }\n        }\n        else {\n          if (local_b4 == (undefined **)0xffff) {\n            puVar7 = param_4[0xc];\n            if (puVar7 == (undefined *)0x0) {\n              puVar7 = *param_4;\n              *(undefined ***)((int)piVar18 + -0x10) = param_4;\n              pcVar4 = *(code **)(puVar7 + 0x6c);\n              *(undefined4 *)((int)piVar18 + -0x14) = 0xd2a4e;\n              puVar7 = (undefined *)(*pcVar4)();\n              param_4[0xc] = puVar7;\n            }\n            *(undefined **)((int)piVar18 + -8) = puVar15;\n            *(undefined ***)((int)piVar18 + -0xc) = param_4;\n            *(undefined **)((int)piVar18 + -0x10) = puVar7;\n            *(undefined4 *)((int)piVar18 + -0x14) = 0xd2591;\n            local_b4 = (undefined **)FUN_0028b7d0();\n            goto LAB_000d24ee;\n          }\n          ppuVar14 = *(undefined ***)(iVar19 + 4);\n          local_c4 = local_bc + (int)ppuVar14;\n          if (local_d1 == '\0') goto LAB_000d2489;\n          local_b0 = &local_34;\n          local_34 = (undefined **)0x0;\n          *(undefined ****)((int)piVar18 + -0xc) = local_b0;\n          *(int *)((int)piVar18 + -0x10) = local_c8;\n          local_30 = (undefined **)0x0;\n                    \n          *(undefined4 *)((int)piVar18 + -0x14) = 0xd23cf;\n          FUN_00073b00();\n          local_c0 = (undefined **)((uint)local_c0 & 0xffffff00);\n          if ((*(byte *)(iVar19 + 0xc) & 0xf) != 3) goto LAB_000d23e8;\nLAB_000d254c:\n          *(undefined ****)((int)piVar18 + -0xc) = local_b0;\n          *(int *)((int)piVar18 + -0x10) = local_cc;\n          local_34 = (undefined **)0xffffffff;\n          *(undefined4 *)((int)piVar18 + -0x14) = 0xd2567;\n          FUN_00073ca0();\nLAB_000d2403:\n          *(undefined ****)((int)piVar18 + -0xc) = local_b0;\n          *(undefined ***)((int)piVar18 + -0x10) = local_e8;\n          local_2c = local_bc;\n          local_28 = (int)local_bc >> 0x1f;\n          local_30 = (undefined **)0x0;\n          *(undefined4 *)((int)piVar18 + -0x14) = 0xd2433;\n          local_34 = ppuVar14;\n          FUN_00073e70();\n          local_30 = (undefined **)0x0;\n          local_34 = (undefined **)*param_7;\n          puVar1 = *(undefined4 **)(local_d0 + 4);\n          if (puVar1 == *(undefined4 **)(local_d0 + 8)) {\n            *(undefined ****)((int)piVar18 + -8) = local_b0;\n            *(undefined4 **)((int)piVar18 + -0xc) = puVar1;\n            *(int *)((int)piVar18 + -0x10) = local_d0;\n            *(undefined4 *)((int)piVar18 + -0x14) = 0xd2b0d;\n            FUN_00072a40();\n          }\n          else {\n            *puVar1 = local_34;\n            puVar1[1] = 0;\n            *(undefined4 **)(local_d0 + 4) = puVar1 + 2;\n          }\n          local_68 = (undefined **)0x0;\n          *(undefined ****)((int)piVar18 + -0xc) = &local_68;\n          *(int *)((int)piVar18 + -0x10) = local_ec;\n          *(undefined4 *)((int)piVar18 + -0x14) = 0xd2479;\n          FUN_00074020();\n          if ((char)local_c0 == '\0') goto LAB_000d2489;\n        }\n        if (((local_d2 != '\0') && ((*(byte *)(iVar19 + 0xc) & 0xf) != 1)) &&\n           ((0x17 < uVar21 || ((0x843f84U >> (uVar2 & 0x1f) & 1) == 0)))) {\n          local_b0 = *(undefined ****)(param_2 + 0x15c);\n          local_80 = param_4;\n          local_7c = (uint)*(ushort *)(iVar19 + 0xe);\n          *(undefined4 *)((int)piVar18 + -0xc) = 1;\n          *(undefined4 *)((int)piVar18 + -0x10) = 0;\n          local_98 = local_b0 + 0xd;\n          *(undefined *****)((int)piVar18 + -0x14) = &local_98;\n          *(undefined ****)((int)piVar18 + -0x18) = &local_80;\n          *(undefined ****)((int)piVar18 + -0x1c) = local_98;\n          *(undefined1 **)((int)piVar18 + -0x20) = local_e0;\n          *(undefined4 *)((int)piVar18 + -0x24) = 0xd2ad1;\n          FUN_00074280();\n          piVar18 = (int *)((int)piVar18 + -4);\n        }\n        if (param_5 != local_b4) {\n          local_c0 = param_4;\n          puVar17 = (undefined1 *)piVar18;\nLAB_000d275e:\n          if (*(int *)(*local_dc + 8) == 0) {\n            *(undefined ***)(puVar17 + -8) = local_b8 + -0x61176;\n            *(undefined4 *)(puVar17 + -0xc) = 0x5c;\n            *(int *)(puVar17 + -0x10) = (int)local_b8 + -0x1a1d93;\n                    \n            *(undefined4 *)(puVar17 + -0x14) = 0xd2f6e;\n            FUN_002446e0();\n          }\n          piVar18 = (int *)puVar17;\n          if (*(char *)(*(int *)(*local_dc + 8) + 0x18b1) != '\0') {\n            local_70 = param_4;\n            iVar19 = *(int *)(param_2 + 0x158) + 0x14;\n            local_6c = param_5;\n            local_68 = local_c0;\n            local_64 = local_b4;\n            iVar3 = *(int *)(*(int *)(param_2 + 0x158) + 0x18);\n            iVar10 = iVar19;\n            if (iVar3 == 0) {\nLAB_000d27f0:\n              local_88 = &local_70;\n              *(undefined *****)(puVar17 + -0x10) = &local_88;\n              *(undefined4 *)(puVar17 + -0x14) = 0xd2811;\n              FUN_000c5e40();\n              iVar11 = local_a8;\n            }\n            else {\n              do {\n                while ((iVar11 = iVar3, *(undefined ***)(iVar11 + 0x10) < param_4 ||\n                       ((param_4 == *(undefined ***)(iVar11 + 0x10) &&\n                        (*(undefined ***)(iVar11 + 0x14) < param_5))))) {\n                  piVar18 = (int *)(iVar11 + 0xc);\n                  iVar3 = *piVar18;\n                  iVar11 = iVar10;\n                  if (*piVar18 == 0) goto LAB_000d27da;\n                }\n                iVar3 = *(int *)(iVar11 + 8);\n                iVar10 = iVar11;\n              } while (*(int *)(iVar11 + 8) != 0);\nLAB_000d27da:\n              if (((iVar19 == iVar11) || (param_4 < *(undefined ***)(iVar11 + 0x10))) ||\n                 ((param_4 == *(undefined ***)(iVar11 + 0x10) &&\n                  (param_5 < *(undefined ***)(iVar11 + 0x14))))) goto LAB_000d27f0;\n            }\n            local_8c = iVar11 + 0x18;\n            *(undefined4 *)(puVar17 + -0xc) = 1;\n            *(undefined4 *)(puVar17 + -0x10) = 0;\n            *(int **)(puVar17 + -0x14) = local_f4;\n            *(undefined ****)(puVar17 + -0x18) = &local_68;\n            *(int *)(puVar17 + -0x1c) = local_8c;\n            *(undefined1 **)(puVar17 + -0x20) = local_e0;\n            *(undefined4 *)(puVar17 + -0x24) = 0xd2840;\n            FUN_00074340();\n            piVar18 = *(int **)(*local_dc + 0xc);\n            if (piVar18 == (int *)0x0) {\n              *(undefined ***)(puVar17 + -0xc) = local_b8 + -0x615c4;\n              *(undefined4 *)(puVar17 + -0x10) = 0x73;\n              *(int *)(puVar17 + -0x14) = (int)local_b8 + -0x1a1d93;\n                    \n              *(undefined4 *)(puVar17 + -0x18) = 0xd2fad;\n              FUN_002446e0();\n            }\n            iVar19 = *piVar18;\n            *(undefined **)(puVar17 + -0xc) = local_c4;\n            *(undefined ***)(puVar17 + -0x10) = local_b4;\n            *(undefined ***)(puVar17 + -0x14) = local_c0;\n            *(undefined ***)(puVar17 + -0x18) = param_5;\n            *(undefined ***)(puVar17 + -0x1c) = param_4;\n            *(int *)(puVar17 + -0x20) = param_2;\n            *(int **)(puVar17 + -0x24) = piVar18;\n            pcVar4 = *(code **)(iVar19 + 0x104);\n            *(undefined4 *)(puVar17 + -0x28) = 0xd287d;\n            (*pcVar4)();\n            pbVar20 = local_d8;\n            piVar18 = (int *)(puVar17 + -4);\n            if (local_d8 != (byte *)0x0) {\n              local_b4 = &local_2c;\n              local_b0 = &local_34;\n              iVar19 = *(int *)(param_2 + 0x158);\n              *(byte **)(puVar17 + -0x14) = local_d8;\n              local_34 = local_b4;\n              *(undefined4 *)(puVar17 + -0x18) = 0xd28bd;\n              sVar6 = strlen(*(char **)(puVar17 + -0x14));\n              pppuVar5 = local_b0;\n              *(undefined4 *)(puVar17 + -8) = 0;\n              *(byte **)(puVar17 + -0xc) = pbVar20 + sVar6;\n              *(byte **)(puVar17 + -0x10) = pbVar20;\n              *(undefined ****)(puVar17 + -0x14) = local_b0;\n              *(undefined4 *)(puVar17 + -0x18) = 0xd28d2;\n              FUN_00072b90();\n              *(undefined ****)(puVar17 + -0xc) = pppuVar5;\n              *(int *)(puVar17 + -0x10) = iVar19 + 0x44;\n              *(int **)(puVar17 + -0x14) = &local_ac;\n              *(undefined4 *)(puVar17 + -0x18) = 0xd28e6;\n              FUN_00094bd0();\n              iVar19 = local_ac;\n              if (local_34 != local_b4) {\n                *(undefined ***)(puVar17 + -0x18) = local_34;\n                *(undefined4 *)(puVar17 + -0x1c) = 0xd2909;\n                FUN_003ae080();\n              }\n              piVar18 = (int *)(puVar17 + -8);\n              iVar3 = *(int *)(param_2 + 0x158);\n              if (iVar19 != iVar3 + 0x48) {\n                local_34 = param_4;\n                local_30 = param_5;\n                iVar10 = *(int *)(iVar3 + 0x18);\n                iVar11 = iVar3 + 0x14;\n                if (*(int *)(iVar3 + 0x18) == 0) {\nLAB_000d2bd8:\n                  *(undefined *****)(puVar17 + -0x18) = &local_84;\n                  local_84 = local_b0;\n                  *(undefined4 *)(puVar17 + -0x1c) = 0xd2bf6;\n                  FUN_000c5e40();\n                  iVar12 = local_a8;\n                }\n                else {\n                  do {\n                    while ((iVar12 = iVar10, *(undefined ***)(iVar12 + 0x10) < param_4 ||\n                           ((param_4 == *(undefined ***)(iVar12 + 0x10) &&\n                            (*(undefined ***)(iVar12 + 0x14) < param_5))))) {\n                      piVar18 = (int *)(iVar12 + 0xc);\n                      iVar10 = *piVar18;\n                      iVar12 = iVar11;\n                      if (*piVar18 == 0) goto LAB_000d2962;\n                    }\n                    iVar10 = *(int *)(iVar12 + 8);\n                    iVar11 = iVar12;\n                  } while (*(int *)(iVar12 + 8) != 0);\nLAB_000d2962:\n                  if (((iVar12 == iVar3 + 0x14) || (param_4 < *(undefined ***)(iVar12 + 0x10))) ||\n                     ((param_4 == *(undefined ***)(iVar12 + 0x10) &&\n                      (param_5 < *(undefined ***)(iVar12 + 0x14))))) goto LAB_000d2bd8;\n                }\n                piVar18 = (int *)(puVar17 + -8);\n                puVar17 = puVar17 + -8;\n                for (puVar1 = *(undefined4 **)(iVar19 + 0x30); puVar1 != (undefined4 *)0x0;\n                    puVar1 = (undefined4 *)*puVar1) {\n                  *(undefined4 *)(puVar17 + -0xc) = 1;\n                  *(undefined4 *)(puVar17 + -0x10) = 0;\n                  *(int **)(puVar17 + -0x14) = &local_90;\n                  *(undefined4 **)(puVar17 + -0x18) = puVar1 + 1;\n                  *(int *)(puVar17 + -0x1c) = iVar12 + 0x18;\n                  *(undefined1 **)(puVar17 + -0x20) = local_e0;\n                  *(undefined4 *)(puVar17 + -0x24) = 0xd29ae;\n                  local_90 = iVar12 + 0x18;\n                  FUN_00074340();\n                  piVar18 = (int *)(puVar17 + -4);\n                  puVar17 = puVar17 + -4;\n                }\n              }\n            }\n          }\n        }\n      }\n      else {\n        if (puVar15 < param_4[0x2c]) {\n          local_70 = (undefined **)0x0;\nLAB_000d2a1f:\n          *(undefined ***)((int)piVar18 + -8) = local_b8 + -0x615ed;\n          *(undefined4 *)((int)piVar18 + -0xc) = 0x11c;\n          *(int *)((int)piVar18 + -0x10) = (int)local_b8 + -0x19ca36;\n                    \n          *(undefined4 *)((int)piVar18 + -0x14) = 0xd2a40;\n          FUN_002446e0();\n        }\n        uVar16 = (int)puVar15 - (int)param_4[0x2c];\n        local_b0 = (undefined ***)param_4[0x30];\n        if ((uint)((int)local_b0 - (int)param_4[0x2f] >> 2) <= uVar16) {\n          *(undefined ***)((int)piVar18 + -8) = local_b8 + -0x6156c;\n          *(undefined4 *)((int)piVar18 + -0xc) = 0x8ad;\n          *(int *)((int)piVar18 + -0x10) = (int)local_b8 + -0x19cc7b;\n                    \n          *(undefined4 *)((int)piVar18 + -0x14) = 0xd2f8f;\n          FUN_002446e0();\n        }\n        local_70 = *(undefined ***)(param_4[0x2f] + uVar16 * 4);\n        if (local_70 == (undefined **)0x0) goto LAB_000d2a1f;\n        if ((*(byte *)((int)local_70 + 0x2a) & 0x10) == 0) {\n          if ((*(byte *)((int)local_70 + 0x2a) & 7) == 0) goto LAB_000d25f7;\nLAB_000d29e2:\n          local_f0 = (undefined **)local_70[0xc];\n          bVar13 = 0;\n          local_b4 = (undefined **)0x0;\n          local_c0 = (undefined **)0x0;\n          bVar24 = CARRY4((uint)local_bc,(uint)local_f0);\n          local_c4 = local_bc + (int)local_f0;\n          bVar26 = local_c4 == (undefined *)0x0;\n        }\n        else {\n          *(undefined ***)((int)piVar18 + -0xc) = local_70;\n          *(int *)((int)piVar18 + -0x10) = param_2;\n          *(undefined4 *)((int)piVar18 + -0x14) = 0xd29d2;\n          local_70 = (undefined **)FUN_0034cd90();\n          if ((*(byte *)((int)local_70 + 0x2a) & 7) != 0) goto LAB_000d29e2;\nLAB_000d25f7:\n          local_f0 = (undefined **)local_70[0xc];\n          local_c0 = (undefined **)local_70[2];\n          local_c4 = local_bc + (int)local_f0;\n          if (((uint)local_c0[0xb] & 1) == 0) {\n            local_b4 = (undefined **)local_70[3];\n            bVar13 = *(byte *)((int)local_70 + 0x2b) >> 5 & 1;\n            bVar24 = (*(byte *)(local_70 + 10) & 0xf) < 2;\n            bVar26 = (*(byte *)(local_70 + 10) & 0xf) == 2;\n            if (bVar26) {\n              bVar24 = false;\n              bVar26 = local_d2 == '\0';\n              if ((!bVar26) &&\n                 (((bVar13 == 0 || (bVar26 = uVar21 == 0x17, 0x17 < uVar21)) ||\n                  (bVar24 = (0x843f84U >> (uVar2 & 0x1f) & 1) != 0, !bVar24)))) {\n                local_b0 = *(undefined ****)(param_2 + 0x15c);\n                *(undefined4 *)((int)piVar18 + -0xc) = 1;\n                *(undefined4 *)((int)piVar18 + -0x10) = 0;\n                *(undefined *****)((int)piVar18 + -0x14) = &local_94;\n                *(undefined ****)((int)piVar18 + -0x18) = &local_78;\n                local_94 = local_b0 + 0xd;\n                *(undefined ****)((int)piVar18 + -0x1c) = local_94;\n                *(undefined1 **)((int)piVar18 + -0x20) = local_e0;\n                    \n                *(undefined4 *)((int)piVar18 + -0x24) = 0xd2ccb;\n                local_78 = local_c0;\n                local_74 = local_b4;\n                FUN_00074280();\n                bVar24 = (undefined1 *)0xffffffe3 < (undefined1 *)((int)piVar18 + -0x20);\n                bVar26 = piVar18 == (int *)0x4;\n                piVar18 = (int *)((int)piVar18 + -4);\n              }\n            }\n          }\n          else {\n            local_b4 = (undefined **)0x0;\n            bVar24 = false;\n            bVar13 = 0;\n            bVar26 = true;\n            local_c0 = (undefined **)0x0;\n          }\n        }\n        pbVar20 = *local_70;\n        iVar19 = 8;\n        pbVar9 = (byte *)((int)local_b8 + -0x19ca26);\n        pbVar22 = pbVar20;\n        do {\n          if (iVar19 == 0) break;\n          iVar19 = iVar19 + -1;\n          bVar24 = *pbVar9 < *pbVar22;\n          bVar26 = *pbVar9 == *pbVar22;\n          pbVar9 = pbVar9 + (uint)bVar27 * -2 + 1;\n          pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n        } while (bVar26);\n        bVar25 = false;\n        bVar24 = (!bVar24 && !bVar26) == bVar24;\n        if (bVar24) {\n          pbVar20 = pbVar20 + 8;\n        }\n        else {\n          iVar19 = 7;\n          pbVar9 = (byte *)((int)local_b8 + -0x19ca1d);\n          pbVar22 = pbVar20;\n          do {\n            if (iVar19 == 0) break;\n            iVar19 = iVar19 + -1;\n            bVar25 = *pbVar9 < *pbVar22;\n            bVar24 = *pbVar9 == *pbVar22;\n            pbVar9 = pbVar9 + (uint)bVar27 * -2 + 1;\n            pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n          } while (bVar24);\n          pbVar20 = pbVar20 + 7;\n          if ((!bVar25 && !bVar24) != bVar25) {\n            pbVar20 = local_d8;\n          }\n        }\n        local_d8 = pbVar20;\n        if (local_d1 != '\0') {\n          if (bVar13 == 0) {\n            local_34 = (undefined **)0x0;\n            local_30 = (undefined **)0x0;\n          }\n          else {\n            local_34 = local_c0;\n            local_30 = local_b4;\n          }\n          local_b0 = &local_34;\n          *(undefined ****)((int)piVar18 + -0xc) = local_b0;\n          *(int *)((int)piVar18 + -0x10) = local_c8;\n          *(undefined4 *)((int)piVar18 + -0x14) = 0xd26b9;\n          FUN_00073b00();\n          puVar1 = *(undefined4 **)(local_cc + 4);\n          if (puVar1 == *(undefined4 **)(local_cc + 8)) {\n            *(undefined ****)((int)piVar18 + -8) = &local_70;\n            *(undefined4 **)((int)piVar18 + -0xc) = puVar1;\n            *(int *)((int)piVar18 + -0x10) = local_cc;\n            *(undefined4 *)((int)piVar18 + -0x14) = 0xd2b4b;\n            FUN_000726c0();\n          }\n          else {\n            *puVar1 = local_70;\n            *(undefined4 **)(local_cc + 4) = puVar1 + 1;\n          }\n          *(undefined ****)((int)piVar18 + -0xc) = local_b0;\n          *(undefined ***)((int)piVar18 + -0x10) = local_e8;\n          local_34 = local_f0;\n          local_30 = (undefined **)0x0;\n          local_2c = local_bc;\n          local_28 = (int)local_bc >> 0x1f;\n          *(undefined4 *)((int)piVar18 + -0x14) = 0xd270d;\n          FUN_00073e70();\n          local_30 = (undefined **)0x0;\n          local_34 = (undefined **)*param_7;\n          puVar1 = *(undefined4 **)(local_d0 + 4);\n          if (puVar1 == *(undefined4 **)(local_d0 + 8)) {\n            *(undefined ****)((int)piVar18 + -8) = local_b0;\n            *(undefined4 **)((int)piVar18 + -0xc) = puVar1;\n            *(int *)((int)piVar18 + -0x10) = local_d0;\n            *(undefined4 *)((int)piVar18 + -0x14) = 0xd2bbd;\n            FUN_00072a40();\n          }\n          else {\n            *puVar1 = local_34;\n            puVar1[1] = 0;\n            *(undefined4 **)(local_d0 + 4) = puVar1 + 2;\n          }\n          local_68 = (undefined **)0x0;\n          *(undefined ****)((int)piVar18 + -0xc) = &local_68;\n          *(int *)((int)piVar18 + -0x10) = local_ec;\n          *(undefined4 *)((int)piVar18 + -0x14) = 0xd2753;\n          FUN_00074020();\n        }\n        puVar17 = (undefined1 *)piVar18;\n        if (bVar13 != 0) goto LAB_000d275e;\n      }" if (parenthesized_expression "(puVar15 < param_11)" ( (binary_expression "puVar15 < param_11" identifier < identifier) )) (compound_statement "{\n        if (param_12 == 0) {\n          *(undefined ***)((int)piVar18 + -8) = local_b8 + -0x615ed;\n          *(undefined4 *)((int)piVar18 + -0xc) = 0xea;\n          *(int *)((int)piVar18 + -0x10) = (int)local_b8 + -0x19ca36;\n                    \n                    \n          *(undefined **)((int)piVar18 + -0x14) = &UNK_000d2f49;\n          FUN_002446e0();\n        }\n        iVar19 = (int)puVar15 * 0x10 + param_12;\n        local_b4 = (undefined **)(uint)*(ushort *)(iVar19 + 0xe);\n        if (local_b4 < (undefined **)0xff00) {\nLAB_000d24ee:\n          ppuVar14 = *(undefined ***)(iVar19 + 4);\n          local_c4 = local_bc + (int)ppuVar14;\n          if (local_d1 != '\0') {\n            local_34 = param_4;\n            local_30 = local_b4;\n            local_b0 = &local_34;\n            *(undefined ****)((int)piVar18 + -0xc) = local_b0;\n            *(int *)((int)piVar18 + -0x10) = local_c8;\n            *(undefined4 *)((int)piVar18 + -0x14) = 0xd2533;\n            FUN_00073b00();\n            local_c0 = (undefined **)CONCAT31(local_c0._1_3_,1);\n            if ((*(byte *)(iVar19 + 0xc) & 0xf) == 3) goto LAB_000d254c;\nLAB_000d23e8:\n            *(undefined ****)((int)piVar18 + -0xc) = local_b0;\n            *(int *)((int)piVar18 + -0x10) = local_cc;\n            local_34 = (undefined **)0x0;\n            *(undefined4 *)((int)piVar18 + -0x14) = 0xd2403;\n            FUN_00073ca0();\n            goto LAB_000d2403;\n          }\n        }\n        else {\n          if (local_b4 == (undefined **)0xffff) {\n            puVar7 = param_4[0xc];\n            if (puVar7 == (undefined *)0x0) {\n              puVar7 = *param_4;\n              *(undefined ***)((int)piVar18 + -0x10) = param_4;\n              pcVar4 = *(code **)(puVar7 + 0x6c);\n              *(undefined4 *)((int)piVar18 + -0x14) = 0xd2a4e;\n              puVar7 = (undefined *)(*pcVar4)();\n              param_4[0xc] = puVar7;\n            }\n            *(undefined **)((int)piVar18 + -8) = puVar15;\n            *(undefined ***)((int)piVar18 + -0xc) = param_4;\n            *(undefined **)((int)piVar18 + -0x10) = puVar7;\n            *(undefined4 *)((int)piVar18 + -0x14) = 0xd2591;\n            local_b4 = (undefined **)FUN_0028b7d0();\n            goto LAB_000d24ee;\n          }\n          ppuVar14 = *(undefined ***)(iVar19 + 4);\n          local_c4 = local_bc + (int)ppuVar14;\n          if (local_d1 == '\0') goto LAB_000d2489;\n          local_b0 = &local_34;\n          local_34 = (undefined **)0x0;\n          *(undefined ****)((int)piVar18 + -0xc) = local_b0;\n          *(int *)((int)piVar18 + -0x10) = local_c8;\n          local_30 = (undefined **)0x0;\n                    \n          *(undefined4 *)((int)piVar18 + -0x14) = 0xd23cf;\n          FUN_00073b00();\n          local_c0 = (undefined **)((uint)local_c0 & 0xffffff00);\n          if ((*(byte *)(iVar19 + 0xc) & 0xf) != 3) goto LAB_000d23e8;\nLAB_000d254c:\n          *(undefined ****)((int)piVar18 + -0xc) = local_b0;\n          *(int *)((int)piVar18 + -0x10) = local_cc;\n          local_34 = (undefined **)0xffffffff;\n          *(undefined4 *)((int)piVar18 + -0x14) = 0xd2567;\n          FUN_00073ca0();\nLAB_000d2403:\n          *(undefined ****)((int)piVar18 + -0xc) = local_b0;\n          *(undefined ***)((int)piVar18 + -0x10) = local_e8;\n          local_2c = local_bc;\n          local_28 = (int)local_bc >> 0x1f;\n          local_30 = (undefined **)0x0;\n          *(undefined4 *)((int)piVar18 + -0x14) = 0xd2433;\n          local_34 = ppuVar14;\n          FUN_00073e70();\n          local_30 = (undefined **)0x0;\n          local_34 = (undefined **)*param_7;\n          puVar1 = *(undefined4 **)(local_d0 + 4);\n          if (puVar1 == *(undefined4 **)(local_d0 + 8)) {\n            *(undefined ****)((int)piVar18 + -8) = local_b0;\n            *(undefined4 **)((int)piVar18 + -0xc) = puVar1;\n            *(int *)((int)piVar18 + -0x10) = local_d0;\n            *(undefined4 *)((int)piVar18 + -0x14) = 0xd2b0d;\n            FUN_00072a40();\n          }\n          else {\n            *puVar1 = local_34;\n            puVar1[1] = 0;\n            *(undefined4 **)(local_d0 + 4) = puVar1 + 2;\n          }\n          local_68 = (undefined **)0x0;\n          *(undefined ****)((int)piVar18 + -0xc) = &local_68;\n          *(int *)((int)piVar18 + -0x10) = local_ec;\n          *(undefined4 *)((int)piVar18 + -0x14) = 0xd2479;\n          FUN_00074020();\n          if ((char)local_c0 == '\0') goto LAB_000d2489;\n        }\n        if (((local_d2 != '\0') && ((*(byte *)(iVar19 + 0xc) & 0xf) != 1)) &&\n           ((0x17 < uVar21 || ((0x843f84U >> (uVar2 & 0x1f) & 1) == 0)))) {\n          local_b0 = *(undefined ****)(param_2 + 0x15c);\n          local_80 = param_4;\n          local_7c = (uint)*(ushort *)(iVar19 + 0xe);\n          *(undefined4 *)((int)piVar18 + -0xc) = 1;\n          *(undefined4 *)((int)piVar18 + -0x10) = 0;\n          local_98 = local_b0 + 0xd;\n          *(undefined *****)((int)piVar18 + -0x14) = &local_98;\n          *(undefined ****)((int)piVar18 + -0x18) = &local_80;\n          *(undefined ****)((int)piVar18 + -0x1c) = local_98;\n          *(undefined1 **)((int)piVar18 + -0x20) = local_e0;\n          *(undefined4 *)((int)piVar18 + -0x24) = 0xd2ad1;\n          FUN_00074280();\n          piVar18 = (int *)((int)piVar18 + -4);\n        }\n        if (param_5 != local_b4) {\n          local_c0 = param_4;\n          puVar17 = (undefined1 *)piVar18;\nLAB_000d275e:\n          if (*(int *)(*local_dc + 8) == 0) {\n            *(undefined ***)(puVar17 + -8) = local_b8 + -0x61176;\n            *(undefined4 *)(puVar17 + -0xc) = 0x5c;\n            *(int *)(puVar17 + -0x10) = (int)local_b8 + -0x1a1d93;\n                    \n            *(undefined4 *)(puVar17 + -0x14) = 0xd2f6e;\n            FUN_002446e0();\n          }\n          piVar18 = (int *)puVar17;\n          if (*(char *)(*(int *)(*local_dc + 8) + 0x18b1) != '\0') {\n            local_70 = param_4;\n            iVar19 = *(int *)(param_2 + 0x158) + 0x14;\n            local_6c = param_5;\n            local_68 = local_c0;\n            local_64 = local_b4;\n            iVar3 = *(int *)(*(int *)(param_2 + 0x158) + 0x18);\n            iVar10 = iVar19;\n            if (iVar3 == 0) {\nLAB_000d27f0:\n              local_88 = &local_70;\n              *(undefined *****)(puVar17 + -0x10) = &local_88;\n              *(undefined4 *)(puVar17 + -0x14) = 0xd2811;\n              FUN_000c5e40();\n              iVar11 = local_a8;\n            }\n            else {\n              do {\n                while ((iVar11 = iVar3, *(undefined ***)(iVar11 + 0x10) < param_4 ||\n                       ((param_4 == *(undefined ***)(iVar11 + 0x10) &&\n                        (*(undefined ***)(iVar11 + 0x14) < param_5))))) {\n                  piVar18 = (int *)(iVar11 + 0xc);\n                  iVar3 = *piVar18;\n                  iVar11 = iVar10;\n                  if (*piVar18 == 0) goto LAB_000d27da;\n                }\n                iVar3 = *(int *)(iVar11 + 8);\n                iVar10 = iVar11;\n              } while (*(int *)(iVar11 + 8) != 0);\nLAB_000d27da:\n              if (((iVar19 == iVar11) || (param_4 < *(undefined ***)(iVar11 + 0x10))) ||\n                 ((param_4 == *(undefined ***)(iVar11 + 0x10) &&\n                  (param_5 < *(undefined ***)(iVar11 + 0x14))))) goto LAB_000d27f0;\n            }\n            local_8c = iVar11 + 0x18;\n            *(undefined4 *)(puVar17 + -0xc) = 1;\n            *(undefined4 *)(puVar17 + -0x10) = 0;\n            *(int **)(puVar17 + -0x14) = local_f4;\n            *(undefined ****)(puVar17 + -0x18) = &local_68;\n            *(int *)(puVar17 + -0x1c) = local_8c;\n            *(undefined1 **)(puVar17 + -0x20) = local_e0;\n            *(undefined4 *)(puVar17 + -0x24) = 0xd2840;\n            FUN_00074340();\n            piVar18 = *(int **)(*local_dc + 0xc);\n            if (piVar18 == (int *)0x0) {\n              *(undefined ***)(puVar17 + -0xc) = local_b8 + -0x615c4;\n              *(undefined4 *)(puVar17 + -0x10) = 0x73;\n              *(int *)(puVar17 + -0x14) = (int)local_b8 + -0x1a1d93;\n                    \n              *(undefined4 *)(puVar17 + -0x18) = 0xd2fad;\n              FUN_002446e0();\n            }\n            iVar19 = *piVar18;\n            *(undefined **)(puVar17 + -0xc) = local_c4;\n            *(undefined ***)(puVar17 + -0x10) = local_b4;\n            *(undefined ***)(puVar17 + -0x14) = local_c0;\n            *(undefined ***)(puVar17 + -0x18) = param_5;\n            *(undefined ***)(puVar17 + -0x1c) = param_4;\n            *(int *)(puVar17 + -0x20) = param_2;\n            *(int **)(puVar17 + -0x24) = piVar18;\n            pcVar4 = *(code **)(iVar19 + 0x104);\n            *(undefined4 *)(puVar17 + -0x28) = 0xd287d;\n            (*pcVar4)();\n            pbVar20 = local_d8;\n            piVar18 = (int *)(puVar17 + -4);\n            if (local_d8 != (byte *)0x0) {\n              local_b4 = &local_2c;\n              local_b0 = &local_34;\n              iVar19 = *(int *)(param_2 + 0x158);\n              *(byte **)(puVar17 + -0x14) = local_d8;\n              local_34 = local_b4;\n              *(undefined4 *)(puVar17 + -0x18) = 0xd28bd;\n              sVar6 = strlen(*(char **)(puVar17 + -0x14));\n              pppuVar5 = local_b0;\n              *(undefined4 *)(puVar17 + -8) = 0;\n              *(byte **)(puVar17 + -0xc) = pbVar20 + sVar6;\n              *(byte **)(puVar17 + -0x10) = pbVar20;\n              *(undefined ****)(puVar17 + -0x14) = local_b0;\n              *(undefined4 *)(puVar17 + -0x18) = 0xd28d2;\n              FUN_00072b90();\n              *(undefined ****)(puVar17 + -0xc) = pppuVar5;\n              *(int *)(puVar17 + -0x10) = iVar19 + 0x44;\n              *(int **)(puVar17 + -0x14) = &local_ac;\n              *(undefined4 *)(puVar17 + -0x18) = 0xd28e6;\n              FUN_00094bd0();\n              iVar19 = local_ac;\n              if (local_34 != local_b4) {\n                *(undefined ***)(puVar17 + -0x18) = local_34;\n                *(undefined4 *)(puVar17 + -0x1c) = 0xd2909;\n                FUN_003ae080();\n              }\n              piVar18 = (int *)(puVar17 + -8);\n              iVar3 = *(int *)(param_2 + 0x158);\n              if (iVar19 != iVar3 + 0x48) {\n                local_34 = param_4;\n                local_30 = param_5;\n                iVar10 = *(int *)(iVar3 + 0x18);\n                iVar11 = iVar3 + 0x14;\n                if (*(int *)(iVar3 + 0x18) == 0) {\nLAB_000d2bd8:\n                  *(undefined *****)(puVar17 + -0x18) = &local_84;\n                  local_84 = local_b0;\n                  *(undefined4 *)(puVar17 + -0x1c) = 0xd2bf6;\n                  FUN_000c5e40();\n                  iVar12 = local_a8;\n                }\n                else {\n                  do {\n                    while ((iVar12 = iVar10, *(undefined ***)(iVar12 + 0x10) < param_4 ||\n                           ((param_4 == *(undefined ***)(iVar12 + 0x10) &&\n                            (*(undefined ***)(iVar12 + 0x14) < param_5))))) {\n                      piVar18 = (int *)(iVar12 + 0xc);\n                      iVar10 = *piVar18;\n                      iVar12 = iVar11;\n                      if (*piVar18 == 0) goto LAB_000d2962;\n                    }\n                    iVar10 = *(int *)(iVar12 + 8);\n                    iVar11 = iVar12;\n                  } while (*(int *)(iVar12 + 8) != 0);\nLAB_000d2962:\n                  if (((iVar12 == iVar3 + 0x14) || (param_4 < *(undefined ***)(iVar12 + 0x10))) ||\n                     ((param_4 == *(undefined ***)(iVar12 + 0x10) &&\n                      (param_5 < *(undefined ***)(iVar12 + 0x14))))) goto LAB_000d2bd8;\n                }\n                piVar18 = (int *)(puVar17 + -8);\n                puVar17 = puVar17 + -8;\n                for (puVar1 = *(undefined4 **)(iVar19 + 0x30); puVar1 != (undefined4 *)0x0;\n                    puVar1 = (undefined4 *)*puVar1) {\n                  *(undefined4 *)(puVar17 + -0xc) = 1;\n                  *(undefined4 *)(puVar17 + -0x10) = 0;\n                  *(int **)(puVar17 + -0x14) = &local_90;\n                  *(undefined4 **)(puVar17 + -0x18) = puVar1 + 1;\n                  *(int *)(puVar17 + -0x1c) = iVar12 + 0x18;\n                  *(undefined1 **)(puVar17 + -0x20) = local_e0;\n                  *(undefined4 *)(puVar17 + -0x24) = 0xd29ae;\n                  local_90 = iVar12 + 0x18;\n                  FUN_00074340();\n                  piVar18 = (int *)(puVar17 + -4);\n                  puVar17 = puVar17 + -4;\n                }\n              }\n            }\n          }\n        }\n      }" { (if_statement "if (param_12 == 0) {\n          *(undefined ***)((int)piVar18 + -8) = local_b8 + -0x615ed;\n          *(undefined4 *)((int)piVar18 + -0xc) = 0xea;\n          *(int *)((int)piVar18 + -0x10) = (int)local_b8 + -0x19ca36;\n                    \n                    \n          *(undefined **)((int)piVar18 + -0x14) = &UNK_000d2f49;\n          FUN_002446e0();\n        }" if (parenthesized_expression "(param_12 == 0)" ( (binary_expression "param_12 == 0" identifier == number_literal) )) (compound_statement "{\n          *(undefined ***)((int)piVar18 + -8) = local_b8 + -0x615ed;\n          *(undefined4 *)((int)piVar18 + -0xc) = 0xea;\n          *(int *)((int)piVar18 + -0x10) = (int)local_b8 + -0x19ca36;\n                    \n                    \n          *(undefined **)((int)piVar18 + -0x14) = &UNK_000d2f49;\n          FUN_002446e0();\n        }" { (expression_statement "*(undefined ***)((int)piVar18 + -8) = local_b8 + -0x615ed;" (assignment_expression "*(undefined ***)((int)piVar18 + -8) = local_b8 + -0x615ed" (pointer_expression "*(undefined ***)((int)piVar18 + -8)" * (cast_expression "(undefined ***)((int)piVar18 + -8)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "((int)piVar18 + -8)" ( (binary_expression "(int)piVar18 + -8" (cast_expression "(int)piVar18" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "local_b8 + -0x615ed" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)((int)piVar18 + -0xc) = 0xea;" (assignment_expression "*(undefined4 *)((int)piVar18 + -0xc) = 0xea" (pointer_expression "*(undefined4 *)((int)piVar18 + -0xc)" * (cast_expression "(undefined4 *)((int)piVar18 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar18 + -0xc)" ( (binary_expression "(int)piVar18 + -0xc" (cast_expression "(int)piVar18" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)((int)piVar18 + -0x10) = (int)local_b8 + -0x19ca36;" (assignment_expression "*(int *)((int)piVar18 + -0x10) = (int)local_b8 + -0x19ca36" (pointer_expression "*(int *)((int)piVar18 + -0x10)" * (cast_expression "(int *)((int)piVar18 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar18 + -0x10)" ( (binary_expression "(int)piVar18 + -0x10" (cast_expression "(int)piVar18" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "(int)local_b8 + -0x19ca36" (cast_expression "(int)local_b8" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) (expression_statement "*(undefined **)((int)piVar18 + -0x14) = &UNK_000d2f49;" (assignment_expression "*(undefined **)((int)piVar18 + -0x14) = &UNK_000d2f49" (pointer_expression "*(undefined **)((int)piVar18 + -0x14)" * (cast_expression "(undefined **)((int)piVar18 + -0x14)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)piVar18 + -0x14)" ( (binary_expression "(int)piVar18 + -0x14" (cast_expression "(int)piVar18" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "&UNK_000d2f49" & identifier)) ;) (expression_statement "FUN_002446e0();" (call_expression "FUN_002446e0()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "iVar19 = (int)puVar15 * 0x10 + param_12;" (assignment_expression "iVar19 = (int)puVar15 * 0x10 + param_12" identifier = (binary_expression "(int)puVar15 * 0x10 + param_12" (binary_expression "(int)puVar15 * 0x10" (cast_expression "(int)puVar15" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal) + identifier)) ;) (expression_statement "local_b4 = (undefined **)(uint)*(ushort *)(iVar19 + 0xe);" (assignment_expression "local_b4 = (undefined **)(uint)*(ushort *)(iVar19 + 0xe)" identifier = (binary_expression "(undefined **)(uint)*(ushort *)(iVar19 + 0xe)" (cast_expression "(undefined **)(uint)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(uint)" ( identifier ))) * (cast_expression "(ushort *)(iVar19 + 0xe)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar19 + 0xe)" ( (binary_expression "iVar19 + 0xe" identifier + number_literal) ))))) ;) (if_statement "if (local_b4 < (undefined **)0xff00) {\nLAB_000d24ee:\n          ppuVar14 = *(undefined ***)(iVar19 + 4);\n          local_c4 = local_bc + (int)ppuVar14;\n          if (local_d1 != '\0') {\n            local_34 = param_4;\n            local_30 = local_b4;\n            local_b0 = &local_34;\n            *(undefined ****)((int)piVar18 + -0xc) = local_b0;\n            *(int *)((int)piVar18 + -0x10) = local_c8;\n            *(undefined4 *)((int)piVar18 + -0x14) = 0xd2533;\n            FUN_00073b00();\n            local_c0 = (undefined **)CONCAT31(local_c0._1_3_,1);\n            if ((*(byte *)(iVar19 + 0xc) & 0xf) == 3) goto LAB_000d254c;\nLAB_000d23e8:\n            *(undefined ****)((int)piVar18 + -0xc) = local_b0;\n            *(int *)((int)piVar18 + -0x10) = local_cc;\n            local_34 = (undefined **)0x0;\n            *(undefined4 *)((int)piVar18 + -0x14) = 0xd2403;\n            FUN_00073ca0();\n            goto LAB_000d2403;\n          }\n        }\n        else {\n          if (local_b4 == (undefined **)0xffff) {\n            puVar7 = param_4[0xc];\n            if (puVar7 == (undefined *)0x0) {\n              puVar7 = *param_4;\n              *(undefined ***)((int)piVar18 + -0x10) = param_4;\n              pcVar4 = *(code **)(puVar7 + 0x6c);\n              *(undefined4 *)((int)piVar18 + -0x14) = 0xd2a4e;\n              puVar7 = (undefined *)(*pcVar4)();\n              param_4[0xc] = puVar7;\n            }\n            *(undefined **)((int)piVar18 + -8) = puVar15;\n            *(undefined ***)((int)piVar18 + -0xc) = param_4;\n            *(undefined **)((int)piVar18 + -0x10) = puVar7;\n            *(undefined4 *)((int)piVar18 + -0x14) = 0xd2591;\n            local_b4 = (undefined **)FUN_0028b7d0();\n            goto LAB_000d24ee;\n          }\n          ppuVar14 = *(undefined ***)(iVar19 + 4);\n          local_c4 = local_bc + (int)ppuVar14;\n          if (local_d1 == '\0') goto LAB_000d2489;\n          local_b0 = &local_34;\n          local_34 = (undefined **)0x0;\n          *(undefined ****)((int)piVar18 + -0xc) = local_b0;\n          *(int *)((int)piVar18 + -0x10) = local_c8;\n          local_30 = (undefined **)0x0;\n                    \n          *(undefined4 *)((int)piVar18 + -0x14) = 0xd23cf;\n          FUN_00073b00();\n          local_c0 = (undefined **)((uint)local_c0 & 0xffffff00);\n          if ((*(byte *)(iVar19 + 0xc) & 0xf) != 3) goto LAB_000d23e8;\nLAB_000d254c:\n          *(undefined ****)((int)piVar18 + -0xc) = local_b0;\n          *(int *)((int)piVar18 + -0x10) = local_cc;\n          local_34 = (undefined **)0xffffffff;\n          *(undefined4 *)((int)piVar18 + -0x14) = 0xd2567;\n          FUN_00073ca0();\nLAB_000d2403:\n          *(undefined ****)((int)piVar18 + -0xc) = local_b0;\n          *(undefined ***)((int)piVar18 + -0x10) = local_e8;\n          local_2c = local_bc;\n          local_28 = (int)local_bc >> 0x1f;\n          local_30 = (undefined **)0x0;\n          *(undefined4 *)((int)piVar18 + -0x14) = 0xd2433;\n          local_34 = ppuVar14;\n          FUN_00073e70();\n          local_30 = (undefined **)0x0;\n          local_34 = (undefined **)*param_7;\n          puVar1 = *(undefined4 **)(local_d0 + 4);\n          if (puVar1 == *(undefined4 **)(local_d0 + 8)) {\n            *(undefined ****)((int)piVar18 + -8) = local_b0;\n            *(undefined4 **)((int)piVar18 + -0xc) = puVar1;\n            *(int *)((int)piVar18 + -0x10) = local_d0;\n            *(undefined4 *)((int)piVar18 + -0x14) = 0xd2b0d;\n            FUN_00072a40();\n          }\n          else {\n            *puVar1 = local_34;\n            puVar1[1] = 0;\n            *(undefined4 **)(local_d0 + 4) = puVar1 + 2;\n          }\n          local_68 = (undefined **)0x0;\n          *(undefined ****)((int)piVar18 + -0xc) = &local_68;\n          *(int *)((int)piVar18 + -0x10) = local_ec;\n          *(undefined4 *)((int)piVar18 + -0x14) = 0xd2479;\n          FUN_00074020();\n          if ((char)local_c0 == '\0') goto LAB_000d2489;\n        }" if (parenthesized_expression "(local_b4 < (undefined **)0xff00)" ( (binary_expression "local_b4 < (undefined **)0xff00" identifier < (cast_expression "(undefined **)0xff00" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) )) (compound_statement "{\nLAB_000d24ee:\n          ppuVar14 = *(undefined ***)(iVar19 + 4);\n          local_c4 = local_bc + (int)ppuVar14;\n          if (local_d1 != '\0') {\n            local_34 = param_4;\n            local_30 = local_b4;\n            local_b0 = &local_34;\n            *(undefined ****)((int)piVar18 + -0xc) = local_b0;\n            *(int *)((int)piVar18 + -0x10) = local_c8;\n            *(undefined4 *)((int)piVar18 + -0x14) = 0xd2533;\n            FUN_00073b00();\n            local_c0 = (undefined **)CONCAT31(local_c0._1_3_,1);\n            if ((*(byte *)(iVar19 + 0xc) & 0xf) == 3) goto LAB_000d254c;\nLAB_000d23e8:\n            *(undefined ****)((int)piVar18 + -0xc) = local_b0;\n            *(int *)((int)piVar18 + -0x10) = local_cc;\n            local_34 = (undefined **)0x0;\n            *(undefined4 *)((int)piVar18 + -0x14) = 0xd2403;\n            FUN_00073ca0();\n            goto LAB_000d2403;\n          }\n        }" { (labeled_statement "LAB_000d24ee:\n          ppuVar14 = *(undefined ***)(iVar19 + 4);" statement_identifier : (expression_statement "ppuVar14 = *(undefined ***)(iVar19 + 4);" (assignment_expression "ppuVar14 = *(undefined ***)(iVar19 + 4)" identifier = (pointer_expression "*(undefined ***)(iVar19 + 4)" * (cast_expression "(undefined ***)(iVar19 + 4)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(iVar19 + 4)" ( (binary_expression "iVar19 + 4" identifier + number_literal) ))))) ;)) (expression_statement "local_c4 = local_bc + (int)ppuVar14;" (assignment_expression "local_c4 = local_bc + (int)ppuVar14" identifier = (binary_expression "local_bc + (int)ppuVar14" identifier + (cast_expression "(int)ppuVar14" ( (type_descriptor "int" primitive_type) ) identifier))) ;) (if_statement "if (local_d1 != '\0') {\n            local_34 = param_4;\n            local_30 = local_b4;\n            local_b0 = &local_34;\n            *(undefined ****)((int)piVar18 + -0xc) = local_b0;\n            *(int *)((int)piVar18 + -0x10) = local_c8;\n            *(undefined4 *)((int)piVar18 + -0x14) = 0xd2533;\n            FUN_00073b00();\n            local_c0 = (undefined **)CONCAT31(local_c0._1_3_,1);\n            if ((*(byte *)(iVar19 + 0xc) & 0xf) == 3) goto LAB_000d254c;\nLAB_000d23e8:\n            *(undefined ****)((int)piVar18 + -0xc) = local_b0;\n            *(int *)((int)piVar18 + -0x10) = local_cc;\n            local_34 = (undefined **)0x0;\n            *(undefined4 *)((int)piVar18 + -0x14) = 0xd2403;\n            FUN_00073ca0();\n            goto LAB_000d2403;\n          }" if (parenthesized_expression "(local_d1 != '\0')" ( (binary_expression "local_d1 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n            local_34 = param_4;\n            local_30 = local_b4;\n            local_b0 = &local_34;\n            *(undefined ****)((int)piVar18 + -0xc) = local_b0;\n            *(int *)((int)piVar18 + -0x10) = local_c8;\n            *(undefined4 *)((int)piVar18 + -0x14) = 0xd2533;\n            FUN_00073b00();\n            local_c0 = (undefined **)CONCAT31(local_c0._1_3_,1);\n            if ((*(byte *)(iVar19 + 0xc) & 0xf) == 3) goto LAB_000d254c;\nLAB_000d23e8:\n            *(undefined ****)((int)piVar18 + -0xc) = local_b0;\n            *(int *)((int)piVar18 + -0x10) = local_cc;\n            local_34 = (undefined **)0x0;\n            *(undefined4 *)((int)piVar18 + -0x14) = 0xd2403;\n            FUN_00073ca0();\n            goto LAB_000d2403;\n          }" { (expression_statement "local_34 = param_4;" (assignment_expression "local_34 = param_4" identifier = identifier) ;) (expression_statement "local_30 = local_b4;" (assignment_expression "local_30 = local_b4" identifier = identifier) ;) (expression_statement "local_b0 = &local_34;" (assignment_expression "local_b0 = &local_34" identifier = (pointer_expression "&local_34" & identifier)) ;) (expression_statement "*(undefined ****)((int)piVar18 + -0xc) = local_b0;" (assignment_expression "*(undefined ****)((int)piVar18 + -0xc) = local_b0" (pointer_expression "*(undefined ****)((int)piVar18 + -0xc)" * (cast_expression "(undefined ****)((int)piVar18 + -0xc)" ( (type_descriptor "undefined ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) (parenthesized_expression "((int)piVar18 + -0xc)" ( (binary_expression "(int)piVar18 + -0xc" (cast_expression "(int)piVar18" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(int *)((int)piVar18 + -0x10) = local_c8;" (assignment_expression "*(int *)((int)piVar18 + -0x10) = local_c8" (pointer_expression "*(int *)((int)piVar18 + -0x10)" * (cast_expression "(int *)((int)piVar18 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar18 + -0x10)" ( (binary_expression "(int)piVar18 + -0x10" (cast_expression "(int)piVar18" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)piVar18 + -0x14) = 0xd2533;" (assignment_expression "*(undefined4 *)((int)piVar18 + -0x14) = 0xd2533" (pointer_expression "*(undefined4 *)((int)piVar18 + -0x14)" * (cast_expression "(undefined4 *)((int)piVar18 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar18 + -0x14)" ( (binary_expression "(int)piVar18 + -0x14" (cast_expression "(int)piVar18" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "FUN_00073b00();" (call_expression "FUN_00073b00()" identifier (argument_list "()" ( ))) ;) (expression_statement "local_c0 = (undefined **)CONCAT31(local_c0._1_3_,1);" (assignment_expression "local_c0 = (undefined **)CONCAT31(local_c0._1_3_,1)" identifier = (cast_expression "(undefined **)CONCAT31(local_c0._1_3_,1)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (call_expression "CONCAT31(local_c0._1_3_,1)" identifier (argument_list "(local_c0._1_3_,1)" ( (field_expression "local_c0._1_3_" identifier . field_identifier) , number_literal ))))) ;) (if_statement "if ((*(byte *)(iVar19 + 0xc) & 0xf) == 3) goto LAB_000d254c;" if (parenthesized_expression "((*(byte *)(iVar19 + 0xc) & 0xf) == 3)" ( (binary_expression "(*(byte *)(iVar19 + 0xc) & 0xf) == 3" (parenthesized_expression "(*(byte *)(iVar19 + 0xc) & 0xf)" ( (binary_expression "*(byte *)(iVar19 + 0xc) & 0xf" (pointer_expression "*(byte *)(iVar19 + 0xc)" * (cast_expression "(byte *)(iVar19 + 0xc)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar19 + 0xc)" ( (binary_expression "iVar19 + 0xc" identifier + number_literal) )))) & number_literal) )) == number_literal) )) (goto_statement "goto LAB_000d254c;" goto statement_identifier ;)) (labeled_statement "LAB_000d23e8:\n            *(undefined ****)((int)piVar18 + -0xc) = local_b0;" statement_identifier : (expression_statement "*(undefined ****)((int)piVar18 + -0xc) = local_b0;" (assignment_expression "*(undefined ****)((int)piVar18 + -0xc) = local_b0" (pointer_expression "*(undefined ****)((int)piVar18 + -0xc)" * (cast_expression "(undefined ****)((int)piVar18 + -0xc)" ( (type_descriptor "undefined ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) (parenthesized_expression "((int)piVar18 + -0xc)" ( (binary_expression "(int)piVar18 + -0xc" (cast_expression "(int)piVar18" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;)) (expression_statement "*(int *)((int)piVar18 + -0x10) = local_cc;" (assignment_expression "*(int *)((int)piVar18 + -0x10) = local_cc" (pointer_expression "*(int *)((int)piVar18 + -0x10)" * (cast_expression "(int *)((int)piVar18 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar18 + -0x10)" ( (binary_expression "(int)piVar18 + -0x10" (cast_expression "(int)piVar18" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "local_34 = (undefined **)0x0;" (assignment_expression "local_34 = (undefined **)0x0" identifier = (cast_expression "(undefined **)0x0" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) ;) (expression_statement "*(undefined4 *)((int)piVar18 + -0x14) = 0xd2403;" (assignment_expression "*(undefined4 *)((int)piVar18 + -0x14) = 0xd2403" (pointer_expression "*(undefined4 *)((int)piVar18 + -0x14)" * (cast_expression "(undefined4 *)((int)piVar18 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar18 + -0x14)" ( (binary_expression "(int)piVar18 + -0x14" (cast_expression "(int)piVar18" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "FUN_00073ca0();" (call_expression "FUN_00073ca0()" identifier (argument_list "()" ( ))) ;) (goto_statement "goto LAB_000d2403;" goto statement_identifier ;) })) }) (else_clause "else {\n          if (local_b4 == (undefined **)0xffff) {\n            puVar7 = param_4[0xc];\n            if (puVar7 == (undefined *)0x0) {\n              puVar7 = *param_4;\n              *(undefined ***)((int)piVar18 + -0x10) = param_4;\n              pcVar4 = *(code **)(puVar7 + 0x6c);\n              *(undefined4 *)((int)piVar18 + -0x14) = 0xd2a4e;\n              puVar7 = (undefined *)(*pcVar4)();\n              param_4[0xc] = puVar7;\n            }\n            *(undefined **)((int)piVar18 + -8) = puVar15;\n            *(undefined ***)((int)piVar18 + -0xc) = param_4;\n            *(undefined **)((int)piVar18 + -0x10) = puVar7;\n            *(undefined4 *)((int)piVar18 + -0x14) = 0xd2591;\n            local_b4 = (undefined **)FUN_0028b7d0();\n            goto LAB_000d24ee;\n          }\n          ppuVar14 = *(undefined ***)(iVar19 + 4);\n          local_c4 = local_bc + (int)ppuVar14;\n          if (local_d1 == '\0') goto LAB_000d2489;\n          local_b0 = &local_34;\n          local_34 = (undefined **)0x0;\n          *(undefined ****)((int)piVar18 + -0xc) = local_b0;\n          *(int *)((int)piVar18 + -0x10) = local_c8;\n          local_30 = (undefined **)0x0;\n                    \n          *(undefined4 *)((int)piVar18 + -0x14) = 0xd23cf;\n          FUN_00073b00();\n          local_c0 = (undefined **)((uint)local_c0 & 0xffffff00);\n          if ((*(byte *)(iVar19 + 0xc) & 0xf) != 3) goto LAB_000d23e8;\nLAB_000d254c:\n          *(undefined ****)((int)piVar18 + -0xc) = local_b0;\n          *(int *)((int)piVar18 + -0x10) = local_cc;\n          local_34 = (undefined **)0xffffffff;\n          *(undefined4 *)((int)piVar18 + -0x14) = 0xd2567;\n          FUN_00073ca0();\nLAB_000d2403:\n          *(undefined ****)((int)piVar18 + -0xc) = local_b0;\n          *(undefined ***)((int)piVar18 + -0x10) = local_e8;\n          local_2c = local_bc;\n          local_28 = (int)local_bc >> 0x1f;\n          local_30 = (undefined **)0x0;\n          *(undefined4 *)((int)piVar18 + -0x14) = 0xd2433;\n          local_34 = ppuVar14;\n          FUN_00073e70();\n          local_30 = (undefined **)0x0;\n          local_34 = (undefined **)*param_7;\n          puVar1 = *(undefined4 **)(local_d0 + 4);\n          if (puVar1 == *(undefined4 **)(local_d0 + 8)) {\n            *(undefined ****)((int)piVar18 + -8) = local_b0;\n            *(undefined4 **)((int)piVar18 + -0xc) = puVar1;\n            *(int *)((int)piVar18 + -0x10) = local_d0;\n            *(undefined4 *)((int)piVar18 + -0x14) = 0xd2b0d;\n            FUN_00072a40();\n          }\n          else {\n            *puVar1 = local_34;\n            puVar1[1] = 0;\n            *(undefined4 **)(local_d0 + 4) = puVar1 + 2;\n          }\n          local_68 = (undefined **)0x0;\n          *(undefined ****)((int)piVar18 + -0xc) = &local_68;\n          *(int *)((int)piVar18 + -0x10) = local_ec;\n          *(undefined4 *)((int)piVar18 + -0x14) = 0xd2479;\n          FUN_00074020();\n          if ((char)local_c0 == '\0') goto LAB_000d2489;\n        }" else (compound_statement "{\n          if (local_b4 == (undefined **)0xffff) {\n            puVar7 = param_4[0xc];\n            if (puVar7 == (undefined *)0x0) {\n              puVar7 = *param_4;\n              *(undefined ***)((int)piVar18 + -0x10) = param_4;\n              pcVar4 = *(code **)(puVar7 + 0x6c);\n              *(undefined4 *)((int)piVar18 + -0x14) = 0xd2a4e;\n              puVar7 = (undefined *)(*pcVar4)();\n              param_4[0xc] = puVar7;\n            }\n            *(undefined **)((int)piVar18 + -8) = puVar15;\n            *(undefined ***)((int)piVar18 + -0xc) = param_4;\n            *(undefined **)((int)piVar18 + -0x10) = puVar7;\n            *(undefined4 *)((int)piVar18 + -0x14) = 0xd2591;\n            local_b4 = (undefined **)FUN_0028b7d0();\n            goto LAB_000d24ee;\n          }\n          ppuVar14 = *(undefined ***)(iVar19 + 4);\n          local_c4 = local_bc + (int)ppuVar14;\n          if (local_d1 == '\0') goto LAB_000d2489;\n          local_b0 = &local_34;\n          local_34 = (undefined **)0x0;\n          *(undefined ****)((int)piVar18 + -0xc) = local_b0;\n          *(int *)((int)piVar18 + -0x10) = local_c8;\n          local_30 = (undefined **)0x0;\n                    \n          *(undefined4 *)((int)piVar18 + -0x14) = 0xd23cf;\n          FUN_00073b00();\n          local_c0 = (undefined **)((uint)local_c0 & 0xffffff00);\n          if ((*(byte *)(iVar19 + 0xc) & 0xf) != 3) goto LAB_000d23e8;\nLAB_000d254c:\n          *(undefined ****)((int)piVar18 + -0xc) = local_b0;\n          *(int *)((int)piVar18 + -0x10) = local_cc;\n          local_34 = (undefined **)0xffffffff;\n          *(undefined4 *)((int)piVar18 + -0x14) = 0xd2567;\n          FUN_00073ca0();\nLAB_000d2403:\n          *(undefined ****)((int)piVar18 + -0xc) = local_b0;\n          *(undefined ***)((int)piVar18 + -0x10) = local_e8;\n          local_2c = local_bc;\n          local_28 = (int)local_bc >> 0x1f;\n          local_30 = (undefined **)0x0;\n          *(undefined4 *)((int)piVar18 + -0x14) = 0xd2433;\n          local_34 = ppuVar14;\n          FUN_00073e70();\n          local_30 = (undefined **)0x0;\n          local_34 = (undefined **)*param_7;\n          puVar1 = *(undefined4 **)(local_d0 + 4);\n          if (puVar1 == *(undefined4 **)(local_d0 + 8)) {\n            *(undefined ****)((int)piVar18 + -8) = local_b0;\n            *(undefined4 **)((int)piVar18 + -0xc) = puVar1;\n            *(int *)((int)piVar18 + -0x10) = local_d0;\n            *(undefined4 *)((int)piVar18 + -0x14) = 0xd2b0d;\n            FUN_00072a40();\n          }\n          else {\n            *puVar1 = local_34;\n            puVar1[1] = 0;\n            *(undefined4 **)(local_d0 + 4) = puVar1 + 2;\n          }\n          local_68 = (undefined **)0x0;\n          *(undefined ****)((int)piVar18 + -0xc) = &local_68;\n          *(int *)((int)piVar18 + -0x10) = local_ec;\n          *(undefined4 *)((int)piVar18 + -0x14) = 0xd2479;\n          FUN_00074020();\n          if ((char)local_c0 == '\0') goto LAB_000d2489;\n        }" { (if_statement "if (local_b4 == (undefined **)0xffff) {\n            puVar7 = param_4[0xc];\n            if (puVar7 == (undefined *)0x0) {\n              puVar7 = *param_4;\n              *(undefined ***)((int)piVar18 + -0x10) = param_4;\n              pcVar4 = *(code **)(puVar7 + 0x6c);\n              *(undefined4 *)((int)piVar18 + -0x14) = 0xd2a4e;\n              puVar7 = (undefined *)(*pcVar4)();\n              param_4[0xc] = puVar7;\n            }\n            *(undefined **)((int)piVar18 + -8) = puVar15;\n            *(undefined ***)((int)piVar18 + -0xc) = param_4;\n            *(undefined **)((int)piVar18 + -0x10) = puVar7;\n            *(undefined4 *)((int)piVar18 + -0x14) = 0xd2591;\n            local_b4 = (undefined **)FUN_0028b7d0();\n            goto LAB_000d24ee;\n          }" if (parenthesized_expression "(local_b4 == (undefined **)0xffff)" ( (binary_expression "local_b4 == (undefined **)0xffff" identifier == (cast_expression "(undefined **)0xffff" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) )) (compound_statement "{\n            puVar7 = param_4[0xc];\n            if (puVar7 == (undefined *)0x0) {\n              puVar7 = *param_4;\n              *(undefined ***)((int)piVar18 + -0x10) = param_4;\n              pcVar4 = *(code **)(puVar7 + 0x6c);\n              *(undefined4 *)((int)piVar18 + -0x14) = 0xd2a4e;\n              puVar7 = (undefined *)(*pcVar4)();\n              param_4[0xc] = puVar7;\n            }\n            *(undefined **)((int)piVar18 + -8) = puVar15;\n            *(undefined ***)((int)piVar18 + -0xc) = param_4;\n            *(undefined **)((int)piVar18 + -0x10) = puVar7;\n            *(undefined4 *)((int)piVar18 + -0x14) = 0xd2591;\n            local_b4 = (undefined **)FUN_0028b7d0();\n            goto LAB_000d24ee;\n          }" { (expression_statement "puVar7 = param_4[0xc];" (assignment_expression "puVar7 = param_4[0xc]" identifier = (subscript_expression "param_4[0xc]" identifier [ number_literal ])) ;) (if_statement "if (puVar7 == (undefined *)0x0) {\n              puVar7 = *param_4;\n              *(undefined ***)((int)piVar18 + -0x10) = param_4;\n              pcVar4 = *(code **)(puVar7 + 0x6c);\n              *(undefined4 *)((int)piVar18 + -0x14) = 0xd2a4e;\n              puVar7 = (undefined *)(*pcVar4)();\n              param_4[0xc] = puVar7;\n            }" if (parenthesized_expression "(puVar7 == (undefined *)0x0)" ( (binary_expression "puVar7 == (undefined *)0x0" identifier == (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n              puVar7 = *param_4;\n              *(undefined ***)((int)piVar18 + -0x10) = param_4;\n              pcVar4 = *(code **)(puVar7 + 0x6c);\n              *(undefined4 *)((int)piVar18 + -0x14) = 0xd2a4e;\n              puVar7 = (undefined *)(*pcVar4)();\n              param_4[0xc] = puVar7;\n            }" { (expression_statement "puVar7 = *param_4;" (assignment_expression "puVar7 = *param_4" identifier = (pointer_expression "*param_4" * identifier)) ;) (expression_statement "*(undefined ***)((int)piVar18 + -0x10) = param_4;" (assignment_expression "*(undefined ***)((int)piVar18 + -0x10) = param_4" (pointer_expression "*(undefined ***)((int)piVar18 + -0x10)" * (cast_expression "(undefined ***)((int)piVar18 + -0x10)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "((int)piVar18 + -0x10)" ( (binary_expression "(int)piVar18 + -0x10" (cast_expression "(int)piVar18" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "pcVar4 = *(code **)(puVar7 + 0x6c);" (assignment_expression "pcVar4 = *(code **)(puVar7 + 0x6c)" identifier = (pointer_expression "*(code **)(puVar7 + 0x6c)" * (cast_expression "(code **)(puVar7 + 0x6c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar7 + 0x6c)" ( (binary_expression "puVar7 + 0x6c" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)((int)piVar18 + -0x14) = 0xd2a4e;" (assignment_expression "*(undefined4 *)((int)piVar18 + -0x14) = 0xd2a4e" (pointer_expression "*(undefined4 *)((int)piVar18 + -0x14)" * (cast_expression "(undefined4 *)((int)piVar18 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar18 + -0x14)" ( (binary_expression "(int)piVar18 + -0x14" (cast_expression "(int)piVar18" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "puVar7 = (undefined *)(*pcVar4)();" (assignment_expression "puVar7 = (undefined *)(*pcVar4)()" identifier = (cast_expression "(undefined *)(*pcVar4)()" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*pcVar4)()" (parenthesized_expression "(*pcVar4)" ( (pointer_expression "*pcVar4" * identifier) )) (argument_list "()" ( ))))) ;) (expression_statement "param_4[0xc] = puVar7;" (assignment_expression "param_4[0xc] = puVar7" (subscript_expression "param_4[0xc]" identifier [ number_literal ]) = identifier) ;) })) (expression_statement "*(undefined **)((int)piVar18 + -8) = puVar15;" (assignment_expression "*(undefined **)((int)piVar18 + -8) = puVar15" (pointer_expression "*(undefined **)((int)piVar18 + -8)" * (cast_expression "(undefined **)((int)piVar18 + -8)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)piVar18 + -8)" ( (binary_expression "(int)piVar18 + -8" (cast_expression "(int)piVar18" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined ***)((int)piVar18 + -0xc) = param_4;" (assignment_expression "*(undefined ***)((int)piVar18 + -0xc) = param_4" (pointer_expression "*(undefined ***)((int)piVar18 + -0xc)" * (cast_expression "(undefined ***)((int)piVar18 + -0xc)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "((int)piVar18 + -0xc)" ( (binary_expression "(int)piVar18 + -0xc" (cast_expression "(int)piVar18" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined **)((int)piVar18 + -0x10) = puVar7;" (assignment_expression "*(undefined **)((int)piVar18 + -0x10) = puVar7" (pointer_expression "*(undefined **)((int)piVar18 + -0x10)" * (cast_expression "(undefined **)((int)piVar18 + -0x10)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)piVar18 + -0x10)" ( (binary_expression "(int)piVar18 + -0x10" (cast_expression "(int)piVar18" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)piVar18 + -0x14) = 0xd2591;" (assignment_expression "*(undefined4 *)((int)piVar18 + -0x14) = 0xd2591" (pointer_expression "*(undefined4 *)((int)piVar18 + -0x14)" * (cast_expression "(undefined4 *)((int)piVar18 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar18 + -0x14)" ( (binary_expression "(int)piVar18 + -0x14" (cast_expression "(int)piVar18" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "local_b4 = (undefined **)FUN_0028b7d0();" (assignment_expression "local_b4 = (undefined **)FUN_0028b7d0()" identifier = (cast_expression "(undefined **)FUN_0028b7d0()" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (call_expression "FUN_0028b7d0()" identifier (argument_list "()" ( ))))) ;) (goto_statement "goto LAB_000d24ee;" goto statement_identifier ;) })) (expression_statement "ppuVar14 = *(undefined ***)(iVar19 + 4);" (assignment_expression "ppuVar14 = *(undefined ***)(iVar19 + 4)" identifier = (pointer_expression "*(undefined ***)(iVar19 + 4)" * (cast_expression "(undefined ***)(iVar19 + 4)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(iVar19 + 4)" ( (binary_expression "iVar19 + 4" identifier + number_literal) ))))) ;) (expression_statement "local_c4 = local_bc + (int)ppuVar14;" (assignment_expression "local_c4 = local_bc + (int)ppuVar14" identifier = (binary_expression "local_bc + (int)ppuVar14" identifier + (cast_expression "(int)ppuVar14" ( (type_descriptor "int" primitive_type) ) identifier))) ;) (if_statement "if (local_d1 == '\0') goto LAB_000d2489;" if (parenthesized_expression "(local_d1 == '\0')" ( (binary_expression "local_d1 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (goto_statement "goto LAB_000d2489;" goto statement_identifier ;)) (expression_statement "local_b0 = &local_34;" (assignment_expression "local_b0 = &local_34" identifier = (pointer_expression "&local_34" & identifier)) ;) (expression_statement "local_34 = (undefined **)0x0;" (assignment_expression "local_34 = (undefined **)0x0" identifier = (cast_expression "(undefined **)0x0" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) ;) (expression_statement "*(undefined ****)((int)piVar18 + -0xc) = local_b0;" (assignment_expression "*(undefined ****)((int)piVar18 + -0xc) = local_b0" (pointer_expression "*(undefined ****)((int)piVar18 + -0xc)" * (cast_expression "(undefined ****)((int)piVar18 + -0xc)" ( (type_descriptor "undefined ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) (parenthesized_expression "((int)piVar18 + -0xc)" ( (binary_expression "(int)piVar18 + -0xc" (cast_expression "(int)piVar18" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(int *)((int)piVar18 + -0x10) = local_c8;" (assignment_expression "*(int *)((int)piVar18 + -0x10) = local_c8" (pointer_expression "*(int *)((int)piVar18 + -0x10)" * (cast_expression "(int *)((int)piVar18 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar18 + -0x10)" ( (binary_expression "(int)piVar18 + -0x10" (cast_expression "(int)piVar18" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "local_30 = (undefined **)0x0;" (assignment_expression "local_30 = (undefined **)0x0" identifier = (cast_expression "(undefined **)0x0" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) ;) (expression_statement "*(undefined4 *)((int)piVar18 + -0x14) = 0xd23cf;" (assignment_expression "*(undefined4 *)((int)piVar18 + -0x14) = 0xd23cf" (pointer_expression "*(undefined4 *)((int)piVar18 + -0x14)" * (cast_expression "(undefined4 *)((int)piVar18 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar18 + -0x14)" ( (binary_expression "(int)piVar18 + -0x14" (cast_expression "(int)piVar18" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "FUN_00073b00();" (call_expression "FUN_00073b00()" identifier (argument_list "()" ( ))) ;) (expression_statement "local_c0 = (undefined **)((uint)local_c0 & 0xffffff00);" (assignment_expression "local_c0 = (undefined **)((uint)local_c0 & 0xffffff00)" identifier = (cast_expression "(undefined **)((uint)local_c0 & 0xffffff00)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((uint)local_c0 & 0xffffff00)" ( (binary_expression "(uint)local_c0 & 0xffffff00" (cast_expression "(uint)local_c0" ( (type_descriptor "uint" type_identifier) ) identifier) & number_literal) )))) ;) (if_statement "if ((*(byte *)(iVar19 + 0xc) & 0xf) != 3) goto LAB_000d23e8;" if (parenthesized_expression "((*(byte *)(iVar19 + 0xc) & 0xf) != 3)" ( (binary_expression "(*(byte *)(iVar19 + 0xc) & 0xf) != 3" (parenthesized_expression "(*(byte *)(iVar19 + 0xc) & 0xf)" ( (binary_expression "*(byte *)(iVar19 + 0xc) & 0xf" (pointer_expression "*(byte *)(iVar19 + 0xc)" * (cast_expression "(byte *)(iVar19 + 0xc)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar19 + 0xc)" ( (binary_expression "iVar19 + 0xc" identifier + number_literal) )))) & number_literal) )) != number_literal) )) (goto_statement "goto LAB_000d23e8;" goto statement_identifier ;)) (labeled_statement "LAB_000d254c:\n          *(undefined ****)((int)piVar18 + -0xc) = local_b0;" statement_identifier : (expression_statement "*(undefined ****)((int)piVar18 + -0xc) = local_b0;" (assignment_expression "*(undefined ****)((int)piVar18 + -0xc) = local_b0" (pointer_expression "*(undefined ****)((int)piVar18 + -0xc)" * (cast_expression "(undefined ****)((int)piVar18 + -0xc)" ( (type_descriptor "undefined ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) (parenthesized_expression "((int)piVar18 + -0xc)" ( (binary_expression "(int)piVar18 + -0xc" (cast_expression "(int)piVar18" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;)) (expression_statement "*(int *)((int)piVar18 + -0x10) = local_cc;" (assignment_expression "*(int *)((int)piVar18 + -0x10) = local_cc" (pointer_expression "*(int *)((int)piVar18 + -0x10)" * (cast_expression "(int *)((int)piVar18 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar18 + -0x10)" ( (binary_expression "(int)piVar18 + -0x10" (cast_expression "(int)piVar18" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "local_34 = (undefined **)0xffffffff;" (assignment_expression "local_34 = (undefined **)0xffffffff" identifier = (cast_expression "(undefined **)0xffffffff" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) ;) (expression_statement "*(undefined4 *)((int)piVar18 + -0x14) = 0xd2567;" (assignment_expression "*(undefined4 *)((int)piVar18 + -0x14) = 0xd2567" (pointer_expression "*(undefined4 *)((int)piVar18 + -0x14)" * (cast_expression "(undefined4 *)((int)piVar18 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar18 + -0x14)" ( (binary_expression "(int)piVar18 + -0x14" (cast_expression "(int)piVar18" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "FUN_00073ca0();" (call_expression "FUN_00073ca0()" identifier (argument_list "()" ( ))) ;) (labeled_statement "LAB_000d2403:\n          *(undefined ****)((int)piVar18 + -0xc) = local_b0;" statement_identifier : (expression_statement "*(undefined ****)((int)piVar18 + -0xc) = local_b0;" (assignment_expression "*(undefined ****)((int)piVar18 + -0xc) = local_b0" (pointer_expression "*(undefined ****)((int)piVar18 + -0xc)" * (cast_expression "(undefined ****)((int)piVar18 + -0xc)" ( (type_descriptor "undefined ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) (parenthesized_expression "((int)piVar18 + -0xc)" ( (binary_expression "(int)piVar18 + -0xc" (cast_expression "(int)piVar18" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;)) (expression_statement "*(undefined ***)((int)piVar18 + -0x10) = local_e8;" (assignment_expression "*(undefined ***)((int)piVar18 + -0x10) = local_e8" (pointer_expression "*(undefined ***)((int)piVar18 + -0x10)" * (cast_expression "(undefined ***)((int)piVar18 + -0x10)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "((int)piVar18 + -0x10)" ( (binary_expression "(int)piVar18 + -0x10" (cast_expression "(int)piVar18" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "local_2c = local_bc;" (assignment_expression "local_2c = local_bc" identifier = identifier) ;) (expression_statement "local_28 = (int)local_bc >> 0x1f;" (assignment_expression "local_28 = (int)local_bc >> 0x1f" identifier = (binary_expression "(int)local_bc >> 0x1f" (cast_expression "(int)local_bc" ( (type_descriptor "int" primitive_type) ) identifier) >> number_literal)) ;) (expression_statement "local_30 = (undefined **)0x0;" (assignment_expression "local_30 = (undefined **)0x0" identifier = (cast_expression "(undefined **)0x0" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) ;) (expression_statement "*(undefined4 *)((int)piVar18 + -0x14) = 0xd2433;" (assignment_expression "*(undefined4 *)((int)piVar18 + -0x14) = 0xd2433" (pointer_expression "*(undefined4 *)((int)piVar18 + -0x14)" * (cast_expression "(undefined4 *)((int)piVar18 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar18 + -0x14)" ( (binary_expression "(int)piVar18 + -0x14" (cast_expression "(int)piVar18" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "local_34 = ppuVar14;" (assignment_expression "local_34 = ppuVar14" identifier = identifier) ;) (expression_statement "FUN_00073e70();" (call_expression "FUN_00073e70()" identifier (argument_list "()" ( ))) ;) (expression_statement "local_30 = (undefined **)0x0;" (assignment_expression "local_30 = (undefined **)0x0" identifier = (cast_expression "(undefined **)0x0" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) ;) (expression_statement "local_34 = (undefined **)*param_7;" (assignment_expression "local_34 = (undefined **)*param_7" identifier = (cast_expression "(undefined **)*param_7" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (pointer_expression "*param_7" * identifier))) ;) (expression_statement "puVar1 = *(undefined4 **)(local_d0 + 4);" (assignment_expression "puVar1 = *(undefined4 **)(local_d0 + 4)" identifier = (pointer_expression "*(undefined4 **)(local_d0 + 4)" * (cast_expression "(undefined4 **)(local_d0 + 4)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(local_d0 + 4)" ( (binary_expression "local_d0 + 4" identifier + number_literal) ))))) ;) (if_statement "if (puVar1 == *(undefined4 **)(local_d0 + 8)) {\n            *(undefined ****)((int)piVar18 + -8) = local_b0;\n            *(undefined4 **)((int)piVar18 + -0xc) = puVar1;\n            *(int *)((int)piVar18 + -0x10) = local_d0;\n            *(undefined4 *)((int)piVar18 + -0x14) = 0xd2b0d;\n            FUN_00072a40();\n          }\n          else {\n            *puVar1 = local_34;\n            puVar1[1] = 0;\n            *(undefined4 **)(local_d0 + 4) = puVar1 + 2;\n          }" if (parenthesized_expression "(puVar1 == *(undefined4 **)(local_d0 + 8))" ( (binary_expression "puVar1 == *(undefined4 **)(local_d0 + 8)" identifier == (pointer_expression "*(undefined4 **)(local_d0 + 8)" * (cast_expression "(undefined4 **)(local_d0 + 8)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(local_d0 + 8)" ( (binary_expression "local_d0 + 8" identifier + number_literal) ))))) )) (compound_statement "{\n            *(undefined ****)((int)piVar18 + -8) = local_b0;\n            *(undefined4 **)((int)piVar18 + -0xc) = puVar1;\n            *(int *)((int)piVar18 + -0x10) = local_d0;\n            *(undefined4 *)((int)piVar18 + -0x14) = 0xd2b0d;\n            FUN_00072a40();\n          }" { (expression_statement "*(undefined ****)((int)piVar18 + -8) = local_b0;" (assignment_expression "*(undefined ****)((int)piVar18 + -8) = local_b0" (pointer_expression "*(undefined ****)((int)piVar18 + -8)" * (cast_expression "(undefined ****)((int)piVar18 + -8)" ( (type_descriptor "undefined ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) (parenthesized_expression "((int)piVar18 + -8)" ( (binary_expression "(int)piVar18 + -8" (cast_expression "(int)piVar18" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 **)((int)piVar18 + -0xc) = puVar1;" (assignment_expression "*(undefined4 **)((int)piVar18 + -0xc) = puVar1" (pointer_expression "*(undefined4 **)((int)piVar18 + -0xc)" * (cast_expression "(undefined4 **)((int)piVar18 + -0xc)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)piVar18 + -0xc)" ( (binary_expression "(int)piVar18 + -0xc" (cast_expression "(int)piVar18" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(int *)((int)piVar18 + -0x10) = local_d0;" (assignment_expression "*(int *)((int)piVar18 + -0x10) = local_d0" (pointer_expression "*(int *)((int)piVar18 + -0x10)" * (cast_expression "(int *)((int)piVar18 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar18 + -0x10)" ( (binary_expression "(int)piVar18 + -0x10" (cast_expression "(int)piVar18" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)piVar18 + -0x14) = 0xd2b0d;" (assignment_expression "*(undefined4 *)((int)piVar18 + -0x14) = 0xd2b0d" (pointer_expression "*(undefined4 *)((int)piVar18 + -0x14)" * (cast_expression "(undefined4 *)((int)piVar18 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar18 + -0x14)" ( (binary_expression "(int)piVar18 + -0x14" (cast_expression "(int)piVar18" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "FUN_00072a40();" (call_expression "FUN_00072a40()" identifier (argument_list "()" ( ))) ;) }) (else_clause "else {\n            *puVar1 = local_34;\n            puVar1[1] = 0;\n            *(undefined4 **)(local_d0 + 4) = puVar1 + 2;\n          }" else (compound_statement "{\n            *puVar1 = local_34;\n            puVar1[1] = 0;\n            *(undefined4 **)(local_d0 + 4) = puVar1 + 2;\n          }" { (expression_statement "*puVar1 = local_34;" (assignment_expression "*puVar1 = local_34" (pointer_expression "*puVar1" * identifier) = identifier) ;) (expression_statement "puVar1[1] = 0;" (assignment_expression "puVar1[1] = 0" (subscript_expression "puVar1[1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "*(undefined4 **)(local_d0 + 4) = puVar1 + 2;" (assignment_expression "*(undefined4 **)(local_d0 + 4) = puVar1 + 2" (pointer_expression "*(undefined4 **)(local_d0 + 4)" * (cast_expression "(undefined4 **)(local_d0 + 4)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(local_d0 + 4)" ( (binary_expression "local_d0 + 4" identifier + number_literal) )))) = (binary_expression "puVar1 + 2" identifier + number_literal)) ;) }))) (expression_statement "local_68 = (undefined **)0x0;" (assignment_expression "local_68 = (undefined **)0x0" identifier = (cast_expression "(undefined **)0x0" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) ;) (expression_statement "*(undefined ****)((int)piVar18 + -0xc) = &local_68;" (assignment_expression "*(undefined ****)((int)piVar18 + -0xc) = &local_68" (pointer_expression "*(undefined ****)((int)piVar18 + -0xc)" * (cast_expression "(undefined ****)((int)piVar18 + -0xc)" ( (type_descriptor "undefined ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) (parenthesized_expression "((int)piVar18 + -0xc)" ( (binary_expression "(int)piVar18 + -0xc" (cast_expression "(int)piVar18" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "&local_68" & identifier)) ;) (expression_statement "*(int *)((int)piVar18 + -0x10) = local_ec;" (assignment_expression "*(int *)((int)piVar18 + -0x10) = local_ec" (pointer_expression "*(int *)((int)piVar18 + -0x10)" * (cast_expression "(int *)((int)piVar18 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar18 + -0x10)" ( (binary_expression "(int)piVar18 + -0x10" (cast_expression "(int)piVar18" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)piVar18 + -0x14) = 0xd2479;" (assignment_expression "*(undefined4 *)((int)piVar18 + -0x14) = 0xd2479" (pointer_expression "*(undefined4 *)((int)piVar18 + -0x14)" * (cast_expression "(undefined4 *)((int)piVar18 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar18 + -0x14)" ( (binary_expression "(int)piVar18 + -0x14" (cast_expression "(int)piVar18" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "FUN_00074020();" (call_expression "FUN_00074020()" identifier (argument_list "()" ( ))) ;) (if_statement "if ((char)local_c0 == '\0') goto LAB_000d2489;" if (parenthesized_expression "((char)local_c0 == '\0')" ( (binary_expression "(char)local_c0 == '\0'" (cast_expression "(char)local_c0" ( (type_descriptor "char" primitive_type) ) identifier) == (char_literal "'\0'" ' escape_sequence ')) )) (goto_statement "goto LAB_000d2489;" goto statement_identifier ;)) }))) (if_statement "if (((local_d2 != '\0') && ((*(byte *)(iVar19 + 0xc) & 0xf) != 1)) &&\n           ((0x17 < uVar21 || ((0x843f84U >> (uVar2 & 0x1f) & 1) == 0)))) {\n          local_b0 = *(undefined ****)(param_2 + 0x15c);\n          local_80 = param_4;\n          local_7c = (uint)*(ushort *)(iVar19 + 0xe);\n          *(undefined4 *)((int)piVar18 + -0xc) = 1;\n          *(undefined4 *)((int)piVar18 + -0x10) = 0;\n          local_98 = local_b0 + 0xd;\n          *(undefined *****)((int)piVar18 + -0x14) = &local_98;\n          *(undefined ****)((int)piVar18 + -0x18) = &local_80;\n          *(undefined ****)((int)piVar18 + -0x1c) = local_98;\n          *(undefined1 **)((int)piVar18 + -0x20) = local_e0;\n          *(undefined4 *)((int)piVar18 + -0x24) = 0xd2ad1;\n          FUN_00074280();\n          piVar18 = (int *)((int)piVar18 + -4);\n        }" if (parenthesized_expression "(((local_d2 != '\0') && ((*(byte *)(iVar19 + 0xc) & 0xf) != 1)) &&\n           ((0x17 < uVar21 || ((0x843f84U >> (uVar2 & 0x1f) & 1) == 0))))" ( (binary_expression "((local_d2 != '\0') && ((*(byte *)(iVar19 + 0xc) & 0xf) != 1)) &&\n           ((0x17 < uVar21 || ((0x843f84U >> (uVar2 & 0x1f) & 1) == 0)))" (parenthesized_expression "((local_d2 != '\0') && ((*(byte *)(iVar19 + 0xc) & 0xf) != 1))" ( (binary_expression "(local_d2 != '\0') && ((*(byte *)(iVar19 + 0xc) & 0xf) != 1)" (parenthesized_expression "(local_d2 != '\0')" ( (binary_expression "local_d2 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) && (parenthesized_expression "((*(byte *)(iVar19 + 0xc) & 0xf) != 1)" ( (binary_expression "(*(byte *)(iVar19 + 0xc) & 0xf) != 1" (parenthesized_expression "(*(byte *)(iVar19 + 0xc) & 0xf)" ( (binary_expression "*(byte *)(iVar19 + 0xc) & 0xf" (pointer_expression "*(byte *)(iVar19 + 0xc)" * (cast_expression "(byte *)(iVar19 + 0xc)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar19 + 0xc)" ( (binary_expression "iVar19 + 0xc" identifier + number_literal) )))) & number_literal) )) != number_literal) ))) )) && (parenthesized_expression "((0x17 < uVar21 || ((0x843f84U >> (uVar2 & 0x1f) & 1) == 0)))" ( (parenthesized_expression "(0x17 < uVar21 || ((0x843f84U >> (uVar2 & 0x1f) & 1) == 0))" ( (binary_expression "0x17 < uVar21 || ((0x843f84U >> (uVar2 & 0x1f) & 1) == 0)" (binary_expression "0x17 < uVar21" number_literal < identifier) || (parenthesized_expression "((0x843f84U >> (uVar2 & 0x1f) & 1) == 0)" ( (binary_expression "(0x843f84U >> (uVar2 & 0x1f) & 1) == 0" (parenthesized_expression "(0x843f84U >> (uVar2 & 0x1f) & 1)" ( (binary_expression "0x843f84U >> (uVar2 & 0x1f) & 1" (binary_expression "0x843f84U >> (uVar2 & 0x1f)" number_literal >> (parenthesized_expression "(uVar2 & 0x1f)" ( (binary_expression "uVar2 & 0x1f" identifier & number_literal) ))) & number_literal) )) == number_literal) ))) )) ))) )) (compound_statement "{\n          local_b0 = *(undefined ****)(param_2 + 0x15c);\n          local_80 = param_4;\n          local_7c = (uint)*(ushort *)(iVar19 + 0xe);\n          *(undefined4 *)((int)piVar18 + -0xc) = 1;\n          *(undefined4 *)((int)piVar18 + -0x10) = 0;\n          local_98 = local_b0 + 0xd;\n          *(undefined *****)((int)piVar18 + -0x14) = &local_98;\n          *(undefined ****)((int)piVar18 + -0x18) = &local_80;\n          *(undefined ****)((int)piVar18 + -0x1c) = local_98;\n          *(undefined1 **)((int)piVar18 + -0x20) = local_e0;\n          *(undefined4 *)((int)piVar18 + -0x24) = 0xd2ad1;\n          FUN_00074280();\n          piVar18 = (int *)((int)piVar18 + -4);\n        }" { (expression_statement "local_b0 = *(undefined ****)(param_2 + 0x15c);" (assignment_expression "local_b0 = *(undefined ****)(param_2 + 0x15c)" identifier = (pointer_expression "*(undefined ****)(param_2 + 0x15c)" * (cast_expression "(undefined ****)(param_2 + 0x15c)" ( (type_descriptor "undefined ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) (parenthesized_expression "(param_2 + 0x15c)" ( (binary_expression "param_2 + 0x15c" identifier + number_literal) ))))) ;) (expression_statement "local_80 = param_4;" (assignment_expression "local_80 = param_4" identifier = identifier) ;) (expression_statement "local_7c = (uint)*(ushort *)(iVar19 + 0xe);" (assignment_expression "local_7c = (uint)*(ushort *)(iVar19 + 0xe)" identifier = (binary_expression "(uint)*(ushort *)(iVar19 + 0xe)" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(ushort *)(iVar19 + 0xe)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar19 + 0xe)" ( (binary_expression "iVar19 + 0xe" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)((int)piVar18 + -0xc) = 1;" (assignment_expression "*(undefined4 *)((int)piVar18 + -0xc) = 1" (pointer_expression "*(undefined4 *)((int)piVar18 + -0xc)" * (cast_expression "(undefined4 *)((int)piVar18 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar18 + -0xc)" ( (binary_expression "(int)piVar18 + -0xc" (cast_expression "(int)piVar18" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)((int)piVar18 + -0x10) = 0;" (assignment_expression "*(undefined4 *)((int)piVar18 + -0x10) = 0" (pointer_expression "*(undefined4 *)((int)piVar18 + -0x10)" * (cast_expression "(undefined4 *)((int)piVar18 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar18 + -0x10)" ( (binary_expression "(int)piVar18 + -0x10" (cast_expression "(int)piVar18" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "local_98 = local_b0 + 0xd;" (assignment_expression "local_98 = local_b0 + 0xd" identifier = (binary_expression "local_b0 + 0xd" identifier + number_literal)) ;) (expression_statement "*(undefined *****)((int)piVar18 + -0x14) = &local_98;" (assignment_expression "*(undefined *****)((int)piVar18 + -0x14) = &local_98" (pointer_expression "*(undefined *****)((int)piVar18 + -0x14)" * (cast_expression "(undefined *****)((int)piVar18 + -0x14)" ( (type_descriptor "undefined *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (parenthesized_expression "((int)piVar18 + -0x14)" ( (binary_expression "(int)piVar18 + -0x14" (cast_expression "(int)piVar18" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "&local_98" & identifier)) ;) (expression_statement "*(undefined ****)((int)piVar18 + -0x18) = &local_80;" (assignment_expression "*(undefined ****)((int)piVar18 + -0x18) = &local_80" (pointer_expression "*(undefined ****)((int)piVar18 + -0x18)" * (cast_expression "(undefined ****)((int)piVar18 + -0x18)" ( (type_descriptor "undefined ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) (parenthesized_expression "((int)piVar18 + -0x18)" ( (binary_expression "(int)piVar18 + -0x18" (cast_expression "(int)piVar18" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "&local_80" & identifier)) ;) (expression_statement "*(undefined ****)((int)piVar18 + -0x1c) = local_98;" (assignment_expression "*(undefined ****)((int)piVar18 + -0x1c) = local_98" (pointer_expression "*(undefined ****)((int)piVar18 + -0x1c)" * (cast_expression "(undefined ****)((int)piVar18 + -0x1c)" ( (type_descriptor "undefined ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) (parenthesized_expression "((int)piVar18 + -0x1c)" ( (binary_expression "(int)piVar18 + -0x1c" (cast_expression "(int)piVar18" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined1 **)((int)piVar18 + -0x20) = local_e0;" (assignment_expression "*(undefined1 **)((int)piVar18 + -0x20) = local_e0" (pointer_expression "*(undefined1 **)((int)piVar18 + -0x20)" * (cast_expression "(undefined1 **)((int)piVar18 + -0x20)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)piVar18 + -0x20)" ( (binary_expression "(int)piVar18 + -0x20" (cast_expression "(int)piVar18" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)piVar18 + -0x24) = 0xd2ad1;" (assignment_expression "*(undefined4 *)((int)piVar18 + -0x24) = 0xd2ad1" (pointer_expression "*(undefined4 *)((int)piVar18 + -0x24)" * (cast_expression "(undefined4 *)((int)piVar18 + -0x24)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar18 + -0x24)" ( (binary_expression "(int)piVar18 + -0x24" (cast_expression "(int)piVar18" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "FUN_00074280();" (call_expression "FUN_00074280()" identifier (argument_list "()" ( ))) ;) (expression_statement "piVar18 = (int *)((int)piVar18 + -4);" (assignment_expression "piVar18 = (int *)((int)piVar18 + -4)" identifier = (cast_expression "(int *)((int)piVar18 + -4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar18 + -4)" ( (binary_expression "(int)piVar18 + -4" (cast_expression "(int)piVar18" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) })) (if_statement "if (param_5 != local_b4) {\n          local_c0 = param_4;\n          puVar17 = (undefined1 *)piVar18;\nLAB_000d275e:\n          if (*(int *)(*local_dc + 8) == 0) {\n            *(undefined ***)(puVar17 + -8) = local_b8 + -0x61176;\n            *(undefined4 *)(puVar17 + -0xc) = 0x5c;\n            *(int *)(puVar17 + -0x10) = (int)local_b8 + -0x1a1d93;\n                    \n            *(undefined4 *)(puVar17 + -0x14) = 0xd2f6e;\n            FUN_002446e0();\n          }\n          piVar18 = (int *)puVar17;\n          if (*(char *)(*(int *)(*local_dc + 8) + 0x18b1) != '\0') {\n            local_70 = param_4;\n            iVar19 = *(int *)(param_2 + 0x158) + 0x14;\n            local_6c = param_5;\n            local_68 = local_c0;\n            local_64 = local_b4;\n            iVar3 = *(int *)(*(int *)(param_2 + 0x158) + 0x18);\n            iVar10 = iVar19;\n            if (iVar3 == 0) {\nLAB_000d27f0:\n              local_88 = &local_70;\n              *(undefined *****)(puVar17 + -0x10) = &local_88;\n              *(undefined4 *)(puVar17 + -0x14) = 0xd2811;\n              FUN_000c5e40();\n              iVar11 = local_a8;\n            }\n            else {\n              do {\n                while ((iVar11 = iVar3, *(undefined ***)(iVar11 + 0x10) < param_4 ||\n                       ((param_4 == *(undefined ***)(iVar11 + 0x10) &&\n                        (*(undefined ***)(iVar11 + 0x14) < param_5))))) {\n                  piVar18 = (int *)(iVar11 + 0xc);\n                  iVar3 = *piVar18;\n                  iVar11 = iVar10;\n                  if (*piVar18 == 0) goto LAB_000d27da;\n                }\n                iVar3 = *(int *)(iVar11 + 8);\n                iVar10 = iVar11;\n              } while (*(int *)(iVar11 + 8) != 0);\nLAB_000d27da:\n              if (((iVar19 == iVar11) || (param_4 < *(undefined ***)(iVar11 + 0x10))) ||\n                 ((param_4 == *(undefined ***)(iVar11 + 0x10) &&\n                  (param_5 < *(undefined ***)(iVar11 + 0x14))))) goto LAB_000d27f0;\n            }\n            local_8c = iVar11 + 0x18;\n            *(undefined4 *)(puVar17 + -0xc) = 1;\n            *(undefined4 *)(puVar17 + -0x10) = 0;\n            *(int **)(puVar17 + -0x14) = local_f4;\n            *(undefined ****)(puVar17 + -0x18) = &local_68;\n            *(int *)(puVar17 + -0x1c) = local_8c;\n            *(undefined1 **)(puVar17 + -0x20) = local_e0;\n            *(undefined4 *)(puVar17 + -0x24) = 0xd2840;\n            FUN_00074340();\n            piVar18 = *(int **)(*local_dc + 0xc);\n            if (piVar18 == (int *)0x0) {\n              *(undefined ***)(puVar17 + -0xc) = local_b8 + -0x615c4;\n              *(undefined4 *)(puVar17 + -0x10) = 0x73;\n              *(int *)(puVar17 + -0x14) = (int)local_b8 + -0x1a1d93;\n                    \n              *(undefined4 *)(puVar17 + -0x18) = 0xd2fad;\n              FUN_002446e0();\n            }\n            iVar19 = *piVar18;\n            *(undefined **)(puVar17 + -0xc) = local_c4;\n            *(undefined ***)(puVar17 + -0x10) = local_b4;\n            *(undefined ***)(puVar17 + -0x14) = local_c0;\n            *(undefined ***)(puVar17 + -0x18) = param_5;\n            *(undefined ***)(puVar17 + -0x1c) = param_4;\n            *(int *)(puVar17 + -0x20) = param_2;\n            *(int **)(puVar17 + -0x24) = piVar18;\n            pcVar4 = *(code **)(iVar19 + 0x104);\n            *(undefined4 *)(puVar17 + -0x28) = 0xd287d;\n            (*pcVar4)();\n            pbVar20 = local_d8;\n            piVar18 = (int *)(puVar17 + -4);\n            if (local_d8 != (byte *)0x0) {\n              local_b4 = &local_2c;\n              local_b0 = &local_34;\n              iVar19 = *(int *)(param_2 + 0x158);\n              *(byte **)(puVar17 + -0x14) = local_d8;\n              local_34 = local_b4;\n              *(undefined4 *)(puVar17 + -0x18) = 0xd28bd;\n              sVar6 = strlen(*(char **)(puVar17 + -0x14));\n              pppuVar5 = local_b0;\n              *(undefined4 *)(puVar17 + -8) = 0;\n              *(byte **)(puVar17 + -0xc) = pbVar20 + sVar6;\n              *(byte **)(puVar17 + -0x10) = pbVar20;\n              *(undefined ****)(puVar17 + -0x14) = local_b0;\n              *(undefined4 *)(puVar17 + -0x18) = 0xd28d2;\n              FUN_00072b90();\n              *(undefined ****)(puVar17 + -0xc) = pppuVar5;\n              *(int *)(puVar17 + -0x10) = iVar19 + 0x44;\n              *(int **)(puVar17 + -0x14) = &local_ac;\n              *(undefined4 *)(puVar17 + -0x18) = 0xd28e6;\n              FUN_00094bd0();\n              iVar19 = local_ac;\n              if (local_34 != local_b4) {\n                *(undefined ***)(puVar17 + -0x18) = local_34;\n                *(undefined4 *)(puVar17 + -0x1c) = 0xd2909;\n                FUN_003ae080();\n              }\n              piVar18 = (int *)(puVar17 + -8);\n              iVar3 = *(int *)(param_2 + 0x158);\n              if (iVar19 != iVar3 + 0x48) {\n                local_34 = param_4;\n                local_30 = param_5;\n                iVar10 = *(int *)(iVar3 + 0x18);\n                iVar11 = iVar3 + 0x14;\n                if (*(int *)(iVar3 + 0x18) == 0) {\nLAB_000d2bd8:\n                  *(undefined *****)(puVar17 + -0x18) = &local_84;\n                  local_84 = local_b0;\n                  *(undefined4 *)(puVar17 + -0x1c) = 0xd2bf6;\n                  FUN_000c5e40();\n                  iVar12 = local_a8;\n                }\n                else {\n                  do {\n                    while ((iVar12 = iVar10, *(undefined ***)(iVar12 + 0x10) < param_4 ||\n                           ((param_4 == *(undefined ***)(iVar12 + 0x10) &&\n                            (*(undefined ***)(iVar12 + 0x14) < param_5))))) {\n                      piVar18 = (int *)(iVar12 + 0xc);\n                      iVar10 = *piVar18;\n                      iVar12 = iVar11;\n                      if (*piVar18 == 0) goto LAB_000d2962;\n                    }\n                    iVar10 = *(int *)(iVar12 + 8);\n                    iVar11 = iVar12;\n                  } while (*(int *)(iVar12 + 8) != 0);\nLAB_000d2962:\n                  if (((iVar12 == iVar3 + 0x14) || (param_4 < *(undefined ***)(iVar12 + 0x10))) ||\n                     ((param_4 == *(undefined ***)(iVar12 + 0x10) &&\n                      (param_5 < *(undefined ***)(iVar12 + 0x14))))) goto LAB_000d2bd8;\n                }\n                piVar18 = (int *)(puVar17 + -8);\n                puVar17 = puVar17 + -8;\n                for (puVar1 = *(undefined4 **)(iVar19 + 0x30); puVar1 != (undefined4 *)0x0;\n                    puVar1 = (undefined4 *)*puVar1) {\n                  *(undefined4 *)(puVar17 + -0xc) = 1;\n                  *(undefined4 *)(puVar17 + -0x10) = 0;\n                  *(int **)(puVar17 + -0x14) = &local_90;\n                  *(undefined4 **)(puVar17 + -0x18) = puVar1 + 1;\n                  *(int *)(puVar17 + -0x1c) = iVar12 + 0x18;\n                  *(undefined1 **)(puVar17 + -0x20) = local_e0;\n                  *(undefined4 *)(puVar17 + -0x24) = 0xd29ae;\n                  local_90 = iVar12 + 0x18;\n                  FUN_00074340();\n                  piVar18 = (int *)(puVar17 + -4);\n                  puVar17 = puVar17 + -4;\n                }\n              }\n            }\n          }\n        }" if (parenthesized_expression "(param_5 != local_b4)" ( (binary_expression "param_5 != local_b4" identifier != identifier) )) (compound_statement "{\n          local_c0 = param_4;\n          puVar17 = (undefined1 *)piVar18;\nLAB_000d275e:\n          if (*(int *)(*local_dc + 8) == 0) {\n            *(undefined ***)(puVar17 + -8) = local_b8 + -0x61176;\n            *(undefined4 *)(puVar17 + -0xc) = 0x5c;\n            *(int *)(puVar17 + -0x10) = (int)local_b8 + -0x1a1d93;\n                    \n            *(undefined4 *)(puVar17 + -0x14) = 0xd2f6e;\n            FUN_002446e0();\n          }\n          piVar18 = (int *)puVar17;\n          if (*(char *)(*(int *)(*local_dc + 8) + 0x18b1) != '\0') {\n            local_70 = param_4;\n            iVar19 = *(int *)(param_2 + 0x158) + 0x14;\n            local_6c = param_5;\n            local_68 = local_c0;\n            local_64 = local_b4;\n            iVar3 = *(int *)(*(int *)(param_2 + 0x158) + 0x18);\n            iVar10 = iVar19;\n            if (iVar3 == 0) {\nLAB_000d27f0:\n              local_88 = &local_70;\n              *(undefined *****)(puVar17 + -0x10) = &local_88;\n              *(undefined4 *)(puVar17 + -0x14) = 0xd2811;\n              FUN_000c5e40();\n              iVar11 = local_a8;\n            }\n            else {\n              do {\n                while ((iVar11 = iVar3, *(undefined ***)(iVar11 + 0x10) < param_4 ||\n                       ((param_4 == *(undefined ***)(iVar11 + 0x10) &&\n                        (*(undefined ***)(iVar11 + 0x14) < param_5))))) {\n                  piVar18 = (int *)(iVar11 + 0xc);\n                  iVar3 = *piVar18;\n                  iVar11 = iVar10;\n                  if (*piVar18 == 0) goto LAB_000d27da;\n                }\n                iVar3 = *(int *)(iVar11 + 8);\n                iVar10 = iVar11;\n              } while (*(int *)(iVar11 + 8) != 0);\nLAB_000d27da:\n              if (((iVar19 == iVar11) || (param_4 < *(undefined ***)(iVar11 + 0x10))) ||\n                 ((param_4 == *(undefined ***)(iVar11 + 0x10) &&\n                  (param_5 < *(undefined ***)(iVar11 + 0x14))))) goto LAB_000d27f0;\n            }\n            local_8c = iVar11 + 0x18;\n            *(undefined4 *)(puVar17 + -0xc) = 1;\n            *(undefined4 *)(puVar17 + -0x10) = 0;\n            *(int **)(puVar17 + -0x14) = local_f4;\n            *(undefined ****)(puVar17 + -0x18) = &local_68;\n            *(int *)(puVar17 + -0x1c) = local_8c;\n            *(undefined1 **)(puVar17 + -0x20) = local_e0;\n            *(undefined4 *)(puVar17 + -0x24) = 0xd2840;\n            FUN_00074340();\n            piVar18 = *(int **)(*local_dc + 0xc);\n            if (piVar18 == (int *)0x0) {\n              *(undefined ***)(puVar17 + -0xc) = local_b8 + -0x615c4;\n              *(undefined4 *)(puVar17 + -0x10) = 0x73;\n              *(int *)(puVar17 + -0x14) = (int)local_b8 + -0x1a1d93;\n                    \n              *(undefined4 *)(puVar17 + -0x18) = 0xd2fad;\n              FUN_002446e0();\n            }\n            iVar19 = *piVar18;\n            *(undefined **)(puVar17 + -0xc) = local_c4;\n            *(undefined ***)(puVar17 + -0x10) = local_b4;\n            *(undefined ***)(puVar17 + -0x14) = local_c0;\n            *(undefined ***)(puVar17 + -0x18) = param_5;\n            *(undefined ***)(puVar17 + -0x1c) = param_4;\n            *(int *)(puVar17 + -0x20) = param_2;\n            *(int **)(puVar17 + -0x24) = piVar18;\n            pcVar4 = *(code **)(iVar19 + 0x104);\n            *(undefined4 *)(puVar17 + -0x28) = 0xd287d;\n            (*pcVar4)();\n            pbVar20 = local_d8;\n            piVar18 = (int *)(puVar17 + -4);\n            if (local_d8 != (byte *)0x0) {\n              local_b4 = &local_2c;\n              local_b0 = &local_34;\n              iVar19 = *(int *)(param_2 + 0x158);\n              *(byte **)(puVar17 + -0x14) = local_d8;\n              local_34 = local_b4;\n              *(undefined4 *)(puVar17 + -0x18) = 0xd28bd;\n              sVar6 = strlen(*(char **)(puVar17 + -0x14));\n              pppuVar5 = local_b0;\n              *(undefined4 *)(puVar17 + -8) = 0;\n              *(byte **)(puVar17 + -0xc) = pbVar20 + sVar6;\n              *(byte **)(puVar17 + -0x10) = pbVar20;\n              *(undefined ****)(puVar17 + -0x14) = local_b0;\n              *(undefined4 *)(puVar17 + -0x18) = 0xd28d2;\n              FUN_00072b90();\n              *(undefined ****)(puVar17 + -0xc) = pppuVar5;\n              *(int *)(puVar17 + -0x10) = iVar19 + 0x44;\n              *(int **)(puVar17 + -0x14) = &local_ac;\n              *(undefined4 *)(puVar17 + -0x18) = 0xd28e6;\n              FUN_00094bd0();\n              iVar19 = local_ac;\n              if (local_34 != local_b4) {\n                *(undefined ***)(puVar17 + -0x18) = local_34;\n                *(undefined4 *)(puVar17 + -0x1c) = 0xd2909;\n                FUN_003ae080();\n              }\n              piVar18 = (int *)(puVar17 + -8);\n              iVar3 = *(int *)(param_2 + 0x158);\n              if (iVar19 != iVar3 + 0x48) {\n                local_34 = param_4;\n                local_30 = param_5;\n                iVar10 = *(int *)(iVar3 + 0x18);\n                iVar11 = iVar3 + 0x14;\n                if (*(int *)(iVar3 + 0x18) == 0) {\nLAB_000d2bd8:\n                  *(undefined *****)(puVar17 + -0x18) = &local_84;\n                  local_84 = local_b0;\n                  *(undefined4 *)(puVar17 + -0x1c) = 0xd2bf6;\n                  FUN_000c5e40();\n                  iVar12 = local_a8;\n                }\n                else {\n                  do {\n                    while ((iVar12 = iVar10, *(undefined ***)(iVar12 + 0x10) < param_4 ||\n                           ((param_4 == *(undefined ***)(iVar12 + 0x10) &&\n                            (*(undefined ***)(iVar12 + 0x14) < param_5))))) {\n                      piVar18 = (int *)(iVar12 + 0xc);\n                      iVar10 = *piVar18;\n                      iVar12 = iVar11;\n                      if (*piVar18 == 0) goto LAB_000d2962;\n                    }\n                    iVar10 = *(int *)(iVar12 + 8);\n                    iVar11 = iVar12;\n                  } while (*(int *)(iVar12 + 8) != 0);\nLAB_000d2962:\n                  if (((iVar12 == iVar3 + 0x14) || (param_4 < *(undefined ***)(iVar12 + 0x10))) ||\n                     ((param_4 == *(undefined ***)(iVar12 + 0x10) &&\n                      (param_5 < *(undefined ***)(iVar12 + 0x14))))) goto LAB_000d2bd8;\n                }\n                piVar18 = (int *)(puVar17 + -8);\n                puVar17 = puVar17 + -8;\n                for (puVar1 = *(undefined4 **)(iVar19 + 0x30); puVar1 != (undefined4 *)0x0;\n                    puVar1 = (undefined4 *)*puVar1) {\n                  *(undefined4 *)(puVar17 + -0xc) = 1;\n                  *(undefined4 *)(puVar17 + -0x10) = 0;\n                  *(int **)(puVar17 + -0x14) = &local_90;\n                  *(undefined4 **)(puVar17 + -0x18) = puVar1 + 1;\n                  *(int *)(puVar17 + -0x1c) = iVar12 + 0x18;\n                  *(undefined1 **)(puVar17 + -0x20) = local_e0;\n                  *(undefined4 *)(puVar17 + -0x24) = 0xd29ae;\n                  local_90 = iVar12 + 0x18;\n                  FUN_00074340();\n                  piVar18 = (int *)(puVar17 + -4);\n                  puVar17 = puVar17 + -4;\n                }\n              }\n            }\n          }\n        }" { (expression_statement "local_c0 = param_4;" (assignment_expression "local_c0 = param_4" identifier = identifier) ;) (expression_statement "puVar17 = (undefined1 *)piVar18;" (assignment_expression "puVar17 = (undefined1 *)piVar18" identifier = (cast_expression "(undefined1 *)piVar18" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (labeled_statement "LAB_000d275e:\n          if (*(int *)(*local_dc + 8) == 0) {\n            *(undefined ***)(puVar17 + -8) = local_b8 + -0x61176;\n            *(undefined4 *)(puVar17 + -0xc) = 0x5c;\n            *(int *)(puVar17 + -0x10) = (int)local_b8 + -0x1a1d93;\n                    \n            *(undefined4 *)(puVar17 + -0x14) = 0xd2f6e;\n            FUN_002446e0();\n          }" statement_identifier : (if_statement "if (*(int *)(*local_dc + 8) == 0) {\n            *(undefined ***)(puVar17 + -8) = local_b8 + -0x61176;\n            *(undefined4 *)(puVar17 + -0xc) = 0x5c;\n            *(int *)(puVar17 + -0x10) = (int)local_b8 + -0x1a1d93;\n                    \n            *(undefined4 *)(puVar17 + -0x14) = 0xd2f6e;\n            FUN_002446e0();\n          }" if (parenthesized_expression "(*(int *)(*local_dc + 8) == 0)" ( (binary_expression "*(int *)(*local_dc + 8) == 0" (pointer_expression "*(int *)(*local_dc + 8)" * (cast_expression "(int *)(*local_dc + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*local_dc + 8)" ( (binary_expression "*local_dc + 8" (pointer_expression "*local_dc" * identifier) + number_literal) )))) == number_literal) )) (compound_statement "{\n            *(undefined ***)(puVar17 + -8) = local_b8 + -0x61176;\n            *(undefined4 *)(puVar17 + -0xc) = 0x5c;\n            *(int *)(puVar17 + -0x10) = (int)local_b8 + -0x1a1d93;\n                    \n            *(undefined4 *)(puVar17 + -0x14) = 0xd2f6e;\n            FUN_002446e0();\n          }" { (expression_statement "*(undefined ***)(puVar17 + -8) = local_b8 + -0x61176;" (assignment_expression "*(undefined ***)(puVar17 + -8) = local_b8 + -0x61176" (pointer_expression "*(undefined ***)(puVar17 + -8)" * (cast_expression "(undefined ***)(puVar17 + -8)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar17 + -8)" ( (binary_expression "puVar17 + -8" identifier + number_literal) )))) = (binary_expression "local_b8 + -0x61176" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar17 + -0xc) = 0x5c;" (assignment_expression "*(undefined4 *)(puVar17 + -0xc) = 0x5c" (pointer_expression "*(undefined4 *)(puVar17 + -0xc)" * (cast_expression "(undefined4 *)(puVar17 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0xc)" ( (binary_expression "puVar17 + -0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)(puVar17 + -0x10) = (int)local_b8 + -0x1a1d93;" (assignment_expression "*(int *)(puVar17 + -0x10) = (int)local_b8 + -0x1a1d93" (pointer_expression "*(int *)(puVar17 + -0x10)" * (cast_expression "(int *)(puVar17 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x10)" ( (binary_expression "puVar17 + -0x10" identifier + number_literal) )))) = (binary_expression "(int)local_b8 + -0x1a1d93" (cast_expression "(int)local_b8" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar17 + -0x14) = 0xd2f6e;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0xd2f6e" (pointer_expression "*(undefined4 *)(puVar17 + -0x14)" * (cast_expression "(undefined4 *)(puVar17 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x14)" ( (binary_expression "puVar17 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_002446e0();" (call_expression "FUN_002446e0()" identifier (argument_list "()" ( ))) ;) }))) (expression_statement "piVar18 = (int *)puVar17;" (assignment_expression "piVar18 = (int *)puVar17" identifier = (cast_expression "(int *)puVar17" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) (if_statement "if (*(char *)(*(int *)(*local_dc + 8) + 0x18b1) != '\0') {\n            local_70 = param_4;\n            iVar19 = *(int *)(param_2 + 0x158) + 0x14;\n            local_6c = param_5;\n            local_68 = local_c0;\n            local_64 = local_b4;\n            iVar3 = *(int *)(*(int *)(param_2 + 0x158) + 0x18);\n            iVar10 = iVar19;\n            if (iVar3 == 0) {\nLAB_000d27f0:\n              local_88 = &local_70;\n              *(undefined *****)(puVar17 + -0x10) = &local_88;\n              *(undefined4 *)(puVar17 + -0x14) = 0xd2811;\n              FUN_000c5e40();\n              iVar11 = local_a8;\n            }\n            else {\n              do {\n                while ((iVar11 = iVar3, *(undefined ***)(iVar11 + 0x10) < param_4 ||\n                       ((param_4 == *(undefined ***)(iVar11 + 0x10) &&\n                        (*(undefined ***)(iVar11 + 0x14) < param_5))))) {\n                  piVar18 = (int *)(iVar11 + 0xc);\n                  iVar3 = *piVar18;\n                  iVar11 = iVar10;\n                  if (*piVar18 == 0) goto LAB_000d27da;\n                }\n                iVar3 = *(int *)(iVar11 + 8);\n                iVar10 = iVar11;\n              } while (*(int *)(iVar11 + 8) != 0);\nLAB_000d27da:\n              if (((iVar19 == iVar11) || (param_4 < *(undefined ***)(iVar11 + 0x10))) ||\n                 ((param_4 == *(undefined ***)(iVar11 + 0x10) &&\n                  (param_5 < *(undefined ***)(iVar11 + 0x14))))) goto LAB_000d27f0;\n            }\n            local_8c = iVar11 + 0x18;\n            *(undefined4 *)(puVar17 + -0xc) = 1;\n            *(undefined4 *)(puVar17 + -0x10) = 0;\n            *(int **)(puVar17 + -0x14) = local_f4;\n            *(undefined ****)(puVar17 + -0x18) = &local_68;\n            *(int *)(puVar17 + -0x1c) = local_8c;\n            *(undefined1 **)(puVar17 + -0x20) = local_e0;\n            *(undefined4 *)(puVar17 + -0x24) = 0xd2840;\n            FUN_00074340();\n            piVar18 = *(int **)(*local_dc + 0xc);\n            if (piVar18 == (int *)0x0) {\n              *(undefined ***)(puVar17 + -0xc) = local_b8 + -0x615c4;\n              *(undefined4 *)(puVar17 + -0x10) = 0x73;\n              *(int *)(puVar17 + -0x14) = (int)local_b8 + -0x1a1d93;\n                    \n              *(undefined4 *)(puVar17 + -0x18) = 0xd2fad;\n              FUN_002446e0();\n            }\n            iVar19 = *piVar18;\n            *(undefined **)(puVar17 + -0xc) = local_c4;\n            *(undefined ***)(puVar17 + -0x10) = local_b4;\n            *(undefined ***)(puVar17 + -0x14) = local_c0;\n            *(undefined ***)(puVar17 + -0x18) = param_5;\n            *(undefined ***)(puVar17 + -0x1c) = param_4;\n            *(int *)(puVar17 + -0x20) = param_2;\n            *(int **)(puVar17 + -0x24) = piVar18;\n            pcVar4 = *(code **)(iVar19 + 0x104);\n            *(undefined4 *)(puVar17 + -0x28) = 0xd287d;\n            (*pcVar4)();\n            pbVar20 = local_d8;\n            piVar18 = (int *)(puVar17 + -4);\n            if (local_d8 != (byte *)0x0) {\n              local_b4 = &local_2c;\n              local_b0 = &local_34;\n              iVar19 = *(int *)(param_2 + 0x158);\n              *(byte **)(puVar17 + -0x14) = local_d8;\n              local_34 = local_b4;\n              *(undefined4 *)(puVar17 + -0x18) = 0xd28bd;\n              sVar6 = strlen(*(char **)(puVar17 + -0x14));\n              pppuVar5 = local_b0;\n              *(undefined4 *)(puVar17 + -8) = 0;\n              *(byte **)(puVar17 + -0xc) = pbVar20 + sVar6;\n              *(byte **)(puVar17 + -0x10) = pbVar20;\n              *(undefined ****)(puVar17 + -0x14) = local_b0;\n              *(undefined4 *)(puVar17 + -0x18) = 0xd28d2;\n              FUN_00072b90();\n              *(undefined ****)(puVar17 + -0xc) = pppuVar5;\n              *(int *)(puVar17 + -0x10) = iVar19 + 0x44;\n              *(int **)(puVar17 + -0x14) = &local_ac;\n              *(undefined4 *)(puVar17 + -0x18) = 0xd28e6;\n              FUN_00094bd0();\n              iVar19 = local_ac;\n              if (local_34 != local_b4) {\n                *(undefined ***)(puVar17 + -0x18) = local_34;\n                *(undefined4 *)(puVar17 + -0x1c) = 0xd2909;\n                FUN_003ae080();\n              }\n              piVar18 = (int *)(puVar17 + -8);\n              iVar3 = *(int *)(param_2 + 0x158);\n              if (iVar19 != iVar3 + 0x48) {\n                local_34 = param_4;\n                local_30 = param_5;\n                iVar10 = *(int *)(iVar3 + 0x18);\n                iVar11 = iVar3 + 0x14;\n                if (*(int *)(iVar3 + 0x18) == 0) {\nLAB_000d2bd8:\n                  *(undefined *****)(puVar17 + -0x18) = &local_84;\n                  local_84 = local_b0;\n                  *(undefined4 *)(puVar17 + -0x1c) = 0xd2bf6;\n                  FUN_000c5e40();\n                  iVar12 = local_a8;\n                }\n                else {\n                  do {\n                    while ((iVar12 = iVar10, *(undefined ***)(iVar12 + 0x10) < param_4 ||\n                           ((param_4 == *(undefined ***)(iVar12 + 0x10) &&\n                            (*(undefined ***)(iVar12 + 0x14) < param_5))))) {\n                      piVar18 = (int *)(iVar12 + 0xc);\n                      iVar10 = *piVar18;\n                      iVar12 = iVar11;\n                      if (*piVar18 == 0) goto LAB_000d2962;\n                    }\n                    iVar10 = *(int *)(iVar12 + 8);\n                    iVar11 = iVar12;\n                  } while (*(int *)(iVar12 + 8) != 0);\nLAB_000d2962:\n                  if (((iVar12 == iVar3 + 0x14) || (param_4 < *(undefined ***)(iVar12 + 0x10))) ||\n                     ((param_4 == *(undefined ***)(iVar12 + 0x10) &&\n                      (param_5 < *(undefined ***)(iVar12 + 0x14))))) goto LAB_000d2bd8;\n                }\n                piVar18 = (int *)(puVar17 + -8);\n                puVar17 = puVar17 + -8;\n                for (puVar1 = *(undefined4 **)(iVar19 + 0x30); puVar1 != (undefined4 *)0x0;\n                    puVar1 = (undefined4 *)*puVar1) {\n                  *(undefined4 *)(puVar17 + -0xc) = 1;\n                  *(undefined4 *)(puVar17 + -0x10) = 0;\n                  *(int **)(puVar17 + -0x14) = &local_90;\n                  *(undefined4 **)(puVar17 + -0x18) = puVar1 + 1;\n                  *(int *)(puVar17 + -0x1c) = iVar12 + 0x18;\n                  *(undefined1 **)(puVar17 + -0x20) = local_e0;\n                  *(undefined4 *)(puVar17 + -0x24) = 0xd29ae;\n                  local_90 = iVar12 + 0x18;\n                  FUN_00074340();\n                  piVar18 = (int *)(puVar17 + -4);\n                  puVar17 = puVar17 + -4;\n                }\n              }\n            }\n          }" if (parenthesized_expression "(*(char *)(*(int *)(*local_dc + 8) + 0x18b1) != '\0')" ( (binary_expression "*(char *)(*(int *)(*local_dc + 8) + 0x18b1) != '\0'" (pointer_expression "*(char *)(*(int *)(*local_dc + 8) + 0x18b1)" * (cast_expression "(char *)(*(int *)(*local_dc + 8) + 0x18b1)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(*local_dc + 8) + 0x18b1)" ( (binary_expression "*(int *)(*local_dc + 8) + 0x18b1" (pointer_expression "*(int *)(*local_dc + 8)" * (cast_expression "(int *)(*local_dc + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*local_dc + 8)" ( (binary_expression "*local_dc + 8" (pointer_expression "*local_dc" * identifier) + number_literal) )))) + number_literal) )))) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n            local_70 = param_4;\n            iVar19 = *(int *)(param_2 + 0x158) + 0x14;\n            local_6c = param_5;\n            local_68 = local_c0;\n            local_64 = local_b4;\n            iVar3 = *(int *)(*(int *)(param_2 + 0x158) + 0x18);\n            iVar10 = iVar19;\n            if (iVar3 == 0) {\nLAB_000d27f0:\n              local_88 = &local_70;\n              *(undefined *****)(puVar17 + -0x10) = &local_88;\n              *(undefined4 *)(puVar17 + -0x14) = 0xd2811;\n              FUN_000c5e40();\n              iVar11 = local_a8;\n            }\n            else {\n              do {\n                while ((iVar11 = iVar3, *(undefined ***)(iVar11 + 0x10) < param_4 ||\n                       ((param_4 == *(undefined ***)(iVar11 + 0x10) &&\n                        (*(undefined ***)(iVar11 + 0x14) < param_5))))) {\n                  piVar18 = (int *)(iVar11 + 0xc);\n                  iVar3 = *piVar18;\n                  iVar11 = iVar10;\n                  if (*piVar18 == 0) goto LAB_000d27da;\n                }\n                iVar3 = *(int *)(iVar11 + 8);\n                iVar10 = iVar11;\n              } while (*(int *)(iVar11 + 8) != 0);\nLAB_000d27da:\n              if (((iVar19 == iVar11) || (param_4 < *(undefined ***)(iVar11 + 0x10))) ||\n                 ((param_4 == *(undefined ***)(iVar11 + 0x10) &&\n                  (param_5 < *(undefined ***)(iVar11 + 0x14))))) goto LAB_000d27f0;\n            }\n            local_8c = iVar11 + 0x18;\n            *(undefined4 *)(puVar17 + -0xc) = 1;\n            *(undefined4 *)(puVar17 + -0x10) = 0;\n            *(int **)(puVar17 + -0x14) = local_f4;\n            *(undefined ****)(puVar17 + -0x18) = &local_68;\n            *(int *)(puVar17 + -0x1c) = local_8c;\n            *(undefined1 **)(puVar17 + -0x20) = local_e0;\n            *(undefined4 *)(puVar17 + -0x24) = 0xd2840;\n            FUN_00074340();\n            piVar18 = *(int **)(*local_dc + 0xc);\n            if (piVar18 == (int *)0x0) {\n              *(undefined ***)(puVar17 + -0xc) = local_b8 + -0x615c4;\n              *(undefined4 *)(puVar17 + -0x10) = 0x73;\n              *(int *)(puVar17 + -0x14) = (int)local_b8 + -0x1a1d93;\n                    \n              *(undefined4 *)(puVar17 + -0x18) = 0xd2fad;\n              FUN_002446e0();\n            }\n            iVar19 = *piVar18;\n            *(undefined **)(puVar17 + -0xc) = local_c4;\n            *(undefined ***)(puVar17 + -0x10) = local_b4;\n            *(undefined ***)(puVar17 + -0x14) = local_c0;\n            *(undefined ***)(puVar17 + -0x18) = param_5;\n            *(undefined ***)(puVar17 + -0x1c) = param_4;\n            *(int *)(puVar17 + -0x20) = param_2;\n            *(int **)(puVar17 + -0x24) = piVar18;\n            pcVar4 = *(code **)(iVar19 + 0x104);\n            *(undefined4 *)(puVar17 + -0x28) = 0xd287d;\n            (*pcVar4)();\n            pbVar20 = local_d8;\n            piVar18 = (int *)(puVar17 + -4);\n            if (local_d8 != (byte *)0x0) {\n              local_b4 = &local_2c;\n              local_b0 = &local_34;\n              iVar19 = *(int *)(param_2 + 0x158);\n              *(byte **)(puVar17 + -0x14) = local_d8;\n              local_34 = local_b4;\n              *(undefined4 *)(puVar17 + -0x18) = 0xd28bd;\n              sVar6 = strlen(*(char **)(puVar17 + -0x14));\n              pppuVar5 = local_b0;\n              *(undefined4 *)(puVar17 + -8) = 0;\n              *(byte **)(puVar17 + -0xc) = pbVar20 + sVar6;\n              *(byte **)(puVar17 + -0x10) = pbVar20;\n              *(undefined ****)(puVar17 + -0x14) = local_b0;\n              *(undefined4 *)(puVar17 + -0x18) = 0xd28d2;\n              FUN_00072b90();\n              *(undefined ****)(puVar17 + -0xc) = pppuVar5;\n              *(int *)(puVar17 + -0x10) = iVar19 + 0x44;\n              *(int **)(puVar17 + -0x14) = &local_ac;\n              *(undefined4 *)(puVar17 + -0x18) = 0xd28e6;\n              FUN_00094bd0();\n              iVar19 = local_ac;\n              if (local_34 != local_b4) {\n                *(undefined ***)(puVar17 + -0x18) = local_34;\n                *(undefined4 *)(puVar17 + -0x1c) = 0xd2909;\n                FUN_003ae080();\n              }\n              piVar18 = (int *)(puVar17 + -8);\n              iVar3 = *(int *)(param_2 + 0x158);\n              if (iVar19 != iVar3 + 0x48) {\n                local_34 = param_4;\n                local_30 = param_5;\n                iVar10 = *(int *)(iVar3 + 0x18);\n                iVar11 = iVar3 + 0x14;\n                if (*(int *)(iVar3 + 0x18) == 0) {\nLAB_000d2bd8:\n                  *(undefined *****)(puVar17 + -0x18) = &local_84;\n                  local_84 = local_b0;\n                  *(undefined4 *)(puVar17 + -0x1c) = 0xd2bf6;\n                  FUN_000c5e40();\n                  iVar12 = local_a8;\n                }\n                else {\n                  do {\n                    while ((iVar12 = iVar10, *(undefined ***)(iVar12 + 0x10) < param_4 ||\n                           ((param_4 == *(undefined ***)(iVar12 + 0x10) &&\n                            (*(undefined ***)(iVar12 + 0x14) < param_5))))) {\n                      piVar18 = (int *)(iVar12 + 0xc);\n                      iVar10 = *piVar18;\n                      iVar12 = iVar11;\n                      if (*piVar18 == 0) goto LAB_000d2962;\n                    }\n                    iVar10 = *(int *)(iVar12 + 8);\n                    iVar11 = iVar12;\n                  } while (*(int *)(iVar12 + 8) != 0);\nLAB_000d2962:\n                  if (((iVar12 == iVar3 + 0x14) || (param_4 < *(undefined ***)(iVar12 + 0x10))) ||\n                     ((param_4 == *(undefined ***)(iVar12 + 0x10) &&\n                      (param_5 < *(undefined ***)(iVar12 + 0x14))))) goto LAB_000d2bd8;\n                }\n                piVar18 = (int *)(puVar17 + -8);\n                puVar17 = puVar17 + -8;\n                for (puVar1 = *(undefined4 **)(iVar19 + 0x30); puVar1 != (undefined4 *)0x0;\n                    puVar1 = (undefined4 *)*puVar1) {\n                  *(undefined4 *)(puVar17 + -0xc) = 1;\n                  *(undefined4 *)(puVar17 + -0x10) = 0;\n                  *(int **)(puVar17 + -0x14) = &local_90;\n                  *(undefined4 **)(puVar17 + -0x18) = puVar1 + 1;\n                  *(int *)(puVar17 + -0x1c) = iVar12 + 0x18;\n                  *(undefined1 **)(puVar17 + -0x20) = local_e0;\n                  *(undefined4 *)(puVar17 + -0x24) = 0xd29ae;\n                  local_90 = iVar12 + 0x18;\n                  FUN_00074340();\n                  piVar18 = (int *)(puVar17 + -4);\n                  puVar17 = puVar17 + -4;\n                }\n              }\n            }\n          }" { (expression_statement "local_70 = param_4;" (assignment_expression "local_70 = param_4" identifier = identifier) ;) (expression_statement "iVar19 = *(int *)(param_2 + 0x158) + 0x14;" (assignment_expression "iVar19 = *(int *)(param_2 + 0x158) + 0x14" identifier = (binary_expression "*(int *)(param_2 + 0x158) + 0x14" (pointer_expression "*(int *)(param_2 + 0x158)" * (cast_expression "(int *)(param_2 + 0x158)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x158)" ( (binary_expression "param_2 + 0x158" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "local_6c = param_5;" (assignment_expression "local_6c = param_5" identifier = identifier) ;) (expression_statement "local_68 = local_c0;" (assignment_expression "local_68 = local_c0" identifier = identifier) ;) (expression_statement "local_64 = local_b4;" (assignment_expression "local_64 = local_b4" identifier = identifier) ;) (expression_statement "iVar3 = *(int *)(*(int *)(param_2 + 0x158) + 0x18);" (assignment_expression "iVar3 = *(int *)(*(int *)(param_2 + 0x158) + 0x18)" identifier = (pointer_expression "*(int *)(*(int *)(param_2 + 0x158) + 0x18)" * (cast_expression "(int *)(*(int *)(param_2 + 0x158) + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(param_2 + 0x158) + 0x18)" ( (binary_expression "*(int *)(param_2 + 0x158) + 0x18" (pointer_expression "*(int *)(param_2 + 0x158)" * (cast_expression "(int *)(param_2 + 0x158)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x158)" ( (binary_expression "param_2 + 0x158" identifier + number_literal) )))) + number_literal) ))))) ;) (expression_statement "iVar10 = iVar19;" (assignment_expression "iVar10 = iVar19" identifier = identifier) ;) (if_statement "if (iVar3 == 0) {\nLAB_000d27f0:\n              local_88 = &local_70;\n              *(undefined *****)(puVar17 + -0x10) = &local_88;\n              *(undefined4 *)(puVar17 + -0x14) = 0xd2811;\n              FUN_000c5e40();\n              iVar11 = local_a8;\n            }\n            else {\n              do {\n                while ((iVar11 = iVar3, *(undefined ***)(iVar11 + 0x10) < param_4 ||\n                       ((param_4 == *(undefined ***)(iVar11 + 0x10) &&\n                        (*(undefined ***)(iVar11 + 0x14) < param_5))))) {\n                  piVar18 = (int *)(iVar11 + 0xc);\n                  iVar3 = *piVar18;\n                  iVar11 = iVar10;\n                  if (*piVar18 == 0) goto LAB_000d27da;\n                }\n                iVar3 = *(int *)(iVar11 + 8);\n                iVar10 = iVar11;\n              } while (*(int *)(iVar11 + 8) != 0);\nLAB_000d27da:\n              if (((iVar19 == iVar11) || (param_4 < *(undefined ***)(iVar11 + 0x10))) ||\n                 ((param_4 == *(undefined ***)(iVar11 + 0x10) &&\n                  (param_5 < *(undefined ***)(iVar11 + 0x14))))) goto LAB_000d27f0;\n            }" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (compound_statement "{\nLAB_000d27f0:\n              local_88 = &local_70;\n              *(undefined *****)(puVar17 + -0x10) = &local_88;\n              *(undefined4 *)(puVar17 + -0x14) = 0xd2811;\n              FUN_000c5e40();\n              iVar11 = local_a8;\n            }" { (labeled_statement "LAB_000d27f0:\n              local_88 = &local_70;" statement_identifier : (expression_statement "local_88 = &local_70;" (assignment_expression "local_88 = &local_70" identifier = (pointer_expression "&local_70" & identifier)) ;)) (expression_statement "*(undefined *****)(puVar17 + -0x10) = &local_88;" (assignment_expression "*(undefined *****)(puVar17 + -0x10) = &local_88" (pointer_expression "*(undefined *****)(puVar17 + -0x10)" * (cast_expression "(undefined *****)(puVar17 + -0x10)" ( (type_descriptor "undefined *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (parenthesized_expression "(puVar17 + -0x10)" ( (binary_expression "puVar17 + -0x10" identifier + number_literal) )))) = (pointer_expression "&local_88" & identifier)) ;) (expression_statement "*(undefined4 *)(puVar17 + -0x14) = 0xd2811;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0xd2811" (pointer_expression "*(undefined4 *)(puVar17 + -0x14)" * (cast_expression "(undefined4 *)(puVar17 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x14)" ( (binary_expression "puVar17 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_000c5e40();" (call_expression "FUN_000c5e40()" identifier (argument_list "()" ( ))) ;) (expression_statement "iVar11 = local_a8;" (assignment_expression "iVar11 = local_a8" identifier = identifier) ;) }) (else_clause "else {\n              do {\n                while ((iVar11 = iVar3, *(undefined ***)(iVar11 + 0x10) < param_4 ||\n                       ((param_4 == *(undefined ***)(iVar11 + 0x10) &&\n                        (*(undefined ***)(iVar11 + 0x14) < param_5))))) {\n                  piVar18 = (int *)(iVar11 + 0xc);\n                  iVar3 = *piVar18;\n                  iVar11 = iVar10;\n                  if (*piVar18 == 0) goto LAB_000d27da;\n                }\n                iVar3 = *(int *)(iVar11 + 8);\n                iVar10 = iVar11;\n              } while (*(int *)(iVar11 + 8) != 0);\nLAB_000d27da:\n              if (((iVar19 == iVar11) || (param_4 < *(undefined ***)(iVar11 + 0x10))) ||\n                 ((param_4 == *(undefined ***)(iVar11 + 0x10) &&\n                  (param_5 < *(undefined ***)(iVar11 + 0x14))))) goto LAB_000d27f0;\n            }" else (compound_statement "{\n              do {\n                while ((iVar11 = iVar3, *(undefined ***)(iVar11 + 0x10) < param_4 ||\n                       ((param_4 == *(undefined ***)(iVar11 + 0x10) &&\n                        (*(undefined ***)(iVar11 + 0x14) < param_5))))) {\n                  piVar18 = (int *)(iVar11 + 0xc);\n                  iVar3 = *piVar18;\n                  iVar11 = iVar10;\n                  if (*piVar18 == 0) goto LAB_000d27da;\n                }\n                iVar3 = *(int *)(iVar11 + 8);\n                iVar10 = iVar11;\n              } while (*(int *)(iVar11 + 8) != 0);\nLAB_000d27da:\n              if (((iVar19 == iVar11) || (param_4 < *(undefined ***)(iVar11 + 0x10))) ||\n                 ((param_4 == *(undefined ***)(iVar11 + 0x10) &&\n                  (param_5 < *(undefined ***)(iVar11 + 0x14))))) goto LAB_000d27f0;\n            }" { (do_statement "do {\n                while ((iVar11 = iVar3, *(undefined ***)(iVar11 + 0x10) < param_4 ||\n                       ((param_4 == *(undefined ***)(iVar11 + 0x10) &&\n                        (*(undefined ***)(iVar11 + 0x14) < param_5))))) {\n                  piVar18 = (int *)(iVar11 + 0xc);\n                  iVar3 = *piVar18;\n                  iVar11 = iVar10;\n                  if (*piVar18 == 0) goto LAB_000d27da;\n                }\n                iVar3 = *(int *)(iVar11 + 8);\n                iVar10 = iVar11;\n              } while (*(int *)(iVar11 + 8) != 0);" do (compound_statement "{\n                while ((iVar11 = iVar3, *(undefined ***)(iVar11 + 0x10) < param_4 ||\n                       ((param_4 == *(undefined ***)(iVar11 + 0x10) &&\n                        (*(undefined ***)(iVar11 + 0x14) < param_5))))) {\n                  piVar18 = (int *)(iVar11 + 0xc);\n                  iVar3 = *piVar18;\n                  iVar11 = iVar10;\n                  if (*piVar18 == 0) goto LAB_000d27da;\n                }\n                iVar3 = *(int *)(iVar11 + 8);\n                iVar10 = iVar11;\n              }" { (while_statement "while ((iVar11 = iVar3, *(undefined ***)(iVar11 + 0x10) < param_4 ||\n                       ((param_4 == *(undefined ***)(iVar11 + 0x10) &&\n                        (*(undefined ***)(iVar11 + 0x14) < param_5))))) {\n                  piVar18 = (int *)(iVar11 + 0xc);\n                  iVar3 = *piVar18;\n                  iVar11 = iVar10;\n                  if (*piVar18 == 0) goto LAB_000d27da;\n                }" while (parenthesized_expression "((iVar11 = iVar3, *(undefined ***)(iVar11 + 0x10) < param_4 ||\n                       ((param_4 == *(undefined ***)(iVar11 + 0x10) &&\n                        (*(undefined ***)(iVar11 + 0x14) < param_5)))))" ( (parenthesized_expression "(iVar11 = iVar3, *(undefined ***)(iVar11 + 0x10) < param_4 ||\n                       ((param_4 == *(undefined ***)(iVar11 + 0x10) &&\n                        (*(undefined ***)(iVar11 + 0x14) < param_5))))" ( (comma_expression "iVar11 = iVar3, *(undefined ***)(iVar11 + 0x10) < param_4 ||\n                       ((param_4 == *(undefined ***)(iVar11 + 0x10) &&\n                        (*(undefined ***)(iVar11 + 0x14) < param_5)))" (assignment_expression "iVar11 = iVar3" identifier = identifier) , (binary_expression "*(undefined ***)(iVar11 + 0x10) < param_4 ||\n                       ((param_4 == *(undefined ***)(iVar11 + 0x10) &&\n                        (*(undefined ***)(iVar11 + 0x14) < param_5)))" (binary_expression "*(undefined ***)(iVar11 + 0x10) < param_4" (pointer_expression "*(undefined ***)(iVar11 + 0x10)" * (cast_expression "(undefined ***)(iVar11 + 0x10)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(iVar11 + 0x10)" ( (binary_expression "iVar11 + 0x10" identifier + number_literal) )))) < identifier) || (parenthesized_expression "((param_4 == *(undefined ***)(iVar11 + 0x10) &&\n                        (*(undefined ***)(iVar11 + 0x14) < param_5)))" ( (parenthesized_expression "(param_4 == *(undefined ***)(iVar11 + 0x10) &&\n                        (*(undefined ***)(iVar11 + 0x14) < param_5))" ( (binary_expression "param_4 == *(undefined ***)(iVar11 + 0x10) &&\n                        (*(undefined ***)(iVar11 + 0x14) < param_5)" (binary_expression "param_4 == *(undefined ***)(iVar11 + 0x10)" identifier == (pointer_expression "*(undefined ***)(iVar11 + 0x10)" * (cast_expression "(undefined ***)(iVar11 + 0x10)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(iVar11 + 0x10)" ( (binary_expression "iVar11 + 0x10" identifier + number_literal) ))))) && (parenthesized_expression "(*(undefined ***)(iVar11 + 0x14) < param_5)" ( (binary_expression "*(undefined ***)(iVar11 + 0x14) < param_5" (pointer_expression "*(undefined ***)(iVar11 + 0x14)" * (cast_expression "(undefined ***)(iVar11 + 0x14)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(iVar11 + 0x14)" ( (binary_expression "iVar11 + 0x14" identifier + number_literal) )))) < identifier) ))) )) )))) )) )) (compound_statement "{\n                  piVar18 = (int *)(iVar11 + 0xc);\n                  iVar3 = *piVar18;\n                  iVar11 = iVar10;\n                  if (*piVar18 == 0) goto LAB_000d27da;\n                }" { (expression_statement "piVar18 = (int *)(iVar11 + 0xc);" (assignment_expression "piVar18 = (int *)(iVar11 + 0xc)" identifier = (cast_expression "(int *)(iVar11 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0xc)" ( (binary_expression "iVar11 + 0xc" identifier + number_literal) )))) ;) (expression_statement "iVar3 = *piVar18;" (assignment_expression "iVar3 = *piVar18" identifier = (pointer_expression "*piVar18" * identifier)) ;) (expression_statement "iVar11 = iVar10;" (assignment_expression "iVar11 = iVar10" identifier = identifier) ;) (if_statement "if (*piVar18 == 0) goto LAB_000d27da;" if (parenthesized_expression "(*piVar18 == 0)" ( (binary_expression "*piVar18 == 0" (pointer_expression "*piVar18" * identifier) == number_literal) )) (goto_statement "goto LAB_000d27da;" goto statement_identifier ;)) })) (expression_statement "iVar3 = *(int *)(iVar11 + 8);" (assignment_expression "iVar3 = *(int *)(iVar11 + 8)" identifier = (pointer_expression "*(int *)(iVar11 + 8)" * (cast_expression "(int *)(iVar11 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 8)" ( (binary_expression "iVar11 + 8" identifier + number_literal) ))))) ;) (expression_statement "iVar10 = iVar11;" (assignment_expression "iVar10 = iVar11" identifier = identifier) ;) }) while (parenthesized_expression "(*(int *)(iVar11 + 8) != 0)" ( (binary_expression "*(int *)(iVar11 + 8) != 0" (pointer_expression "*(int *)(iVar11 + 8)" * (cast_expression "(int *)(iVar11 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 8)" ( (binary_expression "iVar11 + 8" identifier + number_literal) )))) != number_literal) )) ;) (labeled_statement "LAB_000d27da:\n              if (((iVar19 == iVar11) || (param_4 < *(undefined ***)(iVar11 + 0x10))) ||\n                 ((param_4 == *(undefined ***)(iVar11 + 0x10) &&\n                  (param_5 < *(undefined ***)(iVar11 + 0x14))))) goto LAB_000d27f0;" statement_identifier : (if_statement "if (((iVar19 == iVar11) || (param_4 < *(undefined ***)(iVar11 + 0x10))) ||\n                 ((param_4 == *(undefined ***)(iVar11 + 0x10) &&\n                  (param_5 < *(undefined ***)(iVar11 + 0x14))))) goto LAB_000d27f0;" if (parenthesized_expression "(((iVar19 == iVar11) || (param_4 < *(undefined ***)(iVar11 + 0x10))) ||\n                 ((param_4 == *(undefined ***)(iVar11 + 0x10) &&\n                  (param_5 < *(undefined ***)(iVar11 + 0x14)))))" ( (binary_expression "((iVar19 == iVar11) || (param_4 < *(undefined ***)(iVar11 + 0x10))) ||\n                 ((param_4 == *(undefined ***)(iVar11 + 0x10) &&\n                  (param_5 < *(undefined ***)(iVar11 + 0x14))))" (parenthesized_expression "((iVar19 == iVar11) || (param_4 < *(undefined ***)(iVar11 + 0x10)))" ( (binary_expression "(iVar19 == iVar11) || (param_4 < *(undefined ***)(iVar11 + 0x10))" (parenthesized_expression "(iVar19 == iVar11)" ( (binary_expression "iVar19 == iVar11" identifier == identifier) )) || (parenthesized_expression "(param_4 < *(undefined ***)(iVar11 + 0x10))" ( (binary_expression "param_4 < *(undefined ***)(iVar11 + 0x10)" identifier < (pointer_expression "*(undefined ***)(iVar11 + 0x10)" * (cast_expression "(undefined ***)(iVar11 + 0x10)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(iVar11 + 0x10)" ( (binary_expression "iVar11 + 0x10" identifier + number_literal) ))))) ))) )) || (parenthesized_expression "((param_4 == *(undefined ***)(iVar11 + 0x10) &&\n                  (param_5 < *(undefined ***)(iVar11 + 0x14))))" ( (parenthesized_expression "(param_4 == *(undefined ***)(iVar11 + 0x10) &&\n                  (param_5 < *(undefined ***)(iVar11 + 0x14)))" ( (binary_expression "param_4 == *(undefined ***)(iVar11 + 0x10) &&\n                  (param_5 < *(undefined ***)(iVar11 + 0x14))" (binary_expression "param_4 == *(undefined ***)(iVar11 + 0x10)" identifier == (pointer_expression "*(undefined ***)(iVar11 + 0x10)" * (cast_expression "(undefined ***)(iVar11 + 0x10)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(iVar11 + 0x10)" ( (binary_expression "iVar11 + 0x10" identifier + number_literal) ))))) && (parenthesized_expression "(param_5 < *(undefined ***)(iVar11 + 0x14))" ( (binary_expression "param_5 < *(undefined ***)(iVar11 + 0x14)" identifier < (pointer_expression "*(undefined ***)(iVar11 + 0x14)" * (cast_expression "(undefined ***)(iVar11 + 0x14)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(iVar11 + 0x14)" ( (binary_expression "iVar11 + 0x14" identifier + number_literal) ))))) ))) )) ))) )) (goto_statement "goto LAB_000d27f0;" goto statement_identifier ;))) }))) (expression_statement "local_8c = iVar11 + 0x18;" (assignment_expression "local_8c = iVar11 + 0x18" identifier = (binary_expression "iVar11 + 0x18" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar17 + -0xc) = 1;" (assignment_expression "*(undefined4 *)(puVar17 + -0xc) = 1" (pointer_expression "*(undefined4 *)(puVar17 + -0xc)" * (cast_expression "(undefined4 *)(puVar17 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0xc)" ( (binary_expression "puVar17 + -0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar17 + -0x10) = 0;" (assignment_expression "*(undefined4 *)(puVar17 + -0x10) = 0" (pointer_expression "*(undefined4 *)(puVar17 + -0x10)" * (cast_expression "(undefined4 *)(puVar17 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x10)" ( (binary_expression "puVar17 + -0x10" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(int **)(puVar17 + -0x14) = local_f4;" (assignment_expression "*(int **)(puVar17 + -0x14) = local_f4" (pointer_expression "*(int **)(puVar17 + -0x14)" * (cast_expression "(int **)(puVar17 + -0x14)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar17 + -0x14)" ( (binary_expression "puVar17 + -0x14" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined ****)(puVar17 + -0x18) = &local_68;" (assignment_expression "*(undefined ****)(puVar17 + -0x18) = &local_68" (pointer_expression "*(undefined ****)(puVar17 + -0x18)" * (cast_expression "(undefined ****)(puVar17 + -0x18)" ( (type_descriptor "undefined ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) (parenthesized_expression "(puVar17 + -0x18)" ( (binary_expression "puVar17 + -0x18" identifier + number_literal) )))) = (pointer_expression "&local_68" & identifier)) ;) (expression_statement "*(int *)(puVar17 + -0x1c) = local_8c;" (assignment_expression "*(int *)(puVar17 + -0x1c) = local_8c" (pointer_expression "*(int *)(puVar17 + -0x1c)" * (cast_expression "(int *)(puVar17 + -0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x1c)" ( (binary_expression "puVar17 + -0x1c" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined1 **)(puVar17 + -0x20) = local_e0;" (assignment_expression "*(undefined1 **)(puVar17 + -0x20) = local_e0" (pointer_expression "*(undefined1 **)(puVar17 + -0x20)" * (cast_expression "(undefined1 **)(puVar17 + -0x20)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar17 + -0x20)" ( (binary_expression "puVar17 + -0x20" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar17 + -0x24) = 0xd2840;" (assignment_expression "*(undefined4 *)(puVar17 + -0x24) = 0xd2840" (pointer_expression "*(undefined4 *)(puVar17 + -0x24)" * (cast_expression "(undefined4 *)(puVar17 + -0x24)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x24)" ( (binary_expression "puVar17 + -0x24" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_00074340();" (call_expression "FUN_00074340()" identifier (argument_list "()" ( ))) ;) (expression_statement "piVar18 = *(int **)(*local_dc + 0xc);" (assignment_expression "piVar18 = *(int **)(*local_dc + 0xc)" identifier = (pointer_expression "*(int **)(*local_dc + 0xc)" * (cast_expression "(int **)(*local_dc + 0xc)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*local_dc + 0xc)" ( (binary_expression "*local_dc + 0xc" (pointer_expression "*local_dc" * identifier) + number_literal) ))))) ;) (if_statement "if (piVar18 == (int *)0x0) {\n              *(undefined ***)(puVar17 + -0xc) = local_b8 + -0x615c4;\n              *(undefined4 *)(puVar17 + -0x10) = 0x73;\n              *(int *)(puVar17 + -0x14) = (int)local_b8 + -0x1a1d93;\n                    \n              *(undefined4 *)(puVar17 + -0x18) = 0xd2fad;\n              FUN_002446e0();\n            }" if (parenthesized_expression "(piVar18 == (int *)0x0)" ( (binary_expression "piVar18 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n              *(undefined ***)(puVar17 + -0xc) = local_b8 + -0x615c4;\n              *(undefined4 *)(puVar17 + -0x10) = 0x73;\n              *(int *)(puVar17 + -0x14) = (int)local_b8 + -0x1a1d93;\n                    \n              *(undefined4 *)(puVar17 + -0x18) = 0xd2fad;\n              FUN_002446e0();\n            }" { (expression_statement "*(undefined ***)(puVar17 + -0xc) = local_b8 + -0x615c4;" (assignment_expression "*(undefined ***)(puVar17 + -0xc) = local_b8 + -0x615c4" (pointer_expression "*(undefined ***)(puVar17 + -0xc)" * (cast_expression "(undefined ***)(puVar17 + -0xc)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar17 + -0xc)" ( (binary_expression "puVar17 + -0xc" identifier + number_literal) )))) = (binary_expression "local_b8 + -0x615c4" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar17 + -0x10) = 0x73;" (assignment_expression "*(undefined4 *)(puVar17 + -0x10) = 0x73" (pointer_expression "*(undefined4 *)(puVar17 + -0x10)" * (cast_expression "(undefined4 *)(puVar17 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x10)" ( (binary_expression "puVar17 + -0x10" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)(puVar17 + -0x14) = (int)local_b8 + -0x1a1d93;" (assignment_expression "*(int *)(puVar17 + -0x14) = (int)local_b8 + -0x1a1d93" (pointer_expression "*(int *)(puVar17 + -0x14)" * (cast_expression "(int *)(puVar17 + -0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x14)" ( (binary_expression "puVar17 + -0x14" identifier + number_literal) )))) = (binary_expression "(int)local_b8 + -0x1a1d93" (cast_expression "(int)local_b8" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar17 + -0x18) = 0xd2fad;" (assignment_expression "*(undefined4 *)(puVar17 + -0x18) = 0xd2fad" (pointer_expression "*(undefined4 *)(puVar17 + -0x18)" * (cast_expression "(undefined4 *)(puVar17 + -0x18)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x18)" ( (binary_expression "puVar17 + -0x18" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_002446e0();" (call_expression "FUN_002446e0()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "iVar19 = *piVar18;" (assignment_expression "iVar19 = *piVar18" identifier = (pointer_expression "*piVar18" * identifier)) ;) (expression_statement "*(undefined **)(puVar17 + -0xc) = local_c4;" (assignment_expression "*(undefined **)(puVar17 + -0xc) = local_c4" (pointer_expression "*(undefined **)(puVar17 + -0xc)" * (cast_expression "(undefined **)(puVar17 + -0xc)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar17 + -0xc)" ( (binary_expression "puVar17 + -0xc" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined ***)(puVar17 + -0x10) = local_b4;" (assignment_expression "*(undefined ***)(puVar17 + -0x10) = local_b4" (pointer_expression "*(undefined ***)(puVar17 + -0x10)" * (cast_expression "(undefined ***)(puVar17 + -0x10)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar17 + -0x10)" ( (binary_expression "puVar17 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined ***)(puVar17 + -0x14) = local_c0;" (assignment_expression "*(undefined ***)(puVar17 + -0x14) = local_c0" (pointer_expression "*(undefined ***)(puVar17 + -0x14)" * (cast_expression "(undefined ***)(puVar17 + -0x14)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar17 + -0x14)" ( (binary_expression "puVar17 + -0x14" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined ***)(puVar17 + -0x18) = param_5;" (assignment_expression "*(undefined ***)(puVar17 + -0x18) = param_5" (pointer_expression "*(undefined ***)(puVar17 + -0x18)" * (cast_expression "(undefined ***)(puVar17 + -0x18)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar17 + -0x18)" ( (binary_expression "puVar17 + -0x18" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined ***)(puVar17 + -0x1c) = param_4;" (assignment_expression "*(undefined ***)(puVar17 + -0x1c) = param_4" (pointer_expression "*(undefined ***)(puVar17 + -0x1c)" * (cast_expression "(undefined ***)(puVar17 + -0x1c)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar17 + -0x1c)" ( (binary_expression "puVar17 + -0x1c" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int *)(puVar17 + -0x20) = param_2;" (assignment_expression "*(int *)(puVar17 + -0x20) = param_2" (pointer_expression "*(int *)(puVar17 + -0x20)" * (cast_expression "(int *)(puVar17 + -0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x20)" ( (binary_expression "puVar17 + -0x20" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int **)(puVar17 + -0x24) = piVar18;" (assignment_expression "*(int **)(puVar17 + -0x24) = piVar18" (pointer_expression "*(int **)(puVar17 + -0x24)" * (cast_expression "(int **)(puVar17 + -0x24)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar17 + -0x24)" ( (binary_expression "puVar17 + -0x24" identifier + number_literal) )))) = identifier) ;) (expression_statement "pcVar4 = *(code **)(iVar19 + 0x104);" (assignment_expression "pcVar4 = *(code **)(iVar19 + 0x104)" identifier = (pointer_expression "*(code **)(iVar19 + 0x104)" * (cast_expression "(code **)(iVar19 + 0x104)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar19 + 0x104)" ( (binary_expression "iVar19 + 0x104" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar17 + -0x28) = 0xd287d;" (assignment_expression "*(undefined4 *)(puVar17 + -0x28) = 0xd287d" (pointer_expression "*(undefined4 *)(puVar17 + -0x28)" * (cast_expression "(undefined4 *)(puVar17 + -0x28)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x28)" ( (binary_expression "puVar17 + -0x28" identifier + number_literal) )))) = number_literal) ;) (expression_statement "(*pcVar4)();" (call_expression "(*pcVar4)()" (parenthesized_expression "(*pcVar4)" ( (pointer_expression "*pcVar4" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "pbVar20 = local_d8;" (assignment_expression "pbVar20 = local_d8" identifier = identifier) ;) (expression_statement "piVar18 = (int *)(puVar17 + -4);" (assignment_expression "piVar18 = (int *)(puVar17 + -4)" identifier = (cast_expression "(int *)(puVar17 + -4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -4)" ( (binary_expression "puVar17 + -4" identifier + number_literal) )))) ;) (if_statement "if (local_d8 != (byte *)0x0) {\n              local_b4 = &local_2c;\n              local_b0 = &local_34;\n              iVar19 = *(int *)(param_2 + 0x158);\n              *(byte **)(puVar17 + -0x14) = local_d8;\n              local_34 = local_b4;\n              *(undefined4 *)(puVar17 + -0x18) = 0xd28bd;\n              sVar6 = strlen(*(char **)(puVar17 + -0x14));\n              pppuVar5 = local_b0;\n              *(undefined4 *)(puVar17 + -8) = 0;\n              *(byte **)(puVar17 + -0xc) = pbVar20 + sVar6;\n              *(byte **)(puVar17 + -0x10) = pbVar20;\n              *(undefined ****)(puVar17 + -0x14) = local_b0;\n              *(undefined4 *)(puVar17 + -0x18) = 0xd28d2;\n              FUN_00072b90();\n              *(undefined ****)(puVar17 + -0xc) = pppuVar5;\n              *(int *)(puVar17 + -0x10) = iVar19 + 0x44;\n              *(int **)(puVar17 + -0x14) = &local_ac;\n              *(undefined4 *)(puVar17 + -0x18) = 0xd28e6;\n              FUN_00094bd0();\n              iVar19 = local_ac;\n              if (local_34 != local_b4) {\n                *(undefined ***)(puVar17 + -0x18) = local_34;\n                *(undefined4 *)(puVar17 + -0x1c) = 0xd2909;\n                FUN_003ae080();\n              }\n              piVar18 = (int *)(puVar17 + -8);\n              iVar3 = *(int *)(param_2 + 0x158);\n              if (iVar19 != iVar3 + 0x48) {\n                local_34 = param_4;\n                local_30 = param_5;\n                iVar10 = *(int *)(iVar3 + 0x18);\n                iVar11 = iVar3 + 0x14;\n                if (*(int *)(iVar3 + 0x18) == 0) {\nLAB_000d2bd8:\n                  *(undefined *****)(puVar17 + -0x18) = &local_84;\n                  local_84 = local_b0;\n                  *(undefined4 *)(puVar17 + -0x1c) = 0xd2bf6;\n                  FUN_000c5e40();\n                  iVar12 = local_a8;\n                }\n                else {\n                  do {\n                    while ((iVar12 = iVar10, *(undefined ***)(iVar12 + 0x10) < param_4 ||\n                           ((param_4 == *(undefined ***)(iVar12 + 0x10) &&\n                            (*(undefined ***)(iVar12 + 0x14) < param_5))))) {\n                      piVar18 = (int *)(iVar12 + 0xc);\n                      iVar10 = *piVar18;\n                      iVar12 = iVar11;\n                      if (*piVar18 == 0) goto LAB_000d2962;\n                    }\n                    iVar10 = *(int *)(iVar12 + 8);\n                    iVar11 = iVar12;\n                  } while (*(int *)(iVar12 + 8) != 0);\nLAB_000d2962:\n                  if (((iVar12 == iVar3 + 0x14) || (param_4 < *(undefined ***)(iVar12 + 0x10))) ||\n                     ((param_4 == *(undefined ***)(iVar12 + 0x10) &&\n                      (param_5 < *(undefined ***)(iVar12 + 0x14))))) goto LAB_000d2bd8;\n                }\n                piVar18 = (int *)(puVar17 + -8);\n                puVar17 = puVar17 + -8;\n                for (puVar1 = *(undefined4 **)(iVar19 + 0x30); puVar1 != (undefined4 *)0x0;\n                    puVar1 = (undefined4 *)*puVar1) {\n                  *(undefined4 *)(puVar17 + -0xc) = 1;\n                  *(undefined4 *)(puVar17 + -0x10) = 0;\n                  *(int **)(puVar17 + -0x14) = &local_90;\n                  *(undefined4 **)(puVar17 + -0x18) = puVar1 + 1;\n                  *(int *)(puVar17 + -0x1c) = iVar12 + 0x18;\n                  *(undefined1 **)(puVar17 + -0x20) = local_e0;\n                  *(undefined4 *)(puVar17 + -0x24) = 0xd29ae;\n                  local_90 = iVar12 + 0x18;\n                  FUN_00074340();\n                  piVar18 = (int *)(puVar17 + -4);\n                  puVar17 = puVar17 + -4;\n                }\n              }\n            }" if (parenthesized_expression "(local_d8 != (byte *)0x0)" ( (binary_expression "local_d8 != (byte *)0x0" identifier != (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n              local_b4 = &local_2c;\n              local_b0 = &local_34;\n              iVar19 = *(int *)(param_2 + 0x158);\n              *(byte **)(puVar17 + -0x14) = local_d8;\n              local_34 = local_b4;\n              *(undefined4 *)(puVar17 + -0x18) = 0xd28bd;\n              sVar6 = strlen(*(char **)(puVar17 + -0x14));\n              pppuVar5 = local_b0;\n              *(undefined4 *)(puVar17 + -8) = 0;\n              *(byte **)(puVar17 + -0xc) = pbVar20 + sVar6;\n              *(byte **)(puVar17 + -0x10) = pbVar20;\n              *(undefined ****)(puVar17 + -0x14) = local_b0;\n              *(undefined4 *)(puVar17 + -0x18) = 0xd28d2;\n              FUN_00072b90();\n              *(undefined ****)(puVar17 + -0xc) = pppuVar5;\n              *(int *)(puVar17 + -0x10) = iVar19 + 0x44;\n              *(int **)(puVar17 + -0x14) = &local_ac;\n              *(undefined4 *)(puVar17 + -0x18) = 0xd28e6;\n              FUN_00094bd0();\n              iVar19 = local_ac;\n              if (local_34 != local_b4) {\n                *(undefined ***)(puVar17 + -0x18) = local_34;\n                *(undefined4 *)(puVar17 + -0x1c) = 0xd2909;\n                FUN_003ae080();\n              }\n              piVar18 = (int *)(puVar17 + -8);\n              iVar3 = *(int *)(param_2 + 0x158);\n              if (iVar19 != iVar3 + 0x48) {\n                local_34 = param_4;\n                local_30 = param_5;\n                iVar10 = *(int *)(iVar3 + 0x18);\n                iVar11 = iVar3 + 0x14;\n                if (*(int *)(iVar3 + 0x18) == 0) {\nLAB_000d2bd8:\n                  *(undefined *****)(puVar17 + -0x18) = &local_84;\n                  local_84 = local_b0;\n                  *(undefined4 *)(puVar17 + -0x1c) = 0xd2bf6;\n                  FUN_000c5e40();\n                  iVar12 = local_a8;\n                }\n                else {\n                  do {\n                    while ((iVar12 = iVar10, *(undefined ***)(iVar12 + 0x10) < param_4 ||\n                           ((param_4 == *(undefined ***)(iVar12 + 0x10) &&\n                            (*(undefined ***)(iVar12 + 0x14) < param_5))))) {\n                      piVar18 = (int *)(iVar12 + 0xc);\n                      iVar10 = *piVar18;\n                      iVar12 = iVar11;\n                      if (*piVar18 == 0) goto LAB_000d2962;\n                    }\n                    iVar10 = *(int *)(iVar12 + 8);\n                    iVar11 = iVar12;\n                  } while (*(int *)(iVar12 + 8) != 0);\nLAB_000d2962:\n                  if (((iVar12 == iVar3 + 0x14) || (param_4 < *(undefined ***)(iVar12 + 0x10))) ||\n                     ((param_4 == *(undefined ***)(iVar12 + 0x10) &&\n                      (param_5 < *(undefined ***)(iVar12 + 0x14))))) goto LAB_000d2bd8;\n                }\n                piVar18 = (int *)(puVar17 + -8);\n                puVar17 = puVar17 + -8;\n                for (puVar1 = *(undefined4 **)(iVar19 + 0x30); puVar1 != (undefined4 *)0x0;\n                    puVar1 = (undefined4 *)*puVar1) {\n                  *(undefined4 *)(puVar17 + -0xc) = 1;\n                  *(undefined4 *)(puVar17 + -0x10) = 0;\n                  *(int **)(puVar17 + -0x14) = &local_90;\n                  *(undefined4 **)(puVar17 + -0x18) = puVar1 + 1;\n                  *(int *)(puVar17 + -0x1c) = iVar12 + 0x18;\n                  *(undefined1 **)(puVar17 + -0x20) = local_e0;\n                  *(undefined4 *)(puVar17 + -0x24) = 0xd29ae;\n                  local_90 = iVar12 + 0x18;\n                  FUN_00074340();\n                  piVar18 = (int *)(puVar17 + -4);\n                  puVar17 = puVar17 + -4;\n                }\n              }\n            }" { (expression_statement "local_b4 = &local_2c;" (assignment_expression "local_b4 = &local_2c" identifier = (pointer_expression "&local_2c" & identifier)) ;) (expression_statement "local_b0 = &local_34;" (assignment_expression "local_b0 = &local_34" identifier = (pointer_expression "&local_34" & identifier)) ;) (expression_statement "iVar19 = *(int *)(param_2 + 0x158);" (assignment_expression "iVar19 = *(int *)(param_2 + 0x158)" identifier = (pointer_expression "*(int *)(param_2 + 0x158)" * (cast_expression "(int *)(param_2 + 0x158)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x158)" ( (binary_expression "param_2 + 0x158" identifier + number_literal) ))))) ;) (expression_statement "*(byte **)(puVar17 + -0x14) = local_d8;" (assignment_expression "*(byte **)(puVar17 + -0x14) = local_d8" (pointer_expression "*(byte **)(puVar17 + -0x14)" * (cast_expression "(byte **)(puVar17 + -0x14)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar17 + -0x14)" ( (binary_expression "puVar17 + -0x14" identifier + number_literal) )))) = identifier) ;) (expression_statement "local_34 = local_b4;" (assignment_expression "local_34 = local_b4" identifier = identifier) ;) (expression_statement "*(undefined4 *)(puVar17 + -0x18) = 0xd28bd;" (assignment_expression "*(undefined4 *)(puVar17 + -0x18) = 0xd28bd" (pointer_expression "*(undefined4 *)(puVar17 + -0x18)" * (cast_expression "(undefined4 *)(puVar17 + -0x18)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x18)" ( (binary_expression "puVar17 + -0x18" identifier + number_literal) )))) = number_literal) ;) (expression_statement "sVar6 = strlen(*(char **)(puVar17 + -0x14));" (assignment_expression "sVar6 = strlen(*(char **)(puVar17 + -0x14))" identifier = (call_expression "strlen(*(char **)(puVar17 + -0x14))" identifier (argument_list "(*(char **)(puVar17 + -0x14))" ( (pointer_expression "*(char **)(puVar17 + -0x14)" * (cast_expression "(char **)(puVar17 + -0x14)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar17 + -0x14)" ( (binary_expression "puVar17 + -0x14" identifier + number_literal) )))) )))) ;) (expression_statement "pppuVar5 = local_b0;" (assignment_expression "pppuVar5 = local_b0" identifier = identifier) ;) (expression_statement "*(undefined4 *)(puVar17 + -8) = 0;" (assignment_expression "*(undefined4 *)(puVar17 + -8) = 0" (pointer_expression "*(undefined4 *)(puVar17 + -8)" * (cast_expression "(undefined4 *)(puVar17 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -8)" ( (binary_expression "puVar17 + -8" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(byte **)(puVar17 + -0xc) = pbVar20 + sVar6;" (assignment_expression "*(byte **)(puVar17 + -0xc) = pbVar20 + sVar6" (pointer_expression "*(byte **)(puVar17 + -0xc)" * (cast_expression "(byte **)(puVar17 + -0xc)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar17 + -0xc)" ( (binary_expression "puVar17 + -0xc" identifier + number_literal) )))) = (binary_expression "pbVar20 + sVar6" identifier + identifier)) ;) (expression_statement "*(byte **)(puVar17 + -0x10) = pbVar20;" (assignment_expression "*(byte **)(puVar17 + -0x10) = pbVar20" (pointer_expression "*(byte **)(puVar17 + -0x10)" * (cast_expression "(byte **)(puVar17 + -0x10)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar17 + -0x10)" ( (binary_expression "puVar17 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined ****)(puVar17 + -0x14) = local_b0;" (assignment_expression "*(undefined ****)(puVar17 + -0x14) = local_b0" (pointer_expression "*(undefined ****)(puVar17 + -0x14)" * (cast_expression "(undefined ****)(puVar17 + -0x14)" ( (type_descriptor "undefined ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) (parenthesized_expression "(puVar17 + -0x14)" ( (binary_expression "puVar17 + -0x14" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar17 + -0x18) = 0xd28d2;" (assignment_expression "*(undefined4 *)(puVar17 + -0x18) = 0xd28d2" (pointer_expression "*(undefined4 *)(puVar17 + -0x18)" * (cast_expression "(undefined4 *)(puVar17 + -0x18)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x18)" ( (binary_expression "puVar17 + -0x18" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_00072b90();" (call_expression "FUN_00072b90()" identifier (argument_list "()" ( ))) ;) (expression_statement "*(undefined ****)(puVar17 + -0xc) = pppuVar5;" (assignment_expression "*(undefined ****)(puVar17 + -0xc) = pppuVar5" (pointer_expression "*(undefined ****)(puVar17 + -0xc)" * (cast_expression "(undefined ****)(puVar17 + -0xc)" ( (type_descriptor "undefined ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) (parenthesized_expression "(puVar17 + -0xc)" ( (binary_expression "puVar17 + -0xc" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int *)(puVar17 + -0x10) = iVar19 + 0x44;" (assignment_expression "*(int *)(puVar17 + -0x10) = iVar19 + 0x44" (pointer_expression "*(int *)(puVar17 + -0x10)" * (cast_expression "(int *)(puVar17 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x10)" ( (binary_expression "puVar17 + -0x10" identifier + number_literal) )))) = (binary_expression "iVar19 + 0x44" identifier + number_literal)) ;) (expression_statement "*(int **)(puVar17 + -0x14) = &local_ac;" (assignment_expression "*(int **)(puVar17 + -0x14) = &local_ac" (pointer_expression "*(int **)(puVar17 + -0x14)" * (cast_expression "(int **)(puVar17 + -0x14)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar17 + -0x14)" ( (binary_expression "puVar17 + -0x14" identifier + number_literal) )))) = (pointer_expression "&local_ac" & identifier)) ;) (expression_statement "*(undefined4 *)(puVar17 + -0x18) = 0xd28e6;" (assignment_expression "*(undefined4 *)(puVar17 + -0x18) = 0xd28e6" (pointer_expression "*(undefined4 *)(puVar17 + -0x18)" * (cast_expression "(undefined4 *)(puVar17 + -0x18)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x18)" ( (binary_expression "puVar17 + -0x18" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_00094bd0();" (call_expression "FUN_00094bd0()" identifier (argument_list "()" ( ))) ;) (expression_statement "iVar19 = local_ac;" (assignment_expression "iVar19 = local_ac" identifier = identifier) ;) (if_statement "if (local_34 != local_b4) {\n                *(undefined ***)(puVar17 + -0x18) = local_34;\n                *(undefined4 *)(puVar17 + -0x1c) = 0xd2909;\n                FUN_003ae080();\n              }" if (parenthesized_expression "(local_34 != local_b4)" ( (binary_expression "local_34 != local_b4" identifier != identifier) )) (compound_statement "{\n                *(undefined ***)(puVar17 + -0x18) = local_34;\n                *(undefined4 *)(puVar17 + -0x1c) = 0xd2909;\n                FUN_003ae080();\n              }" { (expression_statement "*(undefined ***)(puVar17 + -0x18) = local_34;" (assignment_expression "*(undefined ***)(puVar17 + -0x18) = local_34" (pointer_expression "*(undefined ***)(puVar17 + -0x18)" * (cast_expression "(undefined ***)(puVar17 + -0x18)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar17 + -0x18)" ( (binary_expression "puVar17 + -0x18" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar17 + -0x1c) = 0xd2909;" (assignment_expression "*(undefined4 *)(puVar17 + -0x1c) = 0xd2909" (pointer_expression "*(undefined4 *)(puVar17 + -0x1c)" * (cast_expression "(undefined4 *)(puVar17 + -0x1c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x1c)" ( (binary_expression "puVar17 + -0x1c" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_003ae080();" (call_expression "FUN_003ae080()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "piVar18 = (int *)(puVar17 + -8);" (assignment_expression "piVar18 = (int *)(puVar17 + -8)" identifier = (cast_expression "(int *)(puVar17 + -8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -8)" ( (binary_expression "puVar17 + -8" identifier + number_literal) )))) ;) (expression_statement "iVar3 = *(int *)(param_2 + 0x158);" (assignment_expression "iVar3 = *(int *)(param_2 + 0x158)" identifier = (pointer_expression "*(int *)(param_2 + 0x158)" * (cast_expression "(int *)(param_2 + 0x158)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x158)" ( (binary_expression "param_2 + 0x158" identifier + number_literal) ))))) ;) (if_statement "if (iVar19 != iVar3 + 0x48) {\n                local_34 = param_4;\n                local_30 = param_5;\n                iVar10 = *(int *)(iVar3 + 0x18);\n                iVar11 = iVar3 + 0x14;\n                if (*(int *)(iVar3 + 0x18) == 0) {\nLAB_000d2bd8:\n                  *(undefined *****)(puVar17 + -0x18) = &local_84;\n                  local_84 = local_b0;\n                  *(undefined4 *)(puVar17 + -0x1c) = 0xd2bf6;\n                  FUN_000c5e40();\n                  iVar12 = local_a8;\n                }\n                else {\n                  do {\n                    while ((iVar12 = iVar10, *(undefined ***)(iVar12 + 0x10) < param_4 ||\n                           ((param_4 == *(undefined ***)(iVar12 + 0x10) &&\n                            (*(undefined ***)(iVar12 + 0x14) < param_5))))) {\n                      piVar18 = (int *)(iVar12 + 0xc);\n                      iVar10 = *piVar18;\n                      iVar12 = iVar11;\n                      if (*piVar18 == 0) goto LAB_000d2962;\n                    }\n                    iVar10 = *(int *)(iVar12 + 8);\n                    iVar11 = iVar12;\n                  } while (*(int *)(iVar12 + 8) != 0);\nLAB_000d2962:\n                  if (((iVar12 == iVar3 + 0x14) || (param_4 < *(undefined ***)(iVar12 + 0x10))) ||\n                     ((param_4 == *(undefined ***)(iVar12 + 0x10) &&\n                      (param_5 < *(undefined ***)(iVar12 + 0x14))))) goto LAB_000d2bd8;\n                }\n                piVar18 = (int *)(puVar17 + -8);\n                puVar17 = puVar17 + -8;\n                for (puVar1 = *(undefined4 **)(iVar19 + 0x30); puVar1 != (undefined4 *)0x0;\n                    puVar1 = (undefined4 *)*puVar1) {\n                  *(undefined4 *)(puVar17 + -0xc) = 1;\n                  *(undefined4 *)(puVar17 + -0x10) = 0;\n                  *(int **)(puVar17 + -0x14) = &local_90;\n                  *(undefined4 **)(puVar17 + -0x18) = puVar1 + 1;\n                  *(int *)(puVar17 + -0x1c) = iVar12 + 0x18;\n                  *(undefined1 **)(puVar17 + -0x20) = local_e0;\n                  *(undefined4 *)(puVar17 + -0x24) = 0xd29ae;\n                  local_90 = iVar12 + 0x18;\n                  FUN_00074340();\n                  piVar18 = (int *)(puVar17 + -4);\n                  puVar17 = puVar17 + -4;\n                }\n              }" if (parenthesized_expression "(iVar19 != iVar3 + 0x48)" ( (binary_expression "iVar19 != iVar3 + 0x48" identifier != (binary_expression "iVar3 + 0x48" identifier + number_literal)) )) (compound_statement "{\n                local_34 = param_4;\n                local_30 = param_5;\n                iVar10 = *(int *)(iVar3 + 0x18);\n                iVar11 = iVar3 + 0x14;\n                if (*(int *)(iVar3 + 0x18) == 0) {\nLAB_000d2bd8:\n                  *(undefined *****)(puVar17 + -0x18) = &local_84;\n                  local_84 = local_b0;\n                  *(undefined4 *)(puVar17 + -0x1c) = 0xd2bf6;\n                  FUN_000c5e40();\n                  iVar12 = local_a8;\n                }\n                else {\n                  do {\n                    while ((iVar12 = iVar10, *(undefined ***)(iVar12 + 0x10) < param_4 ||\n                           ((param_4 == *(undefined ***)(iVar12 + 0x10) &&\n                            (*(undefined ***)(iVar12 + 0x14) < param_5))))) {\n                      piVar18 = (int *)(iVar12 + 0xc);\n                      iVar10 = *piVar18;\n                      iVar12 = iVar11;\n                      if (*piVar18 == 0) goto LAB_000d2962;\n                    }\n                    iVar10 = *(int *)(iVar12 + 8);\n                    iVar11 = iVar12;\n                  } while (*(int *)(iVar12 + 8) != 0);\nLAB_000d2962:\n                  if (((iVar12 == iVar3 + 0x14) || (param_4 < *(undefined ***)(iVar12 + 0x10))) ||\n                     ((param_4 == *(undefined ***)(iVar12 + 0x10) &&\n                      (param_5 < *(undefined ***)(iVar12 + 0x14))))) goto LAB_000d2bd8;\n                }\n                piVar18 = (int *)(puVar17 + -8);\n                puVar17 = puVar17 + -8;\n                for (puVar1 = *(undefined4 **)(iVar19 + 0x30); puVar1 != (undefined4 *)0x0;\n                    puVar1 = (undefined4 *)*puVar1) {\n                  *(undefined4 *)(puVar17 + -0xc) = 1;\n                  *(undefined4 *)(puVar17 + -0x10) = 0;\n                  *(int **)(puVar17 + -0x14) = &local_90;\n                  *(undefined4 **)(puVar17 + -0x18) = puVar1 + 1;\n                  *(int *)(puVar17 + -0x1c) = iVar12 + 0x18;\n                  *(undefined1 **)(puVar17 + -0x20) = local_e0;\n                  *(undefined4 *)(puVar17 + -0x24) = 0xd29ae;\n                  local_90 = iVar12 + 0x18;\n                  FUN_00074340();\n                  piVar18 = (int *)(puVar17 + -4);\n                  puVar17 = puVar17 + -4;\n                }\n              }" { (expression_statement "local_34 = param_4;" (assignment_expression "local_34 = param_4" identifier = identifier) ;) (expression_statement "local_30 = param_5;" (assignment_expression "local_30 = param_5" identifier = identifier) ;) (expression_statement "iVar10 = *(int *)(iVar3 + 0x18);" (assignment_expression "iVar10 = *(int *)(iVar3 + 0x18)" identifier = (pointer_expression "*(int *)(iVar3 + 0x18)" * (cast_expression "(int *)(iVar3 + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar3 + 0x18)" ( (binary_expression "iVar3 + 0x18" identifier + number_literal) ))))) ;) (expression_statement "iVar11 = iVar3 + 0x14;" (assignment_expression "iVar11 = iVar3 + 0x14" identifier = (binary_expression "iVar3 + 0x14" identifier + number_literal)) ;) (if_statement "if (*(int *)(iVar3 + 0x18) == 0) {\nLAB_000d2bd8:\n                  *(undefined *****)(puVar17 + -0x18) = &local_84;\n                  local_84 = local_b0;\n                  *(undefined4 *)(puVar17 + -0x1c) = 0xd2bf6;\n                  FUN_000c5e40();\n                  iVar12 = local_a8;\n                }\n                else {\n                  do {\n                    while ((iVar12 = iVar10, *(undefined ***)(iVar12 + 0x10) < param_4 ||\n                           ((param_4 == *(undefined ***)(iVar12 + 0x10) &&\n                            (*(undefined ***)(iVar12 + 0x14) < param_5))))) {\n                      piVar18 = (int *)(iVar12 + 0xc);\n                      iVar10 = *piVar18;\n                      iVar12 = iVar11;\n                      if (*piVar18 == 0) goto LAB_000d2962;\n                    }\n                    iVar10 = *(int *)(iVar12 + 8);\n                    iVar11 = iVar12;\n                  } while (*(int *)(iVar12 + 8) != 0);\nLAB_000d2962:\n                  if (((iVar12 == iVar3 + 0x14) || (param_4 < *(undefined ***)(iVar12 + 0x10))) ||\n                     ((param_4 == *(undefined ***)(iVar12 + 0x10) &&\n                      (param_5 < *(undefined ***)(iVar12 + 0x14))))) goto LAB_000d2bd8;\n                }" if (parenthesized_expression "(*(int *)(iVar3 + 0x18) == 0)" ( (binary_expression "*(int *)(iVar3 + 0x18) == 0" (pointer_expression "*(int *)(iVar3 + 0x18)" * (cast_expression "(int *)(iVar3 + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar3 + 0x18)" ( (binary_expression "iVar3 + 0x18" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\nLAB_000d2bd8:\n                  *(undefined *****)(puVar17 + -0x18) = &local_84;\n                  local_84 = local_b0;\n                  *(undefined4 *)(puVar17 + -0x1c) = 0xd2bf6;\n                  FUN_000c5e40();\n                  iVar12 = local_a8;\n                }" { (labeled_statement "LAB_000d2bd8:\n                  *(undefined *****)(puVar17 + -0x18) = &local_84;" statement_identifier : (expression_statement "*(undefined *****)(puVar17 + -0x18) = &local_84;" (assignment_expression "*(undefined *****)(puVar17 + -0x18) = &local_84" (pointer_expression "*(undefined *****)(puVar17 + -0x18)" * (cast_expression "(undefined *****)(puVar17 + -0x18)" ( (type_descriptor "undefined *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (parenthesized_expression "(puVar17 + -0x18)" ( (binary_expression "puVar17 + -0x18" identifier + number_literal) )))) = (pointer_expression "&local_84" & identifier)) ;)) (expression_statement "local_84 = local_b0;" (assignment_expression "local_84 = local_b0" identifier = identifier) ;) (expression_statement "*(undefined4 *)(puVar17 + -0x1c) = 0xd2bf6;" (assignment_expression "*(undefined4 *)(puVar17 + -0x1c) = 0xd2bf6" (pointer_expression "*(undefined4 *)(puVar17 + -0x1c)" * (cast_expression "(undefined4 *)(puVar17 + -0x1c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x1c)" ( (binary_expression "puVar17 + -0x1c" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_000c5e40();" (call_expression "FUN_000c5e40()" identifier (argument_list "()" ( ))) ;) (expression_statement "iVar12 = local_a8;" (assignment_expression "iVar12 = local_a8" identifier = identifier) ;) }) (else_clause "else {\n                  do {\n                    while ((iVar12 = iVar10, *(undefined ***)(iVar12 + 0x10) < param_4 ||\n                           ((param_4 == *(undefined ***)(iVar12 + 0x10) &&\n                            (*(undefined ***)(iVar12 + 0x14) < param_5))))) {\n                      piVar18 = (int *)(iVar12 + 0xc);\n                      iVar10 = *piVar18;\n                      iVar12 = iVar11;\n                      if (*piVar18 == 0) goto LAB_000d2962;\n                    }\n                    iVar10 = *(int *)(iVar12 + 8);\n                    iVar11 = iVar12;\n                  } while (*(int *)(iVar12 + 8) != 0);\nLAB_000d2962:\n                  if (((iVar12 == iVar3 + 0x14) || (param_4 < *(undefined ***)(iVar12 + 0x10))) ||\n                     ((param_4 == *(undefined ***)(iVar12 + 0x10) &&\n                      (param_5 < *(undefined ***)(iVar12 + 0x14))))) goto LAB_000d2bd8;\n                }" else (compound_statement "{\n                  do {\n                    while ((iVar12 = iVar10, *(undefined ***)(iVar12 + 0x10) < param_4 ||\n                           ((param_4 == *(undefined ***)(iVar12 + 0x10) &&\n                            (*(undefined ***)(iVar12 + 0x14) < param_5))))) {\n                      piVar18 = (int *)(iVar12 + 0xc);\n                      iVar10 = *piVar18;\n                      iVar12 = iVar11;\n                      if (*piVar18 == 0) goto LAB_000d2962;\n                    }\n                    iVar10 = *(int *)(iVar12 + 8);\n                    iVar11 = iVar12;\n                  } while (*(int *)(iVar12 + 8) != 0);\nLAB_000d2962:\n                  if (((iVar12 == iVar3 + 0x14) || (param_4 < *(undefined ***)(iVar12 + 0x10))) ||\n                     ((param_4 == *(undefined ***)(iVar12 + 0x10) &&\n                      (param_5 < *(undefined ***)(iVar12 + 0x14))))) goto LAB_000d2bd8;\n                }" { (do_statement "do {\n                    while ((iVar12 = iVar10, *(undefined ***)(iVar12 + 0x10) < param_4 ||\n                           ((param_4 == *(undefined ***)(iVar12 + 0x10) &&\n                            (*(undefined ***)(iVar12 + 0x14) < param_5))))) {\n                      piVar18 = (int *)(iVar12 + 0xc);\n                      iVar10 = *piVar18;\n                      iVar12 = iVar11;\n                      if (*piVar18 == 0) goto LAB_000d2962;\n                    }\n                    iVar10 = *(int *)(iVar12 + 8);\n                    iVar11 = iVar12;\n                  } while (*(int *)(iVar12 + 8) != 0);" do (compound_statement "{\n                    while ((iVar12 = iVar10, *(undefined ***)(iVar12 + 0x10) < param_4 ||\n                           ((param_4 == *(undefined ***)(iVar12 + 0x10) &&\n                            (*(undefined ***)(iVar12 + 0x14) < param_5))))) {\n                      piVar18 = (int *)(iVar12 + 0xc);\n                      iVar10 = *piVar18;\n                      iVar12 = iVar11;\n                      if (*piVar18 == 0) goto LAB_000d2962;\n                    }\n                    iVar10 = *(int *)(iVar12 + 8);\n                    iVar11 = iVar12;\n                  }" { (while_statement "while ((iVar12 = iVar10, *(undefined ***)(iVar12 + 0x10) < param_4 ||\n                           ((param_4 == *(undefined ***)(iVar12 + 0x10) &&\n                            (*(undefined ***)(iVar12 + 0x14) < param_5))))) {\n                      piVar18 = (int *)(iVar12 + 0xc);\n                      iVar10 = *piVar18;\n                      iVar12 = iVar11;\n                      if (*piVar18 == 0) goto LAB_000d2962;\n                    }" while (parenthesized_expression "((iVar12 = iVar10, *(undefined ***)(iVar12 + 0x10) < param_4 ||\n                           ((param_4 == *(undefined ***)(iVar12 + 0x10) &&\n                            (*(undefined ***)(iVar12 + 0x14) < param_5)))))" ( (parenthesized_expression "(iVar12 = iVar10, *(undefined ***)(iVar12 + 0x10) < param_4 ||\n                           ((param_4 == *(undefined ***)(iVar12 + 0x10) &&\n                            (*(undefined ***)(iVar12 + 0x14) < param_5))))" ( (comma_expression "iVar12 = iVar10, *(undefined ***)(iVar12 + 0x10) < param_4 ||\n                           ((param_4 == *(undefined ***)(iVar12 + 0x10) &&\n                            (*(undefined ***)(iVar12 + 0x14) < param_5)))" (assignment_expression "iVar12 = iVar10" identifier = identifier) , (binary_expression "*(undefined ***)(iVar12 + 0x10) < param_4 ||\n                           ((param_4 == *(undefined ***)(iVar12 + 0x10) &&\n                            (*(undefined ***)(iVar12 + 0x14) < param_5)))" (binary_expression "*(undefined ***)(iVar12 + 0x10) < param_4" (pointer_expression "*(undefined ***)(iVar12 + 0x10)" * (cast_expression "(undefined ***)(iVar12 + 0x10)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(iVar12 + 0x10)" ( (binary_expression "iVar12 + 0x10" identifier + number_literal) )))) < identifier) || (parenthesized_expression "((param_4 == *(undefined ***)(iVar12 + 0x10) &&\n                            (*(undefined ***)(iVar12 + 0x14) < param_5)))" ( (parenthesized_expression "(param_4 == *(undefined ***)(iVar12 + 0x10) &&\n                            (*(undefined ***)(iVar12 + 0x14) < param_5))" ( (binary_expression "param_4 == *(undefined ***)(iVar12 + 0x10) &&\n                            (*(undefined ***)(iVar12 + 0x14) < param_5)" (binary_expression "param_4 == *(undefined ***)(iVar12 + 0x10)" identifier == (pointer_expression "*(undefined ***)(iVar12 + 0x10)" * (cast_expression "(undefined ***)(iVar12 + 0x10)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(iVar12 + 0x10)" ( (binary_expression "iVar12 + 0x10" identifier + number_literal) ))))) && (parenthesized_expression "(*(undefined ***)(iVar12 + 0x14) < param_5)" ( (binary_expression "*(undefined ***)(iVar12 + 0x14) < param_5" (pointer_expression "*(undefined ***)(iVar12 + 0x14)" * (cast_expression "(undefined ***)(iVar12 + 0x14)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(iVar12 + 0x14)" ( (binary_expression "iVar12 + 0x14" identifier + number_literal) )))) < identifier) ))) )) )))) )) )) (compound_statement "{\n                      piVar18 = (int *)(iVar12 + 0xc);\n                      iVar10 = *piVar18;\n                      iVar12 = iVar11;\n                      if (*piVar18 == 0) goto LAB_000d2962;\n                    }" { (expression_statement "piVar18 = (int *)(iVar12 + 0xc);" (assignment_expression "piVar18 = (int *)(iVar12 + 0xc)" identifier = (cast_expression "(int *)(iVar12 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar12 + 0xc)" ( (binary_expression "iVar12 + 0xc" identifier + number_literal) )))) ;) (expression_statement "iVar10 = *piVar18;" (assignment_expression "iVar10 = *piVar18" identifier = (pointer_expression "*piVar18" * identifier)) ;) (expression_statement "iVar12 = iVar11;" (assignment_expression "iVar12 = iVar11" identifier = identifier) ;) (if_statement "if (*piVar18 == 0) goto LAB_000d2962;" if (parenthesized_expression "(*piVar18 == 0)" ( (binary_expression "*piVar18 == 0" (pointer_expression "*piVar18" * identifier) == number_literal) )) (goto_statement "goto LAB_000d2962;" goto statement_identifier ;)) })) (expression_statement "iVar10 = *(int *)(iVar12 + 8);" (assignment_expression "iVar10 = *(int *)(iVar12 + 8)" identifier = (pointer_expression "*(int *)(iVar12 + 8)" * (cast_expression "(int *)(iVar12 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar12 + 8)" ( (binary_expression "iVar12 + 8" identifier + number_literal) ))))) ;) (expression_statement "iVar11 = iVar12;" (assignment_expression "iVar11 = iVar12" identifier = identifier) ;) }) while (parenthesized_expression "(*(int *)(iVar12 + 8) != 0)" ( (binary_expression "*(int *)(iVar12 + 8) != 0" (pointer_expression "*(int *)(iVar12 + 8)" * (cast_expression "(int *)(iVar12 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar12 + 8)" ( (binary_expression "iVar12 + 8" identifier + number_literal) )))) != number_literal) )) ;) (labeled_statement "LAB_000d2962:\n                  if (((iVar12 == iVar3 + 0x14) || (param_4 < *(undefined ***)(iVar12 + 0x10))) ||\n                     ((param_4 == *(undefined ***)(iVar12 + 0x10) &&\n                      (param_5 < *(undefined ***)(iVar12 + 0x14))))) goto LAB_000d2bd8;" statement_identifier : (if_statement "if (((iVar12 == iVar3 + 0x14) || (param_4 < *(undefined ***)(iVar12 + 0x10))) ||\n                     ((param_4 == *(undefined ***)(iVar12 + 0x10) &&\n                      (param_5 < *(undefined ***)(iVar12 + 0x14))))) goto LAB_000d2bd8;" if (parenthesized_expression "(((iVar12 == iVar3 + 0x14) || (param_4 < *(undefined ***)(iVar12 + 0x10))) ||\n                     ((param_4 == *(undefined ***)(iVar12 + 0x10) &&\n                      (param_5 < *(undefined ***)(iVar12 + 0x14)))))" ( (binary_expression "((iVar12 == iVar3 + 0x14) || (param_4 < *(undefined ***)(iVar12 + 0x10))) ||\n                     ((param_4 == *(undefined ***)(iVar12 + 0x10) &&\n                      (param_5 < *(undefined ***)(iVar12 + 0x14))))" (parenthesized_expression "((iVar12 == iVar3 + 0x14) || (param_4 < *(undefined ***)(iVar12 + 0x10)))" ( (binary_expression "(iVar12 == iVar3 + 0x14) || (param_4 < *(undefined ***)(iVar12 + 0x10))" (parenthesized_expression "(iVar12 == iVar3 + 0x14)" ( (binary_expression "iVar12 == iVar3 + 0x14" identifier == (binary_expression "iVar3 + 0x14" identifier + number_literal)) )) || (parenthesized_expression "(param_4 < *(undefined ***)(iVar12 + 0x10))" ( (binary_expression "param_4 < *(undefined ***)(iVar12 + 0x10)" identifier < (pointer_expression "*(undefined ***)(iVar12 + 0x10)" * (cast_expression "(undefined ***)(iVar12 + 0x10)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(iVar12 + 0x10)" ( (binary_expression "iVar12 + 0x10" identifier + number_literal) ))))) ))) )) || (parenthesized_expression "((param_4 == *(undefined ***)(iVar12 + 0x10) &&\n                      (param_5 < *(undefined ***)(iVar12 + 0x14))))" ( (parenthesized_expression "(param_4 == *(undefined ***)(iVar12 + 0x10) &&\n                      (param_5 < *(undefined ***)(iVar12 + 0x14)))" ( (binary_expression "param_4 == *(undefined ***)(iVar12 + 0x10) &&\n                      (param_5 < *(undefined ***)(iVar12 + 0x14))" (binary_expression "param_4 == *(undefined ***)(iVar12 + 0x10)" identifier == (pointer_expression "*(undefined ***)(iVar12 + 0x10)" * (cast_expression "(undefined ***)(iVar12 + 0x10)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(iVar12 + 0x10)" ( (binary_expression "iVar12 + 0x10" identifier + number_literal) ))))) && (parenthesized_expression "(param_5 < *(undefined ***)(iVar12 + 0x14))" ( (binary_expression "param_5 < *(undefined ***)(iVar12 + 0x14)" identifier < (pointer_expression "*(undefined ***)(iVar12 + 0x14)" * (cast_expression "(undefined ***)(iVar12 + 0x14)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(iVar12 + 0x14)" ( (binary_expression "iVar12 + 0x14" identifier + number_literal) ))))) ))) )) ))) )) (goto_statement "goto LAB_000d2bd8;" goto statement_identifier ;))) }))) (expression_statement "piVar18 = (int *)(puVar17 + -8);" (assignment_expression "piVar18 = (int *)(puVar17 + -8)" identifier = (cast_expression "(int *)(puVar17 + -8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -8)" ( (binary_expression "puVar17 + -8" identifier + number_literal) )))) ;) (expression_statement "puVar17 = puVar17 + -8;" (assignment_expression "puVar17 = puVar17 + -8" identifier = (binary_expression "puVar17 + -8" identifier + number_literal)) ;) (for_statement "for (puVar1 = *(undefined4 **)(iVar19 + 0x30); puVar1 != (undefined4 *)0x0;\n                    puVar1 = (undefined4 *)*puVar1) {\n                  *(undefined4 *)(puVar17 + -0xc) = 1;\n                  *(undefined4 *)(puVar17 + -0x10) = 0;\n                  *(int **)(puVar17 + -0x14) = &local_90;\n                  *(undefined4 **)(puVar17 + -0x18) = puVar1 + 1;\n                  *(int *)(puVar17 + -0x1c) = iVar12 + 0x18;\n                  *(undefined1 **)(puVar17 + -0x20) = local_e0;\n                  *(undefined4 *)(puVar17 + -0x24) = 0xd29ae;\n                  local_90 = iVar12 + 0x18;\n                  FUN_00074340();\n                  piVar18 = (int *)(puVar17 + -4);\n                  puVar17 = puVar17 + -4;\n                }" for ( (assignment_expression "puVar1 = *(undefined4 **)(iVar19 + 0x30)" identifier = (pointer_expression "*(undefined4 **)(iVar19 + 0x30)" * (cast_expression "(undefined4 **)(iVar19 + 0x30)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar19 + 0x30)" ( (binary_expression "iVar19 + 0x30" identifier + number_literal) ))))) ; (binary_expression "puVar1 != (undefined4 *)0x0" identifier != (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ; (assignment_expression "puVar1 = (undefined4 *)*puVar1" identifier = (cast_expression "(undefined4 *)*puVar1" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar1" * identifier))) ) (compound_statement "{\n                  *(undefined4 *)(puVar17 + -0xc) = 1;\n                  *(undefined4 *)(puVar17 + -0x10) = 0;\n                  *(int **)(puVar17 + -0x14) = &local_90;\n                  *(undefined4 **)(puVar17 + -0x18) = puVar1 + 1;\n                  *(int *)(puVar17 + -0x1c) = iVar12 + 0x18;\n                  *(undefined1 **)(puVar17 + -0x20) = local_e0;\n                  *(undefined4 *)(puVar17 + -0x24) = 0xd29ae;\n                  local_90 = iVar12 + 0x18;\n                  FUN_00074340();\n                  piVar18 = (int *)(puVar17 + -4);\n                  puVar17 = puVar17 + -4;\n                }" { (expression_statement "*(undefined4 *)(puVar17 + -0xc) = 1;" (assignment_expression "*(undefined4 *)(puVar17 + -0xc) = 1" (pointer_expression "*(undefined4 *)(puVar17 + -0xc)" * (cast_expression "(undefined4 *)(puVar17 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0xc)" ( (binary_expression "puVar17 + -0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar17 + -0x10) = 0;" (assignment_expression "*(undefined4 *)(puVar17 + -0x10) = 0" (pointer_expression "*(undefined4 *)(puVar17 + -0x10)" * (cast_expression "(undefined4 *)(puVar17 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x10)" ( (binary_expression "puVar17 + -0x10" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(int **)(puVar17 + -0x14) = &local_90;" (assignment_expression "*(int **)(puVar17 + -0x14) = &local_90" (pointer_expression "*(int **)(puVar17 + -0x14)" * (cast_expression "(int **)(puVar17 + -0x14)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar17 + -0x14)" ( (binary_expression "puVar17 + -0x14" identifier + number_literal) )))) = (pointer_expression "&local_90" & identifier)) ;) (expression_statement "*(undefined4 **)(puVar17 + -0x18) = puVar1 + 1;" (assignment_expression "*(undefined4 **)(puVar17 + -0x18) = puVar1 + 1" (pointer_expression "*(undefined4 **)(puVar17 + -0x18)" * (cast_expression "(undefined4 **)(puVar17 + -0x18)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar17 + -0x18)" ( (binary_expression "puVar17 + -0x18" identifier + number_literal) )))) = (binary_expression "puVar1 + 1" identifier + number_literal)) ;) (expression_statement "*(int *)(puVar17 + -0x1c) = iVar12 + 0x18;" (assignment_expression "*(int *)(puVar17 + -0x1c) = iVar12 + 0x18" (pointer_expression "*(int *)(puVar17 + -0x1c)" * (cast_expression "(int *)(puVar17 + -0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x1c)" ( (binary_expression "puVar17 + -0x1c" identifier + number_literal) )))) = (binary_expression "iVar12 + 0x18" identifier + number_literal)) ;) (expression_statement "*(undefined1 **)(puVar17 + -0x20) = local_e0;" (assignment_expression "*(undefined1 **)(puVar17 + -0x20) = local_e0" (pointer_expression "*(undefined1 **)(puVar17 + -0x20)" * (cast_expression "(undefined1 **)(puVar17 + -0x20)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar17 + -0x20)" ( (binary_expression "puVar17 + -0x20" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar17 + -0x24) = 0xd29ae;" (assignment_expression "*(undefined4 *)(puVar17 + -0x24) = 0xd29ae" (pointer_expression "*(undefined4 *)(puVar17 + -0x24)" * (cast_expression "(undefined4 *)(puVar17 + -0x24)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x24)" ( (binary_expression "puVar17 + -0x24" identifier + number_literal) )))) = number_literal) ;) (expression_statement "local_90 = iVar12 + 0x18;" (assignment_expression "local_90 = iVar12 + 0x18" identifier = (binary_expression "iVar12 + 0x18" identifier + number_literal)) ;) (expression_statement "FUN_00074340();" (call_expression "FUN_00074340()" identifier (argument_list "()" ( ))) ;) (expression_statement "piVar18 = (int *)(puVar17 + -4);" (assignment_expression "piVar18 = (int *)(puVar17 + -4)" identifier = (cast_expression "(int *)(puVar17 + -4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -4)" ( (binary_expression "puVar17 + -4" identifier + number_literal) )))) ;) (expression_statement "puVar17 = puVar17 + -4;" (assignment_expression "puVar17 = puVar17 + -4" identifier = (binary_expression "puVar17 + -4" identifier + number_literal)) ;) })) })) })) })) })) }) (else_clause "else {\n        if (puVar15 < param_4[0x2c]) {\n          local_70 = (undefined **)0x0;\nLAB_000d2a1f:\n          *(undefined ***)((int)piVar18 + -8) = local_b8 + -0x615ed;\n          *(undefined4 *)((int)piVar18 + -0xc) = 0x11c;\n          *(int *)((int)piVar18 + -0x10) = (int)local_b8 + -0x19ca36;\n                    \n          *(undefined4 *)((int)piVar18 + -0x14) = 0xd2a40;\n          FUN_002446e0();\n        }\n        uVar16 = (int)puVar15 - (int)param_4[0x2c];\n        local_b0 = (undefined ***)param_4[0x30];\n        if ((uint)((int)local_b0 - (int)param_4[0x2f] >> 2) <= uVar16) {\n          *(undefined ***)((int)piVar18 + -8) = local_b8 + -0x6156c;\n          *(undefined4 *)((int)piVar18 + -0xc) = 0x8ad;\n          *(int *)((int)piVar18 + -0x10) = (int)local_b8 + -0x19cc7b;\n                    \n          *(undefined4 *)((int)piVar18 + -0x14) = 0xd2f8f;\n          FUN_002446e0();\n        }\n        local_70 = *(undefined ***)(param_4[0x2f] + uVar16 * 4);\n        if (local_70 == (undefined **)0x0) goto LAB_000d2a1f;\n        if ((*(byte *)((int)local_70 + 0x2a) & 0x10) == 0) {\n          if ((*(byte *)((int)local_70 + 0x2a) & 7) == 0) goto LAB_000d25f7;\nLAB_000d29e2:\n          local_f0 = (undefined **)local_70[0xc];\n          bVar13 = 0;\n          local_b4 = (undefined **)0x0;\n          local_c0 = (undefined **)0x0;\n          bVar24 = CARRY4((uint)local_bc,(uint)local_f0);\n          local_c4 = local_bc + (int)local_f0;\n          bVar26 = local_c4 == (undefined *)0x0;\n        }\n        else {\n          *(undefined ***)((int)piVar18 + -0xc) = local_70;\n          *(int *)((int)piVar18 + -0x10) = param_2;\n          *(undefined4 *)((int)piVar18 + -0x14) = 0xd29d2;\n          local_70 = (undefined **)FUN_0034cd90();\n          if ((*(byte *)((int)local_70 + 0x2a) & 7) != 0) goto LAB_000d29e2;\nLAB_000d25f7:\n          local_f0 = (undefined **)local_70[0xc];\n          local_c0 = (undefined **)local_70[2];\n          local_c4 = local_bc + (int)local_f0;\n          if (((uint)local_c0[0xb] & 1) == 0) {\n            local_b4 = (undefined **)local_70[3];\n            bVar13 = *(byte *)((int)local_70 + 0x2b) >> 5 & 1;\n            bVar24 = (*(byte *)(local_70 + 10) & 0xf) < 2;\n            bVar26 = (*(byte *)(local_70 + 10) & 0xf) == 2;\n            if (bVar26) {\n              bVar24 = false;\n              bVar26 = local_d2 == '\0';\n              if ((!bVar26) &&\n                 (((bVar13 == 0 || (bVar26 = uVar21 == 0x17, 0x17 < uVar21)) ||\n                  (bVar24 = (0x843f84U >> (uVar2 & 0x1f) & 1) != 0, !bVar24)))) {\n                local_b0 = *(undefined ****)(param_2 + 0x15c);\n                *(undefined4 *)((int)piVar18 + -0xc) = 1;\n                *(undefined4 *)((int)piVar18 + -0x10) = 0;\n                *(undefined *****)((int)piVar18 + -0x14) = &local_94;\n                *(undefined ****)((int)piVar18 + -0x18) = &local_78;\n                local_94 = local_b0 + 0xd;\n                *(undefined ****)((int)piVar18 + -0x1c) = local_94;\n                *(undefined1 **)((int)piVar18 + -0x20) = local_e0;\n                    \n                *(undefined4 *)((int)piVar18 + -0x24) = 0xd2ccb;\n                local_78 = local_c0;\n                local_74 = local_b4;\n                FUN_00074280();\n                bVar24 = (undefined1 *)0xffffffe3 < (undefined1 *)((int)piVar18 + -0x20);\n                bVar26 = piVar18 == (int *)0x4;\n                piVar18 = (int *)((int)piVar18 + -4);\n              }\n            }\n          }\n          else {\n            local_b4 = (undefined **)0x0;\n            bVar24 = false;\n            bVar13 = 0;\n            bVar26 = true;\n            local_c0 = (undefined **)0x0;\n          }\n        }\n        pbVar20 = *local_70;\n        iVar19 = 8;\n        pbVar9 = (byte *)((int)local_b8 + -0x19ca26);\n        pbVar22 = pbVar20;\n        do {\n          if (iVar19 == 0) break;\n          iVar19 = iVar19 + -1;\n          bVar24 = *pbVar9 < *pbVar22;\n          bVar26 = *pbVar9 == *pbVar22;\n          pbVar9 = pbVar9 + (uint)bVar27 * -2 + 1;\n          pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n        } while (bVar26);\n        bVar25 = false;\n        bVar24 = (!bVar24 && !bVar26) == bVar24;\n        if (bVar24) {\n          pbVar20 = pbVar20 + 8;\n        }\n        else {\n          iVar19 = 7;\n          pbVar9 = (byte *)((int)local_b8 + -0x19ca1d);\n          pbVar22 = pbVar20;\n          do {\n            if (iVar19 == 0) break;\n            iVar19 = iVar19 + -1;\n            bVar25 = *pbVar9 < *pbVar22;\n            bVar24 = *pbVar9 == *pbVar22;\n            pbVar9 = pbVar9 + (uint)bVar27 * -2 + 1;\n            pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n          } while (bVar24);\n          pbVar20 = pbVar20 + 7;\n          if ((!bVar25 && !bVar24) != bVar25) {\n            pbVar20 = local_d8;\n          }\n        }\n        local_d8 = pbVar20;\n        if (local_d1 != '\0') {\n          if (bVar13 == 0) {\n            local_34 = (undefined **)0x0;\n            local_30 = (undefined **)0x0;\n          }\n          else {\n            local_34 = local_c0;\n            local_30 = local_b4;\n          }\n          local_b0 = &local_34;\n          *(undefined ****)((int)piVar18 + -0xc) = local_b0;\n          *(int *)((int)piVar18 + -0x10) = local_c8;\n          *(undefined4 *)((int)piVar18 + -0x14) = 0xd26b9;\n          FUN_00073b00();\n          puVar1 = *(undefined4 **)(local_cc + 4);\n          if (puVar1 == *(undefined4 **)(local_cc + 8)) {\n            *(undefined ****)((int)piVar18 + -8) = &local_70;\n            *(undefined4 **)((int)piVar18 + -0xc) = puVar1;\n            *(int *)((int)piVar18 + -0x10) = local_cc;\n            *(undefined4 *)((int)piVar18 + -0x14) = 0xd2b4b;\n            FUN_000726c0();\n          }\n          else {\n            *puVar1 = local_70;\n            *(undefined4 **)(local_cc + 4) = puVar1 + 1;\n          }\n          *(undefined ****)((int)piVar18 + -0xc) = local_b0;\n          *(undefined ***)((int)piVar18 + -0x10) = local_e8;\n          local_34 = local_f0;\n          local_30 = (undefined **)0x0;\n          local_2c = local_bc;\n          local_28 = (int)local_bc >> 0x1f;\n          *(undefined4 *)((int)piVar18 + -0x14) = 0xd270d;\n          FUN_00073e70();\n          local_30 = (undefined **)0x0;\n          local_34 = (undefined **)*param_7;\n          puVar1 = *(undefined4 **)(local_d0 + 4);\n          if (puVar1 == *(undefined4 **)(local_d0 + 8)) {\n            *(undefined ****)((int)piVar18 + -8) = local_b0;\n            *(undefined4 **)((int)piVar18 + -0xc) = puVar1;\n            *(int *)((int)piVar18 + -0x10) = local_d0;\n            *(undefined4 *)((int)piVar18 + -0x14) = 0xd2bbd;\n            FUN_00072a40();\n          }\n          else {\n            *puVar1 = local_34;\n            puVar1[1] = 0;\n            *(undefined4 **)(local_d0 + 4) = puVar1 + 2;\n          }\n          local_68 = (undefined **)0x0;\n          *(undefined ****)((int)piVar18 + -0xc) = &local_68;\n          *(int *)((int)piVar18 + -0x10) = local_ec;\n          *(undefined4 *)((int)piVar18 + -0x14) = 0xd2753;\n          FUN_00074020();\n        }\n        puVar17 = (undefined1 *)piVar18;\n        if (bVar13 != 0) goto LAB_000d275e;\n      }" else (compound_statement "{\n        if (puVar15 < param_4[0x2c]) {\n          local_70 = (undefined **)0x0;\nLAB_000d2a1f:\n          *(undefined ***)((int)piVar18 + -8) = local_b8 + -0x615ed;\n          *(undefined4 *)((int)piVar18 + -0xc) = 0x11c;\n          *(int *)((int)piVar18 + -0x10) = (int)local_b8 + -0x19ca36;\n                    \n          *(undefined4 *)((int)piVar18 + -0x14) = 0xd2a40;\n          FUN_002446e0();\n        }\n        uVar16 = (int)puVar15 - (int)param_4[0x2c];\n        local_b0 = (undefined ***)param_4[0x30];\n        if ((uint)((int)local_b0 - (int)param_4[0x2f] >> 2) <= uVar16) {\n          *(undefined ***)((int)piVar18 + -8) = local_b8 + -0x6156c;\n          *(undefined4 *)((int)piVar18 + -0xc) = 0x8ad;\n          *(int *)((int)piVar18 + -0x10) = (int)local_b8 + -0x19cc7b;\n                    \n          *(undefined4 *)((int)piVar18 + -0x14) = 0xd2f8f;\n          FUN_002446e0();\n        }\n        local_70 = *(undefined ***)(param_4[0x2f] + uVar16 * 4);\n        if (local_70 == (undefined **)0x0) goto LAB_000d2a1f;\n        if ((*(byte *)((int)local_70 + 0x2a) & 0x10) == 0) {\n          if ((*(byte *)((int)local_70 + 0x2a) & 7) == 0) goto LAB_000d25f7;\nLAB_000d29e2:\n          local_f0 = (undefined **)local_70[0xc];\n          bVar13 = 0;\n          local_b4 = (undefined **)0x0;\n          local_c0 = (undefined **)0x0;\n          bVar24 = CARRY4((uint)local_bc,(uint)local_f0);\n          local_c4 = local_bc + (int)local_f0;\n          bVar26 = local_c4 == (undefined *)0x0;\n        }\n        else {\n          *(undefined ***)((int)piVar18 + -0xc) = local_70;\n          *(int *)((int)piVar18 + -0x10) = param_2;\n          *(undefined4 *)((int)piVar18 + -0x14) = 0xd29d2;\n          local_70 = (undefined **)FUN_0034cd90();\n          if ((*(byte *)((int)local_70 + 0x2a) & 7) != 0) goto LAB_000d29e2;\nLAB_000d25f7:\n          local_f0 = (undefined **)local_70[0xc];\n          local_c0 = (undefined **)local_70[2];\n          local_c4 = local_bc + (int)local_f0;\n          if (((uint)local_c0[0xb] & 1) == 0) {\n            local_b4 = (undefined **)local_70[3];\n            bVar13 = *(byte *)((int)local_70 + 0x2b) >> 5 & 1;\n            bVar24 = (*(byte *)(local_70 + 10) & 0xf) < 2;\n            bVar26 = (*(byte *)(local_70 + 10) & 0xf) == 2;\n            if (bVar26) {\n              bVar24 = false;\n              bVar26 = local_d2 == '\0';\n              if ((!bVar26) &&\n                 (((bVar13 == 0 || (bVar26 = uVar21 == 0x17, 0x17 < uVar21)) ||\n                  (bVar24 = (0x843f84U >> (uVar2 & 0x1f) & 1) != 0, !bVar24)))) {\n                local_b0 = *(undefined ****)(param_2 + 0x15c);\n                *(undefined4 *)((int)piVar18 + -0xc) = 1;\n                *(undefined4 *)((int)piVar18 + -0x10) = 0;\n                *(undefined *****)((int)piVar18 + -0x14) = &local_94;\n                *(undefined ****)((int)piVar18 + -0x18) = &local_78;\n                local_94 = local_b0 + 0xd;\n                *(undefined ****)((int)piVar18 + -0x1c) = local_94;\n                *(undefined1 **)((int)piVar18 + -0x20) = local_e0;\n                    \n                *(undefined4 *)((int)piVar18 + -0x24) = 0xd2ccb;\n                local_78 = local_c0;\n                local_74 = local_b4;\n                FUN_00074280();\n                bVar24 = (undefined1 *)0xffffffe3 < (undefined1 *)((int)piVar18 + -0x20);\n                bVar26 = piVar18 == (int *)0x4;\n                piVar18 = (int *)((int)piVar18 + -4);\n              }\n            }\n          }\n          else {\n            local_b4 = (undefined **)0x0;\n            bVar24 = false;\n            bVar13 = 0;\n            bVar26 = true;\n            local_c0 = (undefined **)0x0;\n          }\n        }\n        pbVar20 = *local_70;\n        iVar19 = 8;\n        pbVar9 = (byte *)((int)local_b8 + -0x19ca26);\n        pbVar22 = pbVar20;\n        do {\n          if (iVar19 == 0) break;\n          iVar19 = iVar19 + -1;\n          bVar24 = *pbVar9 < *pbVar22;\n          bVar26 = *pbVar9 == *pbVar22;\n          pbVar9 = pbVar9 + (uint)bVar27 * -2 + 1;\n          pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n        } while (bVar26);\n        bVar25 = false;\n        bVar24 = (!bVar24 && !bVar26) == bVar24;\n        if (bVar24) {\n          pbVar20 = pbVar20 + 8;\n        }\n        else {\n          iVar19 = 7;\n          pbVar9 = (byte *)((int)local_b8 + -0x19ca1d);\n          pbVar22 = pbVar20;\n          do {\n            if (iVar19 == 0) break;\n            iVar19 = iVar19 + -1;\n            bVar25 = *pbVar9 < *pbVar22;\n            bVar24 = *pbVar9 == *pbVar22;\n            pbVar9 = pbVar9 + (uint)bVar27 * -2 + 1;\n            pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n          } while (bVar24);\n          pbVar20 = pbVar20 + 7;\n          if ((!bVar25 && !bVar24) != bVar25) {\n            pbVar20 = local_d8;\n          }\n        }\n        local_d8 = pbVar20;\n        if (local_d1 != '\0') {\n          if (bVar13 == 0) {\n            local_34 = (undefined **)0x0;\n            local_30 = (undefined **)0x0;\n          }\n          else {\n            local_34 = local_c0;\n            local_30 = local_b4;\n          }\n          local_b0 = &local_34;\n          *(undefined ****)((int)piVar18 + -0xc) = local_b0;\n          *(int *)((int)piVar18 + -0x10) = local_c8;\n          *(undefined4 *)((int)piVar18 + -0x14) = 0xd26b9;\n          FUN_00073b00();\n          puVar1 = *(undefined4 **)(local_cc + 4);\n          if (puVar1 == *(undefined4 **)(local_cc + 8)) {\n            *(undefined ****)((int)piVar18 + -8) = &local_70;\n            *(undefined4 **)((int)piVar18 + -0xc) = puVar1;\n            *(int *)((int)piVar18 + -0x10) = local_cc;\n            *(undefined4 *)((int)piVar18 + -0x14) = 0xd2b4b;\n            FUN_000726c0();\n          }\n          else {\n            *puVar1 = local_70;\n            *(undefined4 **)(local_cc + 4) = puVar1 + 1;\n          }\n          *(undefined ****)((int)piVar18 + -0xc) = local_b0;\n          *(undefined ***)((int)piVar18 + -0x10) = local_e8;\n          local_34 = local_f0;\n          local_30 = (undefined **)0x0;\n          local_2c = local_bc;\n          local_28 = (int)local_bc >> 0x1f;\n          *(undefined4 *)((int)piVar18 + -0x14) = 0xd270d;\n          FUN_00073e70();\n          local_30 = (undefined **)0x0;\n          local_34 = (undefined **)*param_7;\n          puVar1 = *(undefined4 **)(local_d0 + 4);\n          if (puVar1 == *(undefined4 **)(local_d0 + 8)) {\n            *(undefined ****)((int)piVar18 + -8) = local_b0;\n            *(undefined4 **)((int)piVar18 + -0xc) = puVar1;\n            *(int *)((int)piVar18 + -0x10) = local_d0;\n            *(undefined4 *)((int)piVar18 + -0x14) = 0xd2bbd;\n            FUN_00072a40();\n          }\n          else {\n            *puVar1 = local_34;\n            puVar1[1] = 0;\n            *(undefined4 **)(local_d0 + 4) = puVar1 + 2;\n          }\n          local_68 = (undefined **)0x0;\n          *(undefined ****)((int)piVar18 + -0xc) = &local_68;\n          *(int *)((int)piVar18 + -0x10) = local_ec;\n          *(undefined4 *)((int)piVar18 + -0x14) = 0xd2753;\n          FUN_00074020();\n        }\n        puVar17 = (undefined1 *)piVar18;\n        if (bVar13 != 0) goto LAB_000d275e;\n      }" { (if_statement "if (puVar15 < param_4[0x2c]) {\n          local_70 = (undefined **)0x0;\nLAB_000d2a1f:\n          *(undefined ***)((int)piVar18 + -8) = local_b8 + -0x615ed;\n          *(undefined4 *)((int)piVar18 + -0xc) = 0x11c;\n          *(int *)((int)piVar18 + -0x10) = (int)local_b8 + -0x19ca36;\n                    \n          *(undefined4 *)((int)piVar18 + -0x14) = 0xd2a40;\n          FUN_002446e0();\n        }" if (parenthesized_expression "(puVar15 < param_4[0x2c])" ( (binary_expression "puVar15 < param_4[0x2c]" identifier < (subscript_expression "param_4[0x2c]" identifier [ number_literal ])) )) (compound_statement "{\n          local_70 = (undefined **)0x0;\nLAB_000d2a1f:\n          *(undefined ***)((int)piVar18 + -8) = local_b8 + -0x615ed;\n          *(undefined4 *)((int)piVar18 + -0xc) = 0x11c;\n          *(int *)((int)piVar18 + -0x10) = (int)local_b8 + -0x19ca36;\n                    \n          *(undefined4 *)((int)piVar18 + -0x14) = 0xd2a40;\n          FUN_002446e0();\n        }" { (expression_statement "local_70 = (undefined **)0x0;" (assignment_expression "local_70 = (undefined **)0x0" identifier = (cast_expression "(undefined **)0x0" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) ;) (labeled_statement "LAB_000d2a1f:\n          *(undefined ***)((int)piVar18 + -8) = local_b8 + -0x615ed;" statement_identifier : (expression_statement "*(undefined ***)((int)piVar18 + -8) = local_b8 + -0x615ed;" (assignment_expression "*(undefined ***)((int)piVar18 + -8) = local_b8 + -0x615ed" (pointer_expression "*(undefined ***)((int)piVar18 + -8)" * (cast_expression "(undefined ***)((int)piVar18 + -8)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "((int)piVar18 + -8)" ( (binary_expression "(int)piVar18 + -8" (cast_expression "(int)piVar18" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "local_b8 + -0x615ed" identifier + number_literal)) ;)) (expression_statement "*(undefined4 *)((int)piVar18 + -0xc) = 0x11c;" (assignment_expression "*(undefined4 *)((int)piVar18 + -0xc) = 0x11c" (pointer_expression "*(undefined4 *)((int)piVar18 + -0xc)" * (cast_expression "(undefined4 *)((int)piVar18 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar18 + -0xc)" ( (binary_expression "(int)piVar18 + -0xc" (cast_expression "(int)piVar18" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)((int)piVar18 + -0x10) = (int)local_b8 + -0x19ca36;" (assignment_expression "*(int *)((int)piVar18 + -0x10) = (int)local_b8 + -0x19ca36" (pointer_expression "*(int *)((int)piVar18 + -0x10)" * (cast_expression "(int *)((int)piVar18 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar18 + -0x10)" ( (binary_expression "(int)piVar18 + -0x10" (cast_expression "(int)piVar18" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "(int)local_b8 + -0x19ca36" (cast_expression "(int)local_b8" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) (expression_statement "*(undefined4 *)((int)piVar18 + -0x14) = 0xd2a40;" (assignment_expression "*(undefined4 *)((int)piVar18 + -0x14) = 0xd2a40" (pointer_expression "*(undefined4 *)((int)piVar18 + -0x14)" * (cast_expression "(undefined4 *)((int)piVar18 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar18 + -0x14)" ( (binary_expression "(int)piVar18 + -0x14" (cast_expression "(int)piVar18" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "FUN_002446e0();" (call_expression "FUN_002446e0()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "uVar16 = (int)puVar15 - (int)param_4[0x2c];" (assignment_expression "uVar16 = (int)puVar15 - (int)param_4[0x2c]" identifier = (binary_expression "(int)puVar15 - (int)param_4[0x2c]" (cast_expression "(int)puVar15" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)param_4[0x2c]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "param_4[0x2c]" identifier [ number_literal ])))) ;) (expression_statement "local_b0 = (undefined ***)param_4[0x30];" (assignment_expression "local_b0 = (undefined ***)param_4[0x30]" identifier = (cast_expression "(undefined ***)param_4[0x30]" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (subscript_expression "param_4[0x30]" identifier [ number_literal ]))) ;) (if_statement "if ((uint)((int)local_b0 - (int)param_4[0x2f] >> 2) <= uVar16) {\n          *(undefined ***)((int)piVar18 + -8) = local_b8 + -0x6156c;\n          *(undefined4 *)((int)piVar18 + -0xc) = 0x8ad;\n          *(int *)((int)piVar18 + -0x10) = (int)local_b8 + -0x19cc7b;\n                    \n          *(undefined4 *)((int)piVar18 + -0x14) = 0xd2f8f;\n          FUN_002446e0();\n        }" if (parenthesized_expression "((uint)((int)local_b0 - (int)param_4[0x2f] >> 2) <= uVar16)" ( (binary_expression "(uint)((int)local_b0 - (int)param_4[0x2f] >> 2) <= uVar16" (call_expression "(uint)((int)local_b0 - (int)param_4[0x2f] >> 2)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((int)local_b0 - (int)param_4[0x2f] >> 2)" ( (binary_expression "(int)local_b0 - (int)param_4[0x2f] >> 2" (binary_expression "(int)local_b0 - (int)param_4[0x2f]" (cast_expression "(int)local_b0" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)param_4[0x2f]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "param_4[0x2f]" identifier [ number_literal ]))) >> number_literal) ))) <= identifier) )) (compound_statement "{\n          *(undefined ***)((int)piVar18 + -8) = local_b8 + -0x6156c;\n          *(undefined4 *)((int)piVar18 + -0xc) = 0x8ad;\n          *(int *)((int)piVar18 + -0x10) = (int)local_b8 + -0x19cc7b;\n                    \n          *(undefined4 *)((int)piVar18 + -0x14) = 0xd2f8f;\n          FUN_002446e0();\n        }" { (expression_statement "*(undefined ***)((int)piVar18 + -8) = local_b8 + -0x6156c;" (assignment_expression "*(undefined ***)((int)piVar18 + -8) = local_b8 + -0x6156c" (pointer_expression "*(undefined ***)((int)piVar18 + -8)" * (cast_expression "(undefined ***)((int)piVar18 + -8)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "((int)piVar18 + -8)" ( (binary_expression "(int)piVar18 + -8" (cast_expression "(int)piVar18" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "local_b8 + -0x6156c" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)((int)piVar18 + -0xc) = 0x8ad;" (assignment_expression "*(undefined4 *)((int)piVar18 + -0xc) = 0x8ad" (pointer_expression "*(undefined4 *)((int)piVar18 + -0xc)" * (cast_expression "(undefined4 *)((int)piVar18 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar18 + -0xc)" ( (binary_expression "(int)piVar18 + -0xc" (cast_expression "(int)piVar18" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)((int)piVar18 + -0x10) = (int)local_b8 + -0x19cc7b;" (assignment_expression "*(int *)((int)piVar18 + -0x10) = (int)local_b8 + -0x19cc7b" (pointer_expression "*(int *)((int)piVar18 + -0x10)" * (cast_expression "(int *)((int)piVar18 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar18 + -0x10)" ( (binary_expression "(int)piVar18 + -0x10" (cast_expression "(int)piVar18" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "(int)local_b8 + -0x19cc7b" (cast_expression "(int)local_b8" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) (expression_statement "*(undefined4 *)((int)piVar18 + -0x14) = 0xd2f8f;" (assignment_expression "*(undefined4 *)((int)piVar18 + -0x14) = 0xd2f8f" (pointer_expression "*(undefined4 *)((int)piVar18 + -0x14)" * (cast_expression "(undefined4 *)((int)piVar18 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar18 + -0x14)" ( (binary_expression "(int)piVar18 + -0x14" (cast_expression "(int)piVar18" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "FUN_002446e0();" (call_expression "FUN_002446e0()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "local_70 = *(undefined ***)(param_4[0x2f] + uVar16 * 4);" (assignment_expression "local_70 = *(undefined ***)(param_4[0x2f] + uVar16 * 4)" identifier = (pointer_expression "*(undefined ***)(param_4[0x2f] + uVar16 * 4)" * (cast_expression "(undefined ***)(param_4[0x2f] + uVar16 * 4)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(param_4[0x2f] + uVar16 * 4)" ( (binary_expression "param_4[0x2f] + uVar16 * 4" (subscript_expression "param_4[0x2f]" identifier [ number_literal ]) + (binary_expression "uVar16 * 4" identifier * number_literal)) ))))) ;) (if_statement "if (local_70 == (undefined **)0x0) goto LAB_000d2a1f;" if (parenthesized_expression "(local_70 == (undefined **)0x0)" ( (binary_expression "local_70 == (undefined **)0x0" identifier == (cast_expression "(undefined **)0x0" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) )) (goto_statement "goto LAB_000d2a1f;" goto statement_identifier ;)) (if_statement "if ((*(byte *)((int)local_70 + 0x2a) & 0x10) == 0) {\n          if ((*(byte *)((int)local_70 + 0x2a) & 7) == 0) goto LAB_000d25f7;\nLAB_000d29e2:\n          local_f0 = (undefined **)local_70[0xc];\n          bVar13 = 0;\n          local_b4 = (undefined **)0x0;\n          local_c0 = (undefined **)0x0;\n          bVar24 = CARRY4((uint)local_bc,(uint)local_f0);\n          local_c4 = local_bc + (int)local_f0;\n          bVar26 = local_c4 == (undefined *)0x0;\n        }\n        else {\n          *(undefined ***)((int)piVar18 + -0xc) = local_70;\n          *(int *)((int)piVar18 + -0x10) = param_2;\n          *(undefined4 *)((int)piVar18 + -0x14) = 0xd29d2;\n          local_70 = (undefined **)FUN_0034cd90();\n          if ((*(byte *)((int)local_70 + 0x2a) & 7) != 0) goto LAB_000d29e2;\nLAB_000d25f7:\n          local_f0 = (undefined **)local_70[0xc];\n          local_c0 = (undefined **)local_70[2];\n          local_c4 = local_bc + (int)local_f0;\n          if (((uint)local_c0[0xb] & 1) == 0) {\n            local_b4 = (undefined **)local_70[3];\n            bVar13 = *(byte *)((int)local_70 + 0x2b) >> 5 & 1;\n            bVar24 = (*(byte *)(local_70 + 10) & 0xf) < 2;\n            bVar26 = (*(byte *)(local_70 + 10) & 0xf) == 2;\n            if (bVar26) {\n              bVar24 = false;\n              bVar26 = local_d2 == '\0';\n              if ((!bVar26) &&\n                 (((bVar13 == 0 || (bVar26 = uVar21 == 0x17, 0x17 < uVar21)) ||\n                  (bVar24 = (0x843f84U >> (uVar2 & 0x1f) & 1) != 0, !bVar24)))) {\n                local_b0 = *(undefined ****)(param_2 + 0x15c);\n                *(undefined4 *)((int)piVar18 + -0xc) = 1;\n                *(undefined4 *)((int)piVar18 + -0x10) = 0;\n                *(undefined *****)((int)piVar18 + -0x14) = &local_94;\n                *(undefined ****)((int)piVar18 + -0x18) = &local_78;\n                local_94 = local_b0 + 0xd;\n                *(undefined ****)((int)piVar18 + -0x1c) = local_94;\n                *(undefined1 **)((int)piVar18 + -0x20) = local_e0;\n                    \n                *(undefined4 *)((int)piVar18 + -0x24) = 0xd2ccb;\n                local_78 = local_c0;\n                local_74 = local_b4;\n                FUN_00074280();\n                bVar24 = (undefined1 *)0xffffffe3 < (undefined1 *)((int)piVar18 + -0x20);\n                bVar26 = piVar18 == (int *)0x4;\n                piVar18 = (int *)((int)piVar18 + -4);\n              }\n            }\n          }\n          else {\n            local_b4 = (undefined **)0x0;\n            bVar24 = false;\n            bVar13 = 0;\n            bVar26 = true;\n            local_c0 = (undefined **)0x0;\n          }\n        }" if (parenthesized_expression "((*(byte *)((int)local_70 + 0x2a) & 0x10) == 0)" ( (binary_expression "(*(byte *)((int)local_70 + 0x2a) & 0x10) == 0" (parenthesized_expression "(*(byte *)((int)local_70 + 0x2a) & 0x10)" ( (binary_expression "*(byte *)((int)local_70 + 0x2a) & 0x10" (pointer_expression "*(byte *)((int)local_70 + 0x2a)" * (cast_expression "(byte *)((int)local_70 + 0x2a)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_70 + 0x2a)" ( (binary_expression "(int)local_70 + 0x2a" (cast_expression "(int)local_70" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) & number_literal) )) == number_literal) )) (compound_statement "{\n          if ((*(byte *)((int)local_70 + 0x2a) & 7) == 0) goto LAB_000d25f7;\nLAB_000d29e2:\n          local_f0 = (undefined **)local_70[0xc];\n          bVar13 = 0;\n          local_b4 = (undefined **)0x0;\n          local_c0 = (undefined **)0x0;\n          bVar24 = CARRY4((uint)local_bc,(uint)local_f0);\n          local_c4 = local_bc + (int)local_f0;\n          bVar26 = local_c4 == (undefined *)0x0;\n        }" { (if_statement "if ((*(byte *)((int)local_70 + 0x2a) & 7) == 0) goto LAB_000d25f7;" if (parenthesized_expression "((*(byte *)((int)local_70 + 0x2a) & 7) == 0)" ( (binary_expression "(*(byte *)((int)local_70 + 0x2a) & 7) == 0" (parenthesized_expression "(*(byte *)((int)local_70 + 0x2a) & 7)" ( (binary_expression "*(byte *)((int)local_70 + 0x2a) & 7" (pointer_expression "*(byte *)((int)local_70 + 0x2a)" * (cast_expression "(byte *)((int)local_70 + 0x2a)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_70 + 0x2a)" ( (binary_expression "(int)local_70 + 0x2a" (cast_expression "(int)local_70" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) & number_literal) )) == number_literal) )) (goto_statement "goto LAB_000d25f7;" goto statement_identifier ;)) (labeled_statement "LAB_000d29e2:\n          local_f0 = (undefined **)local_70[0xc];" statement_identifier : (expression_statement "local_f0 = (undefined **)local_70[0xc];" (assignment_expression "local_f0 = (undefined **)local_70[0xc]" identifier = (cast_expression "(undefined **)local_70[0xc]" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (subscript_expression "local_70[0xc]" identifier [ number_literal ]))) ;)) (expression_statement "bVar13 = 0;" (assignment_expression "bVar13 = 0" identifier = number_literal) ;) (expression_statement "local_b4 = (undefined **)0x0;" (assignment_expression "local_b4 = (undefined **)0x0" identifier = (cast_expression "(undefined **)0x0" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) ;) (expression_statement "local_c0 = (undefined **)0x0;" (assignment_expression "local_c0 = (undefined **)0x0" identifier = (cast_expression "(undefined **)0x0" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) ;) (expression_statement "bVar24 = CARRY4((uint)local_bc,(uint)local_f0);" (assignment_expression "bVar24 = CARRY4((uint)local_bc,(uint)local_f0)" identifier = (call_expression "CARRY4((uint)local_bc,(uint)local_f0)" identifier (argument_list "((uint)local_bc,(uint)local_f0)" ( (cast_expression "(uint)local_bc" ( (type_descriptor "uint" type_identifier) ) identifier) , (cast_expression "(uint)local_f0" ( (type_descriptor "uint" type_identifier) ) identifier) )))) ;) (expression_statement "local_c4 = local_bc + (int)local_f0;" (assignment_expression "local_c4 = local_bc + (int)local_f0" identifier = (binary_expression "local_bc + (int)local_f0" identifier + (cast_expression "(int)local_f0" ( (type_descriptor "int" primitive_type) ) identifier))) ;) (expression_statement "bVar26 = local_c4 == (undefined *)0x0;" (assignment_expression "bVar26 = local_c4 == (undefined *)0x0" identifier = (binary_expression "local_c4 == (undefined *)0x0" identifier == (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal))) ;) }) (else_clause "else {\n          *(undefined ***)((int)piVar18 + -0xc) = local_70;\n          *(int *)((int)piVar18 + -0x10) = param_2;\n          *(undefined4 *)((int)piVar18 + -0x14) = 0xd29d2;\n          local_70 = (undefined **)FUN_0034cd90();\n          if ((*(byte *)((int)local_70 + 0x2a) & 7) != 0) goto LAB_000d29e2;\nLAB_000d25f7:\n          local_f0 = (undefined **)local_70[0xc];\n          local_c0 = (undefined **)local_70[2];\n          local_c4 = local_bc + (int)local_f0;\n          if (((uint)local_c0[0xb] & 1) == 0) {\n            local_b4 = (undefined **)local_70[3];\n            bVar13 = *(byte *)((int)local_70 + 0x2b) >> 5 & 1;\n            bVar24 = (*(byte *)(local_70 + 10) & 0xf) < 2;\n            bVar26 = (*(byte *)(local_70 + 10) & 0xf) == 2;\n            if (bVar26) {\n              bVar24 = false;\n              bVar26 = local_d2 == '\0';\n              if ((!bVar26) &&\n                 (((bVar13 == 0 || (bVar26 = uVar21 == 0x17, 0x17 < uVar21)) ||\n                  (bVar24 = (0x843f84U >> (uVar2 & 0x1f) & 1) != 0, !bVar24)))) {\n                local_b0 = *(undefined ****)(param_2 + 0x15c);\n                *(undefined4 *)((int)piVar18 + -0xc) = 1;\n                *(undefined4 *)((int)piVar18 + -0x10) = 0;\n                *(undefined *****)((int)piVar18 + -0x14) = &local_94;\n                *(undefined ****)((int)piVar18 + -0x18) = &local_78;\n                local_94 = local_b0 + 0xd;\n                *(undefined ****)((int)piVar18 + -0x1c) = local_94;\n                *(undefined1 **)((int)piVar18 + -0x20) = local_e0;\n                    \n                *(undefined4 *)((int)piVar18 + -0x24) = 0xd2ccb;\n                local_78 = local_c0;\n                local_74 = local_b4;\n                FUN_00074280();\n                bVar24 = (undefined1 *)0xffffffe3 < (undefined1 *)((int)piVar18 + -0x20);\n                bVar26 = piVar18 == (int *)0x4;\n                piVar18 = (int *)((int)piVar18 + -4);\n              }\n            }\n          }\n          else {\n            local_b4 = (undefined **)0x0;\n            bVar24 = false;\n            bVar13 = 0;\n            bVar26 = true;\n            local_c0 = (undefined **)0x0;\n          }\n        }" else (compound_statement "{\n          *(undefined ***)((int)piVar18 + -0xc) = local_70;\n          *(int *)((int)piVar18 + -0x10) = param_2;\n          *(undefined4 *)((int)piVar18 + -0x14) = 0xd29d2;\n          local_70 = (undefined **)FUN_0034cd90();\n          if ((*(byte *)((int)local_70 + 0x2a) & 7) != 0) goto LAB_000d29e2;\nLAB_000d25f7:\n          local_f0 = (undefined **)local_70[0xc];\n          local_c0 = (undefined **)local_70[2];\n          local_c4 = local_bc + (int)local_f0;\n          if (((uint)local_c0[0xb] & 1) == 0) {\n            local_b4 = (undefined **)local_70[3];\n            bVar13 = *(byte *)((int)local_70 + 0x2b) >> 5 & 1;\n            bVar24 = (*(byte *)(local_70 + 10) & 0xf) < 2;\n            bVar26 = (*(byte *)(local_70 + 10) & 0xf) == 2;\n            if (bVar26) {\n              bVar24 = false;\n              bVar26 = local_d2 == '\0';\n              if ((!bVar26) &&\n                 (((bVar13 == 0 || (bVar26 = uVar21 == 0x17, 0x17 < uVar21)) ||\n                  (bVar24 = (0x843f84U >> (uVar2 & 0x1f) & 1) != 0, !bVar24)))) {\n                local_b0 = *(undefined ****)(param_2 + 0x15c);\n                *(undefined4 *)((int)piVar18 + -0xc) = 1;\n                *(undefined4 *)((int)piVar18 + -0x10) = 0;\n                *(undefined *****)((int)piVar18 + -0x14) = &local_94;\n                *(undefined ****)((int)piVar18 + -0x18) = &local_78;\n                local_94 = local_b0 + 0xd;\n                *(undefined ****)((int)piVar18 + -0x1c) = local_94;\n                *(undefined1 **)((int)piVar18 + -0x20) = local_e0;\n                    \n                *(undefined4 *)((int)piVar18 + -0x24) = 0xd2ccb;\n                local_78 = local_c0;\n                local_74 = local_b4;\n                FUN_00074280();\n                bVar24 = (undefined1 *)0xffffffe3 < (undefined1 *)((int)piVar18 + -0x20);\n                bVar26 = piVar18 == (int *)0x4;\n                piVar18 = (int *)((int)piVar18 + -4);\n              }\n            }\n          }\n          else {\n            local_b4 = (undefined **)0x0;\n            bVar24 = false;\n            bVar13 = 0;\n            bVar26 = true;\n            local_c0 = (undefined **)0x0;\n          }\n        }" { (expression_statement "*(undefined ***)((int)piVar18 + -0xc) = local_70;" (assignment_expression "*(undefined ***)((int)piVar18 + -0xc) = local_70" (pointer_expression "*(undefined ***)((int)piVar18 + -0xc)" * (cast_expression "(undefined ***)((int)piVar18 + -0xc)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "((int)piVar18 + -0xc)" ( (binary_expression "(int)piVar18 + -0xc" (cast_expression "(int)piVar18" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(int *)((int)piVar18 + -0x10) = param_2;" (assignment_expression "*(int *)((int)piVar18 + -0x10) = param_2" (pointer_expression "*(int *)((int)piVar18 + -0x10)" * (cast_expression "(int *)((int)piVar18 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar18 + -0x10)" ( (binary_expression "(int)piVar18 + -0x10" (cast_expression "(int)piVar18" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)piVar18 + -0x14) = 0xd29d2;" (assignment_expression "*(undefined4 *)((int)piVar18 + -0x14) = 0xd29d2" (pointer_expression "*(undefined4 *)((int)piVar18 + -0x14)" * (cast_expression "(undefined4 *)((int)piVar18 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar18 + -0x14)" ( (binary_expression "(int)piVar18 + -0x14" (cast_expression "(int)piVar18" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "local_70 = (undefined **)FUN_0034cd90();" (assignment_expression "local_70 = (undefined **)FUN_0034cd90()" identifier = (cast_expression "(undefined **)FUN_0034cd90()" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (call_expression "FUN_0034cd90()" identifier (argument_list "()" ( ))))) ;) (if_statement "if ((*(byte *)((int)local_70 + 0x2a) & 7) != 0) goto LAB_000d29e2;" if (parenthesized_expression "((*(byte *)((int)local_70 + 0x2a) & 7) != 0)" ( (binary_expression "(*(byte *)((int)local_70 + 0x2a) & 7) != 0" (parenthesized_expression "(*(byte *)((int)local_70 + 0x2a) & 7)" ( (binary_expression "*(byte *)((int)local_70 + 0x2a) & 7" (pointer_expression "*(byte *)((int)local_70 + 0x2a)" * (cast_expression "(byte *)((int)local_70 + 0x2a)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_70 + 0x2a)" ( (binary_expression "(int)local_70 + 0x2a" (cast_expression "(int)local_70" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) & number_literal) )) != number_literal) )) (goto_statement "goto LAB_000d29e2;" goto statement_identifier ;)) (labeled_statement "LAB_000d25f7:\n          local_f0 = (undefined **)local_70[0xc];" statement_identifier : (expression_statement "local_f0 = (undefined **)local_70[0xc];" (assignment_expression "local_f0 = (undefined **)local_70[0xc]" identifier = (cast_expression "(undefined **)local_70[0xc]" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (subscript_expression "local_70[0xc]" identifier [ number_literal ]))) ;)) (expression_statement "local_c0 = (undefined **)local_70[2];" (assignment_expression "local_c0 = (undefined **)local_70[2]" identifier = (cast_expression "(undefined **)local_70[2]" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (subscript_expression "local_70[2]" identifier [ number_literal ]))) ;) (expression_statement "local_c4 = local_bc + (int)local_f0;" (assignment_expression "local_c4 = local_bc + (int)local_f0" identifier = (binary_expression "local_bc + (int)local_f0" identifier + (cast_expression "(int)local_f0" ( (type_descriptor "int" primitive_type) ) identifier))) ;) (if_statement "if (((uint)local_c0[0xb] & 1) == 0) {\n            local_b4 = (undefined **)local_70[3];\n            bVar13 = *(byte *)((int)local_70 + 0x2b) >> 5 & 1;\n            bVar24 = (*(byte *)(local_70 + 10) & 0xf) < 2;\n            bVar26 = (*(byte *)(local_70 + 10) & 0xf) == 2;\n            if (bVar26) {\n              bVar24 = false;\n              bVar26 = local_d2 == '\0';\n              if ((!bVar26) &&\n                 (((bVar13 == 0 || (bVar26 = uVar21 == 0x17, 0x17 < uVar21)) ||\n                  (bVar24 = (0x843f84U >> (uVar2 & 0x1f) & 1) != 0, !bVar24)))) {\n                local_b0 = *(undefined ****)(param_2 + 0x15c);\n                *(undefined4 *)((int)piVar18 + -0xc) = 1;\n                *(undefined4 *)((int)piVar18 + -0x10) = 0;\n                *(undefined *****)((int)piVar18 + -0x14) = &local_94;\n                *(undefined ****)((int)piVar18 + -0x18) = &local_78;\n                local_94 = local_b0 + 0xd;\n                *(undefined ****)((int)piVar18 + -0x1c) = local_94;\n                *(undefined1 **)((int)piVar18 + -0x20) = local_e0;\n                    \n                *(undefined4 *)((int)piVar18 + -0x24) = 0xd2ccb;\n                local_78 = local_c0;\n                local_74 = local_b4;\n                FUN_00074280();\n                bVar24 = (undefined1 *)0xffffffe3 < (undefined1 *)((int)piVar18 + -0x20);\n                bVar26 = piVar18 == (int *)0x4;\n                piVar18 = (int *)((int)piVar18 + -4);\n              }\n            }\n          }\n          else {\n            local_b4 = (undefined **)0x0;\n            bVar24 = false;\n            bVar13 = 0;\n            bVar26 = true;\n            local_c0 = (undefined **)0x0;\n          }" if (parenthesized_expression "(((uint)local_c0[0xb] & 1) == 0)" ( (binary_expression "((uint)local_c0[0xb] & 1) == 0" (parenthesized_expression "((uint)local_c0[0xb] & 1)" ( (binary_expression "(uint)local_c0[0xb] & 1" (cast_expression "(uint)local_c0[0xb]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "local_c0[0xb]" identifier [ number_literal ])) & number_literal) )) == number_literal) )) (compound_statement "{\n            local_b4 = (undefined **)local_70[3];\n            bVar13 = *(byte *)((int)local_70 + 0x2b) >> 5 & 1;\n            bVar24 = (*(byte *)(local_70 + 10) & 0xf) < 2;\n            bVar26 = (*(byte *)(local_70 + 10) & 0xf) == 2;\n            if (bVar26) {\n              bVar24 = false;\n              bVar26 = local_d2 == '\0';\n              if ((!bVar26) &&\n                 (((bVar13 == 0 || (bVar26 = uVar21 == 0x17, 0x17 < uVar21)) ||\n                  (bVar24 = (0x843f84U >> (uVar2 & 0x1f) & 1) != 0, !bVar24)))) {\n                local_b0 = *(undefined ****)(param_2 + 0x15c);\n                *(undefined4 *)((int)piVar18 + -0xc) = 1;\n                *(undefined4 *)((int)piVar18 + -0x10) = 0;\n                *(undefined *****)((int)piVar18 + -0x14) = &local_94;\n                *(undefined ****)((int)piVar18 + -0x18) = &local_78;\n                local_94 = local_b0 + 0xd;\n                *(undefined ****)((int)piVar18 + -0x1c) = local_94;\n                *(undefined1 **)((int)piVar18 + -0x20) = local_e0;\n                    \n                *(undefined4 *)((int)piVar18 + -0x24) = 0xd2ccb;\n                local_78 = local_c0;\n                local_74 = local_b4;\n                FUN_00074280();\n                bVar24 = (undefined1 *)0xffffffe3 < (undefined1 *)((int)piVar18 + -0x20);\n                bVar26 = piVar18 == (int *)0x4;\n                piVar18 = (int *)((int)piVar18 + -4);\n              }\n            }\n          }" { (expression_statement "local_b4 = (undefined **)local_70[3];" (assignment_expression "local_b4 = (undefined **)local_70[3]" identifier = (cast_expression "(undefined **)local_70[3]" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (subscript_expression "local_70[3]" identifier [ number_literal ]))) ;) (expression_statement "bVar13 = *(byte *)((int)local_70 + 0x2b) >> 5 & 1;" (assignment_expression "bVar13 = *(byte *)((int)local_70 + 0x2b) >> 5 & 1" identifier = (binary_expression "*(byte *)((int)local_70 + 0x2b) >> 5 & 1" (binary_expression "*(byte *)((int)local_70 + 0x2b) >> 5" (pointer_expression "*(byte *)((int)local_70 + 0x2b)" * (cast_expression "(byte *)((int)local_70 + 0x2b)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_70 + 0x2b)" ( (binary_expression "(int)local_70 + 0x2b" (cast_expression "(int)local_70" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) >> number_literal) & number_literal)) ;) (expression_statement "bVar24 = (*(byte *)(local_70 + 10) & 0xf) < 2;" (assignment_expression "bVar24 = (*(byte *)(local_70 + 10) & 0xf) < 2" identifier = (binary_expression "(*(byte *)(local_70 + 10) & 0xf) < 2" (parenthesized_expression "(*(byte *)(local_70 + 10) & 0xf)" ( (binary_expression "*(byte *)(local_70 + 10) & 0xf" (pointer_expression "*(byte *)(local_70 + 10)" * (cast_expression "(byte *)(local_70 + 10)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_70 + 10)" ( (binary_expression "local_70 + 10" identifier + number_literal) )))) & number_literal) )) < number_literal)) ;) (expression_statement "bVar26 = (*(byte *)(local_70 + 10) & 0xf) == 2;" (assignment_expression "bVar26 = (*(byte *)(local_70 + 10) & 0xf) == 2" identifier = (binary_expression "(*(byte *)(local_70 + 10) & 0xf) == 2" (parenthesized_expression "(*(byte *)(local_70 + 10) & 0xf)" ( (binary_expression "*(byte *)(local_70 + 10) & 0xf" (pointer_expression "*(byte *)(local_70 + 10)" * (cast_expression "(byte *)(local_70 + 10)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_70 + 10)" ( (binary_expression "local_70 + 10" identifier + number_literal) )))) & number_literal) )) == number_literal)) ;) (if_statement "if (bVar26) {\n              bVar24 = false;\n              bVar26 = local_d2 == '\0';\n              if ((!bVar26) &&\n                 (((bVar13 == 0 || (bVar26 = uVar21 == 0x17, 0x17 < uVar21)) ||\n                  (bVar24 = (0x843f84U >> (uVar2 & 0x1f) & 1) != 0, !bVar24)))) {\n                local_b0 = *(undefined ****)(param_2 + 0x15c);\n                *(undefined4 *)((int)piVar18 + -0xc) = 1;\n                *(undefined4 *)((int)piVar18 + -0x10) = 0;\n                *(undefined *****)((int)piVar18 + -0x14) = &local_94;\n                *(undefined ****)((int)piVar18 + -0x18) = &local_78;\n                local_94 = local_b0 + 0xd;\n                *(undefined ****)((int)piVar18 + -0x1c) = local_94;\n                *(undefined1 **)((int)piVar18 + -0x20) = local_e0;\n                    \n                *(undefined4 *)((int)piVar18 + -0x24) = 0xd2ccb;\n                local_78 = local_c0;\n                local_74 = local_b4;\n                FUN_00074280();\n                bVar24 = (undefined1 *)0xffffffe3 < (undefined1 *)((int)piVar18 + -0x20);\n                bVar26 = piVar18 == (int *)0x4;\n                piVar18 = (int *)((int)piVar18 + -4);\n              }\n            }" if (parenthesized_expression "(bVar26)" ( identifier )) (compound_statement "{\n              bVar24 = false;\n              bVar26 = local_d2 == '\0';\n              if ((!bVar26) &&\n                 (((bVar13 == 0 || (bVar26 = uVar21 == 0x17, 0x17 < uVar21)) ||\n                  (bVar24 = (0x843f84U >> (uVar2 & 0x1f) & 1) != 0, !bVar24)))) {\n                local_b0 = *(undefined ****)(param_2 + 0x15c);\n                *(undefined4 *)((int)piVar18 + -0xc) = 1;\n                *(undefined4 *)((int)piVar18 + -0x10) = 0;\n                *(undefined *****)((int)piVar18 + -0x14) = &local_94;\n                *(undefined ****)((int)piVar18 + -0x18) = &local_78;\n                local_94 = local_b0 + 0xd;\n                *(undefined ****)((int)piVar18 + -0x1c) = local_94;\n                *(undefined1 **)((int)piVar18 + -0x20) = local_e0;\n                    \n                *(undefined4 *)((int)piVar18 + -0x24) = 0xd2ccb;\n                local_78 = local_c0;\n                local_74 = local_b4;\n                FUN_00074280();\n                bVar24 = (undefined1 *)0xffffffe3 < (undefined1 *)((int)piVar18 + -0x20);\n                bVar26 = piVar18 == (int *)0x4;\n                piVar18 = (int *)((int)piVar18 + -4);\n              }\n            }" { (expression_statement "bVar24 = false;" (assignment_expression "bVar24 = false" identifier = false) ;) (expression_statement "bVar26 = local_d2 == '\0';" (assignment_expression "bVar26 = local_d2 == '\0'" identifier = (binary_expression "local_d2 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence '))) ;) (if_statement "if ((!bVar26) &&\n                 (((bVar13 == 0 || (bVar26 = uVar21 == 0x17, 0x17 < uVar21)) ||\n                  (bVar24 = (0x843f84U >> (uVar2 & 0x1f) & 1) != 0, !bVar24)))) {\n                local_b0 = *(undefined ****)(param_2 + 0x15c);\n                *(undefined4 *)((int)piVar18 + -0xc) = 1;\n                *(undefined4 *)((int)piVar18 + -0x10) = 0;\n                *(undefined *****)((int)piVar18 + -0x14) = &local_94;\n                *(undefined ****)((int)piVar18 + -0x18) = &local_78;\n                local_94 = local_b0 + 0xd;\n                *(undefined ****)((int)piVar18 + -0x1c) = local_94;\n                *(undefined1 **)((int)piVar18 + -0x20) = local_e0;\n                    \n                *(undefined4 *)((int)piVar18 + -0x24) = 0xd2ccb;\n                local_78 = local_c0;\n                local_74 = local_b4;\n                FUN_00074280();\n                bVar24 = (undefined1 *)0xffffffe3 < (undefined1 *)((int)piVar18 + -0x20);\n                bVar26 = piVar18 == (int *)0x4;\n                piVar18 = (int *)((int)piVar18 + -4);\n              }" if (parenthesized_expression "((!bVar26) &&\n                 (((bVar13 == 0 || (bVar26 = uVar21 == 0x17, 0x17 < uVar21)) ||\n                  (bVar24 = (0x843f84U >> (uVar2 & 0x1f) & 1) != 0, !bVar24))))" ( (binary_expression "(!bVar26) &&\n                 (((bVar13 == 0 || (bVar26 = uVar21 == 0x17, 0x17 < uVar21)) ||\n                  (bVar24 = (0x843f84U >> (uVar2 & 0x1f) & 1) != 0, !bVar24)))" (parenthesized_expression "(!bVar26)" ( (unary_expression "!bVar26" ! identifier) )) && (parenthesized_expression "(((bVar13 == 0 || (bVar26 = uVar21 == 0x17, 0x17 < uVar21)) ||\n                  (bVar24 = (0x843f84U >> (uVar2 & 0x1f) & 1) != 0, !bVar24)))" ( (parenthesized_expression "((bVar13 == 0 || (bVar26 = uVar21 == 0x17, 0x17 < uVar21)) ||\n                  (bVar24 = (0x843f84U >> (uVar2 & 0x1f) & 1) != 0, !bVar24))" ( (binary_expression "(bVar13 == 0 || (bVar26 = uVar21 == 0x17, 0x17 < uVar21)) ||\n                  (bVar24 = (0x843f84U >> (uVar2 & 0x1f) & 1) != 0, !bVar24)" (parenthesized_expression "(bVar13 == 0 || (bVar26 = uVar21 == 0x17, 0x17 < uVar21))" ( (binary_expression "bVar13 == 0 || (bVar26 = uVar21 == 0x17, 0x17 < uVar21)" (binary_expression "bVar13 == 0" identifier == number_literal) || (parenthesized_expression "(bVar26 = uVar21 == 0x17, 0x17 < uVar21)" ( (comma_expression "bVar26 = uVar21 == 0x17, 0x17 < uVar21" (assignment_expression "bVar26 = uVar21 == 0x17" identifier = (binary_expression "uVar21 == 0x17" identifier == number_literal)) , (binary_expression "0x17 < uVar21" number_literal < identifier)) ))) )) || (parenthesized_expression "(bVar24 = (0x843f84U >> (uVar2 & 0x1f) & 1) != 0, !bVar24)" ( (comma_expression "bVar24 = (0x843f84U >> (uVar2 & 0x1f) & 1) != 0, !bVar24" (assignment_expression "bVar24 = (0x843f84U >> (uVar2 & 0x1f) & 1) != 0" identifier = (binary_expression "(0x843f84U >> (uVar2 & 0x1f) & 1) != 0" (parenthesized_expression "(0x843f84U >> (uVar2 & 0x1f) & 1)" ( (binary_expression "0x843f84U >> (uVar2 & 0x1f) & 1" (binary_expression "0x843f84U >> (uVar2 & 0x1f)" number_literal >> (parenthesized_expression "(uVar2 & 0x1f)" ( (binary_expression "uVar2 & 0x1f" identifier & number_literal) ))) & number_literal) )) != number_literal)) , (unary_expression "!bVar24" ! identifier)) ))) )) ))) )) (compound_statement "{\n                local_b0 = *(undefined ****)(param_2 + 0x15c);\n                *(undefined4 *)((int)piVar18 + -0xc) = 1;\n                *(undefined4 *)((int)piVar18 + -0x10) = 0;\n                *(undefined *****)((int)piVar18 + -0x14) = &local_94;\n                *(undefined ****)((int)piVar18 + -0x18) = &local_78;\n                local_94 = local_b0 + 0xd;\n                *(undefined ****)((int)piVar18 + -0x1c) = local_94;\n                *(undefined1 **)((int)piVar18 + -0x20) = local_e0;\n                    \n                *(undefined4 *)((int)piVar18 + -0x24) = 0xd2ccb;\n                local_78 = local_c0;\n                local_74 = local_b4;\n                FUN_00074280();\n                bVar24 = (undefined1 *)0xffffffe3 < (undefined1 *)((int)piVar18 + -0x20);\n                bVar26 = piVar18 == (int *)0x4;\n                piVar18 = (int *)((int)piVar18 + -4);\n              }" { (expression_statement "local_b0 = *(undefined ****)(param_2 + 0x15c);" (assignment_expression "local_b0 = *(undefined ****)(param_2 + 0x15c)" identifier = (pointer_expression "*(undefined ****)(param_2 + 0x15c)" * (cast_expression "(undefined ****)(param_2 + 0x15c)" ( (type_descriptor "undefined ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) (parenthesized_expression "(param_2 + 0x15c)" ( (binary_expression "param_2 + 0x15c" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)((int)piVar18 + -0xc) = 1;" (assignment_expression "*(undefined4 *)((int)piVar18 + -0xc) = 1" (pointer_expression "*(undefined4 *)((int)piVar18 + -0xc)" * (cast_expression "(undefined4 *)((int)piVar18 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar18 + -0xc)" ( (binary_expression "(int)piVar18 + -0xc" (cast_expression "(int)piVar18" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)((int)piVar18 + -0x10) = 0;" (assignment_expression "*(undefined4 *)((int)piVar18 + -0x10) = 0" (pointer_expression "*(undefined4 *)((int)piVar18 + -0x10)" * (cast_expression "(undefined4 *)((int)piVar18 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar18 + -0x10)" ( (binary_expression "(int)piVar18 + -0x10" (cast_expression "(int)piVar18" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined *****)((int)piVar18 + -0x14) = &local_94;" (assignment_expression "*(undefined *****)((int)piVar18 + -0x14) = &local_94" (pointer_expression "*(undefined *****)((int)piVar18 + -0x14)" * (cast_expression "(undefined *****)((int)piVar18 + -0x14)" ( (type_descriptor "undefined *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (parenthesized_expression "((int)piVar18 + -0x14)" ( (binary_expression "(int)piVar18 + -0x14" (cast_expression "(int)piVar18" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "&local_94" & identifier)) ;) (expression_statement "*(undefined ****)((int)piVar18 + -0x18) = &local_78;" (assignment_expression "*(undefined ****)((int)piVar18 + -0x18) = &local_78" (pointer_expression "*(undefined ****)((int)piVar18 + -0x18)" * (cast_expression "(undefined ****)((int)piVar18 + -0x18)" ( (type_descriptor "undefined ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) (parenthesized_expression "((int)piVar18 + -0x18)" ( (binary_expression "(int)piVar18 + -0x18" (cast_expression "(int)piVar18" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "&local_78" & identifier)) ;) (expression_statement "local_94 = local_b0 + 0xd;" (assignment_expression "local_94 = local_b0 + 0xd" identifier = (binary_expression "local_b0 + 0xd" identifier + number_literal)) ;) (expression_statement "*(undefined ****)((int)piVar18 + -0x1c) = local_94;" (assignment_expression "*(undefined ****)((int)piVar18 + -0x1c) = local_94" (pointer_expression "*(undefined ****)((int)piVar18 + -0x1c)" * (cast_expression "(undefined ****)((int)piVar18 + -0x1c)" ( (type_descriptor "undefined ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) (parenthesized_expression "((int)piVar18 + -0x1c)" ( (binary_expression "(int)piVar18 + -0x1c" (cast_expression "(int)piVar18" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined1 **)((int)piVar18 + -0x20) = local_e0;" (assignment_expression "*(undefined1 **)((int)piVar18 + -0x20) = local_e0" (pointer_expression "*(undefined1 **)((int)piVar18 + -0x20)" * (cast_expression "(undefined1 **)((int)piVar18 + -0x20)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)piVar18 + -0x20)" ( (binary_expression "(int)piVar18 + -0x20" (cast_expression "(int)piVar18" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)piVar18 + -0x24) = 0xd2ccb;" (assignment_expression "*(undefined4 *)((int)piVar18 + -0x24) = 0xd2ccb" (pointer_expression "*(undefined4 *)((int)piVar18 + -0x24)" * (cast_expression "(undefined4 *)((int)piVar18 + -0x24)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar18 + -0x24)" ( (binary_expression "(int)piVar18 + -0x24" (cast_expression "(int)piVar18" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "local_78 = local_c0;" (assignment_expression "local_78 = local_c0" identifier = identifier) ;) (expression_statement "local_74 = local_b4;" (assignment_expression "local_74 = local_b4" identifier = identifier) ;) (expression_statement "FUN_00074280();" (call_expression "FUN_00074280()" identifier (argument_list "()" ( ))) ;) (expression_statement "bVar24 = (undefined1 *)0xffffffe3 < (undefined1 *)((int)piVar18 + -0x20);" (assignment_expression "bVar24 = (undefined1 *)0xffffffe3 < (undefined1 *)((int)piVar18 + -0x20)" identifier = (binary_expression "(undefined1 *)0xffffffe3 < (undefined1 *)((int)piVar18 + -0x20)" (cast_expression "(undefined1 *)0xffffffe3" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) < (cast_expression "(undefined1 *)((int)piVar18 + -0x20)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar18 + -0x20)" ( (binary_expression "(int)piVar18 + -0x20" (cast_expression "(int)piVar18" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "bVar26 = piVar18 == (int *)0x4;" (assignment_expression "bVar26 = piVar18 == (int *)0x4" identifier = (binary_expression "piVar18 == (int *)0x4" identifier == (cast_expression "(int *)0x4" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal))) ;) (expression_statement "piVar18 = (int *)((int)piVar18 + -4);" (assignment_expression "piVar18 = (int *)((int)piVar18 + -4)" identifier = (cast_expression "(int *)((int)piVar18 + -4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar18 + -4)" ( (binary_expression "(int)piVar18 + -4" (cast_expression "(int)piVar18" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) })) })) }) (else_clause "else {\n            local_b4 = (undefined **)0x0;\n            bVar24 = false;\n            bVar13 = 0;\n            bVar26 = true;\n            local_c0 = (undefined **)0x0;\n          }" else (compound_statement "{\n            local_b4 = (undefined **)0x0;\n            bVar24 = false;\n            bVar13 = 0;\n            bVar26 = true;\n            local_c0 = (undefined **)0x0;\n          }" { (expression_statement "local_b4 = (undefined **)0x0;" (assignment_expression "local_b4 = (undefined **)0x0" identifier = (cast_expression "(undefined **)0x0" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) ;) (expression_statement "bVar24 = false;" (assignment_expression "bVar24 = false" identifier = false) ;) (expression_statement "bVar13 = 0;" (assignment_expression "bVar13 = 0" identifier = number_literal) ;) (expression_statement "bVar26 = true;" (assignment_expression "bVar26 = true" identifier = true) ;) (expression_statement "local_c0 = (undefined **)0x0;" (assignment_expression "local_c0 = (undefined **)0x0" identifier = (cast_expression "(undefined **)0x0" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) ;) }))) }))) (expression_statement "pbVar20 = *local_70;" (assignment_expression "pbVar20 = *local_70" identifier = (pointer_expression "*local_70" * identifier)) ;) (expression_statement "iVar19 = 8;" (assignment_expression "iVar19 = 8" identifier = number_literal) ;) (expression_statement "pbVar9 = (byte *)((int)local_b8 + -0x19ca26);" (assignment_expression "pbVar9 = (byte *)((int)local_b8 + -0x19ca26)" identifier = (cast_expression "(byte *)((int)local_b8 + -0x19ca26)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_b8 + -0x19ca26)" ( (binary_expression "(int)local_b8 + -0x19ca26" (cast_expression "(int)local_b8" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "pbVar22 = pbVar20;" (assignment_expression "pbVar22 = pbVar20" identifier = identifier) ;) (do_statement "do {\n          if (iVar19 == 0) break;\n          iVar19 = iVar19 + -1;\n          bVar24 = *pbVar9 < *pbVar22;\n          bVar26 = *pbVar9 == *pbVar22;\n          pbVar9 = pbVar9 + (uint)bVar27 * -2 + 1;\n          pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n        } while (bVar26);" do (compound_statement "{\n          if (iVar19 == 0) break;\n          iVar19 = iVar19 + -1;\n          bVar24 = *pbVar9 < *pbVar22;\n          bVar26 = *pbVar9 == *pbVar22;\n          pbVar9 = pbVar9 + (uint)bVar27 * -2 + 1;\n          pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n        }" { (if_statement "if (iVar19 == 0) break;" if (parenthesized_expression "(iVar19 == 0)" ( (binary_expression "iVar19 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar19 = iVar19 + -1;" (assignment_expression "iVar19 = iVar19 + -1" identifier = (binary_expression "iVar19 + -1" identifier + number_literal)) ;) (expression_statement "bVar24 = *pbVar9 < *pbVar22;" (assignment_expression "bVar24 = *pbVar9 < *pbVar22" identifier = (binary_expression "*pbVar9 < *pbVar22" (pointer_expression "*pbVar9" * identifier) < (pointer_expression "*pbVar22" * identifier))) ;) (expression_statement "bVar26 = *pbVar9 == *pbVar22;" (assignment_expression "bVar26 = *pbVar9 == *pbVar22" identifier = (binary_expression "*pbVar9 == *pbVar22" (pointer_expression "*pbVar9" * identifier) == (pointer_expression "*pbVar22" * identifier))) ;) (expression_statement "pbVar9 = pbVar9 + (uint)bVar27 * -2 + 1;" (assignment_expression "pbVar9 = pbVar9 + (uint)bVar27 * -2 + 1" identifier = (binary_expression "pbVar9 + (uint)bVar27 * -2 + 1" (binary_expression "pbVar9 + (uint)bVar27 * -2" identifier + (binary_expression "(uint)bVar27 * -2" (cast_expression "(uint)bVar27" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;" (assignment_expression "pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1" identifier = (binary_expression "pbVar22 + (uint)bVar27 * -2 + 1" (binary_expression "pbVar22 + (uint)bVar27 * -2" identifier + (binary_expression "(uint)bVar27 * -2" (cast_expression "(uint)bVar27" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(bVar26)" ( identifier )) ;) (expression_statement "bVar25 = false;" (assignment_expression "bVar25 = false" identifier = false) ;) (expression_statement "bVar24 = (!bVar24 && !bVar26) == bVar24;" (assignment_expression "bVar24 = (!bVar24 && !bVar26) == bVar24" identifier = (binary_expression "(!bVar24 && !bVar26) == bVar24" (parenthesized_expression "(!bVar24 && !bVar26)" ( (binary_expression "!bVar24 && !bVar26" (unary_expression "!bVar24" ! identifier) && (unary_expression "!bVar26" ! identifier)) )) == identifier)) ;) (if_statement "if (bVar24) {\n          pbVar20 = pbVar20 + 8;\n        }\n        else {\n          iVar19 = 7;\n          pbVar9 = (byte *)((int)local_b8 + -0x19ca1d);\n          pbVar22 = pbVar20;\n          do {\n            if (iVar19 == 0) break;\n            iVar19 = iVar19 + -1;\n            bVar25 = *pbVar9 < *pbVar22;\n            bVar24 = *pbVar9 == *pbVar22;\n            pbVar9 = pbVar9 + (uint)bVar27 * -2 + 1;\n            pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n          } while (bVar24);\n          pbVar20 = pbVar20 + 7;\n          if ((!bVar25 && !bVar24) != bVar25) {\n            pbVar20 = local_d8;\n          }\n        }" if (parenthesized_expression "(bVar24)" ( identifier )) (compound_statement "{\n          pbVar20 = pbVar20 + 8;\n        }" { (expression_statement "pbVar20 = pbVar20 + 8;" (assignment_expression "pbVar20 = pbVar20 + 8" identifier = (binary_expression "pbVar20 + 8" identifier + number_literal)) ;) }) (else_clause "else {\n          iVar19 = 7;\n          pbVar9 = (byte *)((int)local_b8 + -0x19ca1d);\n          pbVar22 = pbVar20;\n          do {\n            if (iVar19 == 0) break;\n            iVar19 = iVar19 + -1;\n            bVar25 = *pbVar9 < *pbVar22;\n            bVar24 = *pbVar9 == *pbVar22;\n            pbVar9 = pbVar9 + (uint)bVar27 * -2 + 1;\n            pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n          } while (bVar24);\n          pbVar20 = pbVar20 + 7;\n          if ((!bVar25 && !bVar24) != bVar25) {\n            pbVar20 = local_d8;\n          }\n        }" else (compound_statement "{\n          iVar19 = 7;\n          pbVar9 = (byte *)((int)local_b8 + -0x19ca1d);\n          pbVar22 = pbVar20;\n          do {\n            if (iVar19 == 0) break;\n            iVar19 = iVar19 + -1;\n            bVar25 = *pbVar9 < *pbVar22;\n            bVar24 = *pbVar9 == *pbVar22;\n            pbVar9 = pbVar9 + (uint)bVar27 * -2 + 1;\n            pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n          } while (bVar24);\n          pbVar20 = pbVar20 + 7;\n          if ((!bVar25 && !bVar24) != bVar25) {\n            pbVar20 = local_d8;\n          }\n        }" { (expression_statement "iVar19 = 7;" (assignment_expression "iVar19 = 7" identifier = number_literal) ;) (expression_statement "pbVar9 = (byte *)((int)local_b8 + -0x19ca1d);" (assignment_expression "pbVar9 = (byte *)((int)local_b8 + -0x19ca1d)" identifier = (cast_expression "(byte *)((int)local_b8 + -0x19ca1d)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_b8 + -0x19ca1d)" ( (binary_expression "(int)local_b8 + -0x19ca1d" (cast_expression "(int)local_b8" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "pbVar22 = pbVar20;" (assignment_expression "pbVar22 = pbVar20" identifier = identifier) ;) (do_statement "do {\n            if (iVar19 == 0) break;\n            iVar19 = iVar19 + -1;\n            bVar25 = *pbVar9 < *pbVar22;\n            bVar24 = *pbVar9 == *pbVar22;\n            pbVar9 = pbVar9 + (uint)bVar27 * -2 + 1;\n            pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n          } while (bVar24);" do (compound_statement "{\n            if (iVar19 == 0) break;\n            iVar19 = iVar19 + -1;\n            bVar25 = *pbVar9 < *pbVar22;\n            bVar24 = *pbVar9 == *pbVar22;\n            pbVar9 = pbVar9 + (uint)bVar27 * -2 + 1;\n            pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n          }" { (if_statement "if (iVar19 == 0) break;" if (parenthesized_expression "(iVar19 == 0)" ( (binary_expression "iVar19 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar19 = iVar19 + -1;" (assignment_expression "iVar19 = iVar19 + -1" identifier = (binary_expression "iVar19 + -1" identifier + number_literal)) ;) (expression_statement "bVar25 = *pbVar9 < *pbVar22;" (assignment_expression "bVar25 = *pbVar9 < *pbVar22" identifier = (binary_expression "*pbVar9 < *pbVar22" (pointer_expression "*pbVar9" * identifier) < (pointer_expression "*pbVar22" * identifier))) ;) (expression_statement "bVar24 = *pbVar9 == *pbVar22;" (assignment_expression "bVar24 = *pbVar9 == *pbVar22" identifier = (binary_expression "*pbVar9 == *pbVar22" (pointer_expression "*pbVar9" * identifier) == (pointer_expression "*pbVar22" * identifier))) ;) (expression_statement "pbVar9 = pbVar9 + (uint)bVar27 * -2 + 1;" (assignment_expression "pbVar9 = pbVar9 + (uint)bVar27 * -2 + 1" identifier = (binary_expression "pbVar9 + (uint)bVar27 * -2 + 1" (binary_expression "pbVar9 + (uint)bVar27 * -2" identifier + (binary_expression "(uint)bVar27 * -2" (cast_expression "(uint)bVar27" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;" (assignment_expression "pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1" identifier = (binary_expression "pbVar22 + (uint)bVar27 * -2 + 1" (binary_expression "pbVar22 + (uint)bVar27 * -2" identifier + (binary_expression "(uint)bVar27 * -2" (cast_expression "(uint)bVar27" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(bVar24)" ( identifier )) ;) (expression_statement "pbVar20 = pbVar20 + 7;" (assignment_expression "pbVar20 = pbVar20 + 7" identifier = (binary_expression "pbVar20 + 7" identifier + number_literal)) ;) (if_statement "if ((!bVar25 && !bVar24) != bVar25) {\n            pbVar20 = local_d8;\n          }" if (parenthesized_expression "((!bVar25 && !bVar24) != bVar25)" ( (binary_expression "(!bVar25 && !bVar24) != bVar25" (parenthesized_expression "(!bVar25 && !bVar24)" ( (binary_expression "!bVar25 && !bVar24" (unary_expression "!bVar25" ! identifier) && (unary_expression "!bVar24" ! identifier)) )) != identifier) )) (compound_statement "{\n            pbVar20 = local_d8;\n          }" { (expression_statement "pbVar20 = local_d8;" (assignment_expression "pbVar20 = local_d8" identifier = identifier) ;) })) }))) (expression_statement "local_d8 = pbVar20;" (assignment_expression "local_d8 = pbVar20" identifier = identifier) ;) (if_statement "if (local_d1 != '\0') {\n          if (bVar13 == 0) {\n            local_34 = (undefined **)0x0;\n            local_30 = (undefined **)0x0;\n          }\n          else {\n            local_34 = local_c0;\n            local_30 = local_b4;\n          }\n          local_b0 = &local_34;\n          *(undefined ****)((int)piVar18 + -0xc) = local_b0;\n          *(int *)((int)piVar18 + -0x10) = local_c8;\n          *(undefined4 *)((int)piVar18 + -0x14) = 0xd26b9;\n          FUN_00073b00();\n          puVar1 = *(undefined4 **)(local_cc + 4);\n          if (puVar1 == *(undefined4 **)(local_cc + 8)) {\n            *(undefined ****)((int)piVar18 + -8) = &local_70;\n            *(undefined4 **)((int)piVar18 + -0xc) = puVar1;\n            *(int *)((int)piVar18 + -0x10) = local_cc;\n            *(undefined4 *)((int)piVar18 + -0x14) = 0xd2b4b;\n            FUN_000726c0();\n          }\n          else {\n            *puVar1 = local_70;\n            *(undefined4 **)(local_cc + 4) = puVar1 + 1;\n          }\n          *(undefined ****)((int)piVar18 + -0xc) = local_b0;\n          *(undefined ***)((int)piVar18 + -0x10) = local_e8;\n          local_34 = local_f0;\n          local_30 = (undefined **)0x0;\n          local_2c = local_bc;\n          local_28 = (int)local_bc >> 0x1f;\n          *(undefined4 *)((int)piVar18 + -0x14) = 0xd270d;\n          FUN_00073e70();\n          local_30 = (undefined **)0x0;\n          local_34 = (undefined **)*param_7;\n          puVar1 = *(undefined4 **)(local_d0 + 4);\n          if (puVar1 == *(undefined4 **)(local_d0 + 8)) {\n            *(undefined ****)((int)piVar18 + -8) = local_b0;\n            *(undefined4 **)((int)piVar18 + -0xc) = puVar1;\n            *(int *)((int)piVar18 + -0x10) = local_d0;\n            *(undefined4 *)((int)piVar18 + -0x14) = 0xd2bbd;\n            FUN_00072a40();\n          }\n          else {\n            *puVar1 = local_34;\n            puVar1[1] = 0;\n            *(undefined4 **)(local_d0 + 4) = puVar1 + 2;\n          }\n          local_68 = (undefined **)0x0;\n          *(undefined ****)((int)piVar18 + -0xc) = &local_68;\n          *(int *)((int)piVar18 + -0x10) = local_ec;\n          *(undefined4 *)((int)piVar18 + -0x14) = 0xd2753;\n          FUN_00074020();\n        }" if (parenthesized_expression "(local_d1 != '\0')" ( (binary_expression "local_d1 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n          if (bVar13 == 0) {\n            local_34 = (undefined **)0x0;\n            local_30 = (undefined **)0x0;\n          }\n          else {\n            local_34 = local_c0;\n            local_30 = local_b4;\n          }\n          local_b0 = &local_34;\n          *(undefined ****)((int)piVar18 + -0xc) = local_b0;\n          *(int *)((int)piVar18 + -0x10) = local_c8;\n          *(undefined4 *)((int)piVar18 + -0x14) = 0xd26b9;\n          FUN_00073b00();\n          puVar1 = *(undefined4 **)(local_cc + 4);\n          if (puVar1 == *(undefined4 **)(local_cc + 8)) {\n            *(undefined ****)((int)piVar18 + -8) = &local_70;\n            *(undefined4 **)((int)piVar18 + -0xc) = puVar1;\n            *(int *)((int)piVar18 + -0x10) = local_cc;\n            *(undefined4 *)((int)piVar18 + -0x14) = 0xd2b4b;\n            FUN_000726c0();\n          }\n          else {\n            *puVar1 = local_70;\n            *(undefined4 **)(local_cc + 4) = puVar1 + 1;\n          }\n          *(undefined ****)((int)piVar18 + -0xc) = local_b0;\n          *(undefined ***)((int)piVar18 + -0x10) = local_e8;\n          local_34 = local_f0;\n          local_30 = (undefined **)0x0;\n          local_2c = local_bc;\n          local_28 = (int)local_bc >> 0x1f;\n          *(undefined4 *)((int)piVar18 + -0x14) = 0xd270d;\n          FUN_00073e70();\n          local_30 = (undefined **)0x0;\n          local_34 = (undefined **)*param_7;\n          puVar1 = *(undefined4 **)(local_d0 + 4);\n          if (puVar1 == *(undefined4 **)(local_d0 + 8)) {\n            *(undefined ****)((int)piVar18 + -8) = local_b0;\n            *(undefined4 **)((int)piVar18 + -0xc) = puVar1;\n            *(int *)((int)piVar18 + -0x10) = local_d0;\n            *(undefined4 *)((int)piVar18 + -0x14) = 0xd2bbd;\n            FUN_00072a40();\n          }\n          else {\n            *puVar1 = local_34;\n            puVar1[1] = 0;\n            *(undefined4 **)(local_d0 + 4) = puVar1 + 2;\n          }\n          local_68 = (undefined **)0x0;\n          *(undefined ****)((int)piVar18 + -0xc) = &local_68;\n          *(int *)((int)piVar18 + -0x10) = local_ec;\n          *(undefined4 *)((int)piVar18 + -0x14) = 0xd2753;\n          FUN_00074020();\n        }" { (if_statement "if (bVar13 == 0) {\n            local_34 = (undefined **)0x0;\n            local_30 = (undefined **)0x0;\n          }\n          else {\n            local_34 = local_c0;\n            local_30 = local_b4;\n          }" if (parenthesized_expression "(bVar13 == 0)" ( (binary_expression "bVar13 == 0" identifier == number_literal) )) (compound_statement "{\n            local_34 = (undefined **)0x0;\n            local_30 = (undefined **)0x0;\n          }" { (expression_statement "local_34 = (undefined **)0x0;" (assignment_expression "local_34 = (undefined **)0x0" identifier = (cast_expression "(undefined **)0x0" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) ;) (expression_statement "local_30 = (undefined **)0x0;" (assignment_expression "local_30 = (undefined **)0x0" identifier = (cast_expression "(undefined **)0x0" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) ;) }) (else_clause "else {\n            local_34 = local_c0;\n            local_30 = local_b4;\n          }" else (compound_statement "{\n            local_34 = local_c0;\n            local_30 = local_b4;\n          }" { (expression_statement "local_34 = local_c0;" (assignment_expression "local_34 = local_c0" identifier = identifier) ;) (expression_statement "local_30 = local_b4;" (assignment_expression "local_30 = local_b4" identifier = identifier) ;) }))) (expression_statement "local_b0 = &local_34;" (assignment_expression "local_b0 = &local_34" identifier = (pointer_expression "&local_34" & identifier)) ;) (expression_statement "*(undefined ****)((int)piVar18 + -0xc) = local_b0;" (assignment_expression "*(undefined ****)((int)piVar18 + -0xc) = local_b0" (pointer_expression "*(undefined ****)((int)piVar18 + -0xc)" * (cast_expression "(undefined ****)((int)piVar18 + -0xc)" ( (type_descriptor "undefined ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) (parenthesized_expression "((int)piVar18 + -0xc)" ( (binary_expression "(int)piVar18 + -0xc" (cast_expression "(int)piVar18" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(int *)((int)piVar18 + -0x10) = local_c8;" (assignment_expression "*(int *)((int)piVar18 + -0x10) = local_c8" (pointer_expression "*(int *)((int)piVar18 + -0x10)" * (cast_expression "(int *)((int)piVar18 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar18 + -0x10)" ( (binary_expression "(int)piVar18 + -0x10" (cast_expression "(int)piVar18" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)piVar18 + -0x14) = 0xd26b9;" (assignment_expression "*(undefined4 *)((int)piVar18 + -0x14) = 0xd26b9" (pointer_expression "*(undefined4 *)((int)piVar18 + -0x14)" * (cast_expression "(undefined4 *)((int)piVar18 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar18 + -0x14)" ( (binary_expression "(int)piVar18 + -0x14" (cast_expression "(int)piVar18" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "FUN_00073b00();" (call_expression "FUN_00073b00()" identifier (argument_list "()" ( ))) ;) (expression_statement "puVar1 = *(undefined4 **)(local_cc + 4);" (assignment_expression "puVar1 = *(undefined4 **)(local_cc + 4)" identifier = (pointer_expression "*(undefined4 **)(local_cc + 4)" * (cast_expression "(undefined4 **)(local_cc + 4)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(local_cc + 4)" ( (binary_expression "local_cc + 4" identifier + number_literal) ))))) ;) (if_statement "if (puVar1 == *(undefined4 **)(local_cc + 8)) {\n            *(undefined ****)((int)piVar18 + -8) = &local_70;\n            *(undefined4 **)((int)piVar18 + -0xc) = puVar1;\n            *(int *)((int)piVar18 + -0x10) = local_cc;\n            *(undefined4 *)((int)piVar18 + -0x14) = 0xd2b4b;\n            FUN_000726c0();\n          }\n          else {\n            *puVar1 = local_70;\n            *(undefined4 **)(local_cc + 4) = puVar1 + 1;\n          }" if (parenthesized_expression "(puVar1 == *(undefined4 **)(local_cc + 8))" ( (binary_expression "puVar1 == *(undefined4 **)(local_cc + 8)" identifier == (pointer_expression "*(undefined4 **)(local_cc + 8)" * (cast_expression "(undefined4 **)(local_cc + 8)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(local_cc + 8)" ( (binary_expression "local_cc + 8" identifier + number_literal) ))))) )) (compound_statement "{\n            *(undefined ****)((int)piVar18 + -8) = &local_70;\n            *(undefined4 **)((int)piVar18 + -0xc) = puVar1;\n            *(int *)((int)piVar18 + -0x10) = local_cc;\n            *(undefined4 *)((int)piVar18 + -0x14) = 0xd2b4b;\n            FUN_000726c0();\n          }" { (expression_statement "*(undefined ****)((int)piVar18 + -8) = &local_70;" (assignment_expression "*(undefined ****)((int)piVar18 + -8) = &local_70" (pointer_expression "*(undefined ****)((int)piVar18 + -8)" * (cast_expression "(undefined ****)((int)piVar18 + -8)" ( (type_descriptor "undefined ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) (parenthesized_expression "((int)piVar18 + -8)" ( (binary_expression "(int)piVar18 + -8" (cast_expression "(int)piVar18" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "&local_70" & identifier)) ;) (expression_statement "*(undefined4 **)((int)piVar18 + -0xc) = puVar1;" (assignment_expression "*(undefined4 **)((int)piVar18 + -0xc) = puVar1" (pointer_expression "*(undefined4 **)((int)piVar18 + -0xc)" * (cast_expression "(undefined4 **)((int)piVar18 + -0xc)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)piVar18 + -0xc)" ( (binary_expression "(int)piVar18 + -0xc" (cast_expression "(int)piVar18" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(int *)((int)piVar18 + -0x10) = local_cc;" (assignment_expression "*(int *)((int)piVar18 + -0x10) = local_cc" (pointer_expression "*(int *)((int)piVar18 + -0x10)" * (cast_expression "(int *)((int)piVar18 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar18 + -0x10)" ( (binary_expression "(int)piVar18 + -0x10" (cast_expression "(int)piVar18" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)piVar18 + -0x14) = 0xd2b4b;" (assignment_expression "*(undefined4 *)((int)piVar18 + -0x14) = 0xd2b4b" (pointer_expression "*(undefined4 *)((int)piVar18 + -0x14)" * (cast_expression "(undefined4 *)((int)piVar18 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar18 + -0x14)" ( (binary_expression "(int)piVar18 + -0x14" (cast_expression "(int)piVar18" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "FUN_000726c0();" (call_expression "FUN_000726c0()" identifier (argument_list "()" ( ))) ;) }) (else_clause "else {\n            *puVar1 = local_70;\n            *(undefined4 **)(local_cc + 4) = puVar1 + 1;\n          }" else (compound_statement "{\n            *puVar1 = local_70;\n            *(undefined4 **)(local_cc + 4) = puVar1 + 1;\n          }" { (expression_statement "*puVar1 = local_70;" (assignment_expression "*puVar1 = local_70" (pointer_expression "*puVar1" * identifier) = identifier) ;) (expression_statement "*(undefined4 **)(local_cc + 4) = puVar1 + 1;" (assignment_expression "*(undefined4 **)(local_cc + 4) = puVar1 + 1" (pointer_expression "*(undefined4 **)(local_cc + 4)" * (cast_expression "(undefined4 **)(local_cc + 4)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(local_cc + 4)" ( (binary_expression "local_cc + 4" identifier + number_literal) )))) = (binary_expression "puVar1 + 1" identifier + number_literal)) ;) }))) (expression_statement "*(undefined ****)((int)piVar18 + -0xc) = local_b0;" (assignment_expression "*(undefined ****)((int)piVar18 + -0xc) = local_b0" (pointer_expression "*(undefined ****)((int)piVar18 + -0xc)" * (cast_expression "(undefined ****)((int)piVar18 + -0xc)" ( (type_descriptor "undefined ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) (parenthesized_expression "((int)piVar18 + -0xc)" ( (binary_expression "(int)piVar18 + -0xc" (cast_expression "(int)piVar18" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined ***)((int)piVar18 + -0x10) = local_e8;" (assignment_expression "*(undefined ***)((int)piVar18 + -0x10) = local_e8" (pointer_expression "*(undefined ***)((int)piVar18 + -0x10)" * (cast_expression "(undefined ***)((int)piVar18 + -0x10)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "((int)piVar18 + -0x10)" ( (binary_expression "(int)piVar18 + -0x10" (cast_expression "(int)piVar18" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "local_34 = local_f0;" (assignment_expression "local_34 = local_f0" identifier = identifier) ;) (expression_statement "local_30 = (undefined **)0x0;" (assignment_expression "local_30 = (undefined **)0x0" identifier = (cast_expression "(undefined **)0x0" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) ;) (expression_statement "local_2c = local_bc;" (assignment_expression "local_2c = local_bc" identifier = identifier) ;) (expression_statement "local_28 = (int)local_bc >> 0x1f;" (assignment_expression "local_28 = (int)local_bc >> 0x1f" identifier = (binary_expression "(int)local_bc >> 0x1f" (cast_expression "(int)local_bc" ( (type_descriptor "int" primitive_type) ) identifier) >> number_literal)) ;) (expression_statement "*(undefined4 *)((int)piVar18 + -0x14) = 0xd270d;" (assignment_expression "*(undefined4 *)((int)piVar18 + -0x14) = 0xd270d" (pointer_expression "*(undefined4 *)((int)piVar18 + -0x14)" * (cast_expression "(undefined4 *)((int)piVar18 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar18 + -0x14)" ( (binary_expression "(int)piVar18 + -0x14" (cast_expression "(int)piVar18" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "FUN_00073e70();" (call_expression "FUN_00073e70()" identifier (argument_list "()" ( ))) ;) (expression_statement "local_30 = (undefined **)0x0;" (assignment_expression "local_30 = (undefined **)0x0" identifier = (cast_expression "(undefined **)0x0" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) ;) (expression_statement "local_34 = (undefined **)*param_7;" (assignment_expression "local_34 = (undefined **)*param_7" identifier = (cast_expression "(undefined **)*param_7" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (pointer_expression "*param_7" * identifier))) ;) (expression_statement "puVar1 = *(undefined4 **)(local_d0 + 4);" (assignment_expression "puVar1 = *(undefined4 **)(local_d0 + 4)" identifier = (pointer_expression "*(undefined4 **)(local_d0 + 4)" * (cast_expression "(undefined4 **)(local_d0 + 4)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(local_d0 + 4)" ( (binary_expression "local_d0 + 4" identifier + number_literal) ))))) ;) (if_statement "if (puVar1 == *(undefined4 **)(local_d0 + 8)) {\n            *(undefined ****)((int)piVar18 + -8) = local_b0;\n            *(undefined4 **)((int)piVar18 + -0xc) = puVar1;\n            *(int *)((int)piVar18 + -0x10) = local_d0;\n            *(undefined4 *)((int)piVar18 + -0x14) = 0xd2bbd;\n            FUN_00072a40();\n          }\n          else {\n            *puVar1 = local_34;\n            puVar1[1] = 0;\n            *(undefined4 **)(local_d0 + 4) = puVar1 + 2;\n          }" if (parenthesized_expression "(puVar1 == *(undefined4 **)(local_d0 + 8))" ( (binary_expression "puVar1 == *(undefined4 **)(local_d0 + 8)" identifier == (pointer_expression "*(undefined4 **)(local_d0 + 8)" * (cast_expression "(undefined4 **)(local_d0 + 8)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(local_d0 + 8)" ( (binary_expression "local_d0 + 8" identifier + number_literal) ))))) )) (compound_statement "{\n            *(undefined ****)((int)piVar18 + -8) = local_b0;\n            *(undefined4 **)((int)piVar18 + -0xc) = puVar1;\n            *(int *)((int)piVar18 + -0x10) = local_d0;\n            *(undefined4 *)((int)piVar18 + -0x14) = 0xd2bbd;\n            FUN_00072a40();\n          }" { (expression_statement "*(undefined ****)((int)piVar18 + -8) = local_b0;" (assignment_expression "*(undefined ****)((int)piVar18 + -8) = local_b0" (pointer_expression "*(undefined ****)((int)piVar18 + -8)" * (cast_expression "(undefined ****)((int)piVar18 + -8)" ( (type_descriptor "undefined ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) (parenthesized_expression "((int)piVar18 + -8)" ( (binary_expression "(int)piVar18 + -8" (cast_expression "(int)piVar18" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 **)((int)piVar18 + -0xc) = puVar1;" (assignment_expression "*(undefined4 **)((int)piVar18 + -0xc) = puVar1" (pointer_expression "*(undefined4 **)((int)piVar18 + -0xc)" * (cast_expression "(undefined4 **)((int)piVar18 + -0xc)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)piVar18 + -0xc)" ( (binary_expression "(int)piVar18 + -0xc" (cast_expression "(int)piVar18" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(int *)((int)piVar18 + -0x10) = local_d0;" (assignment_expression "*(int *)((int)piVar18 + -0x10) = local_d0" (pointer_expression "*(int *)((int)piVar18 + -0x10)" * (cast_expression "(int *)((int)piVar18 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar18 + -0x10)" ( (binary_expression "(int)piVar18 + -0x10" (cast_expression "(int)piVar18" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)piVar18 + -0x14) = 0xd2bbd;" (assignment_expression "*(undefined4 *)((int)piVar18 + -0x14) = 0xd2bbd" (pointer_expression "*(undefined4 *)((int)piVar18 + -0x14)" * (cast_expression "(undefined4 *)((int)piVar18 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar18 + -0x14)" ( (binary_expression "(int)piVar18 + -0x14" (cast_expression "(int)piVar18" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "FUN_00072a40();" (call_expression "FUN_00072a40()" identifier (argument_list "()" ( ))) ;) }) (else_clause "else {\n            *puVar1 = local_34;\n            puVar1[1] = 0;\n            *(undefined4 **)(local_d0 + 4) = puVar1 + 2;\n          }" else (compound_statement "{\n            *puVar1 = local_34;\n            puVar1[1] = 0;\n            *(undefined4 **)(local_d0 + 4) = puVar1 + 2;\n          }" { (expression_statement "*puVar1 = local_34;" (assignment_expression "*puVar1 = local_34" (pointer_expression "*puVar1" * identifier) = identifier) ;) (expression_statement "puVar1[1] = 0;" (assignment_expression "puVar1[1] = 0" (subscript_expression "puVar1[1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "*(undefined4 **)(local_d0 + 4) = puVar1 + 2;" (assignment_expression "*(undefined4 **)(local_d0 + 4) = puVar1 + 2" (pointer_expression "*(undefined4 **)(local_d0 + 4)" * (cast_expression "(undefined4 **)(local_d0 + 4)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(local_d0 + 4)" ( (binary_expression "local_d0 + 4" identifier + number_literal) )))) = (binary_expression "puVar1 + 2" identifier + number_literal)) ;) }))) (expression_statement "local_68 = (undefined **)0x0;" (assignment_expression "local_68 = (undefined **)0x0" identifier = (cast_expression "(undefined **)0x0" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) ;) (expression_statement "*(undefined ****)((int)piVar18 + -0xc) = &local_68;" (assignment_expression "*(undefined ****)((int)piVar18 + -0xc) = &local_68" (pointer_expression "*(undefined ****)((int)piVar18 + -0xc)" * (cast_expression "(undefined ****)((int)piVar18 + -0xc)" ( (type_descriptor "undefined ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) (parenthesized_expression "((int)piVar18 + -0xc)" ( (binary_expression "(int)piVar18 + -0xc" (cast_expression "(int)piVar18" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "&local_68" & identifier)) ;) (expression_statement "*(int *)((int)piVar18 + -0x10) = local_ec;" (assignment_expression "*(int *)((int)piVar18 + -0x10) = local_ec" (pointer_expression "*(int *)((int)piVar18 + -0x10)" * (cast_expression "(int *)((int)piVar18 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar18 + -0x10)" ( (binary_expression "(int)piVar18 + -0x10" (cast_expression "(int)piVar18" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)piVar18 + -0x14) = 0xd2753;" (assignment_expression "*(undefined4 *)((int)piVar18 + -0x14) = 0xd2753" (pointer_expression "*(undefined4 *)((int)piVar18 + -0x14)" * (cast_expression "(undefined4 *)((int)piVar18 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar18 + -0x14)" ( (binary_expression "(int)piVar18 + -0x14" (cast_expression "(int)piVar18" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "FUN_00074020();" (call_expression "FUN_00074020()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "puVar17 = (undefined1 *)piVar18;" (assignment_expression "puVar17 = (undefined1 *)piVar18" identifier = (cast_expression "(undefined1 *)piVar18" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (if_statement "if (bVar13 != 0) goto LAB_000d275e;" if (parenthesized_expression "(bVar13 != 0)" ( (binary_expression "bVar13 != 0" identifier != number_literal) )) (goto_statement "goto LAB_000d275e;" goto statement_identifier ;)) }))) (labeled_statement "LAB_000d2489:\n      local_e4 = local_e4 + 1;" statement_identifier : (expression_statement "local_e4 = local_e4 + 1;" (assignment_expression "local_e4 = local_e4 + 1" identifier = (binary_expression "local_e4 + 1" identifier + number_literal)) ;)) (expression_statement "param_7 = param_7 + 3;" (assignment_expression "param_7 = param_7 + 3" identifier = (binary_expression "param_7 + 3" identifier + number_literal)) ;) }) while (parenthesized_expression "(param_8 != local_e4)" ( (binary_expression "param_8 != local_e4" identifier != identifier) )) ;) })) (if_statement "if (local_4c[0] != local_f8) {\n    *(byte **)((int)piVar18 + -0x10) = local_4c[0];\n    *(undefined4 *)((int)piVar18 + -0x14) = 0xd2c22;\n    FUN_003ae080();\n  }" if (parenthesized_expression "(local_4c[0] != local_f8)" ( (binary_expression "local_4c[0] != local_f8" (subscript_expression "local_4c[0]" identifier [ number_literal ]) != identifier) )) (compound_statement "{\n    *(byte **)((int)piVar18 + -0x10) = local_4c[0];\n    *(undefined4 *)((int)piVar18 + -0x14) = 0xd2c22;\n    FUN_003ae080();\n  }" { (expression_statement "*(byte **)((int)piVar18 + -0x10) = local_4c[0];" (assignment_expression "*(byte **)((int)piVar18 + -0x10) = local_4c[0]" (pointer_expression "*(byte **)((int)piVar18 + -0x10)" * (cast_expression "(byte **)((int)piVar18 + -0x10)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)piVar18 + -0x10)" ( (binary_expression "(int)piVar18 + -0x10" (cast_expression "(int)piVar18" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (subscript_expression "local_4c[0]" identifier [ number_literal ])) ;) (expression_statement "*(undefined4 *)((int)piVar18 + -0x14) = 0xd2c22;" (assignment_expression "*(undefined4 *)((int)piVar18 + -0x14) = 0xd2c22" (pointer_expression "*(undefined4 *)((int)piVar18 + -0x14)" * (cast_expression "(undefined4 *)((int)piVar18 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar18 + -0x14)" ( (binary_expression "(int)piVar18 + -0x14" (cast_expression "(int)piVar18" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "FUN_003ae080();" (call_expression "FUN_003ae080()" identifier (argument_list "()" ( ))) ;) })) (if_statement "if ((local_60 != 0) && (local_5c != 0)) {\n    *(undefined ***)((int)piVar18 + -0x10) = local_b8 + -0x60d6c;\n    *(undefined4 *)((int)piVar18 + -0x14) = 0xd2c4a;\n    uVar8 = gettext();\n    *(undefined4 *)((int)piVar18 + -0x10) = uVar8;\n    uVar8 = local_54;\n    *(undefined4 *)((int)piVar18 + -0x14) = 0;\n    *(undefined4 *)((int)piVar18 + -0x18) = uVar8;\n    *(undefined4 *)((int)piVar18 + -0x1c) = local_58;\n    *(int *)((int)piVar18 + -0x20) = local_5c;\n    *(undefined4 *)((int)piVar18 + -0x24) = 0xd2c5f;\n    FUN_0023bd50();\n  }" if (parenthesized_expression "((local_60 != 0) && (local_5c != 0))" ( (binary_expression "(local_60 != 0) && (local_5c != 0)" (parenthesized_expression "(local_60 != 0)" ( (binary_expression "local_60 != 0" identifier != number_literal) )) && (parenthesized_expression "(local_5c != 0)" ( (binary_expression "local_5c != 0" identifier != number_literal) ))) )) (compound_statement "{\n    *(undefined ***)((int)piVar18 + -0x10) = local_b8 + -0x60d6c;\n    *(undefined4 *)((int)piVar18 + -0x14) = 0xd2c4a;\n    uVar8 = gettext();\n    *(undefined4 *)((int)piVar18 + -0x10) = uVar8;\n    uVar8 = local_54;\n    *(undefined4 *)((int)piVar18 + -0x14) = 0;\n    *(undefined4 *)((int)piVar18 + -0x18) = uVar8;\n    *(undefined4 *)((int)piVar18 + -0x1c) = local_58;\n    *(int *)((int)piVar18 + -0x20) = local_5c;\n    *(undefined4 *)((int)piVar18 + -0x24) = 0xd2c5f;\n    FUN_0023bd50();\n  }" { (expression_statement "*(undefined ***)((int)piVar18 + -0x10) = local_b8 + -0x60d6c;" (assignment_expression "*(undefined ***)((int)piVar18 + -0x10) = local_b8 + -0x60d6c" (pointer_expression "*(undefined ***)((int)piVar18 + -0x10)" * (cast_expression "(undefined ***)((int)piVar18 + -0x10)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "((int)piVar18 + -0x10)" ( (binary_expression "(int)piVar18 + -0x10" (cast_expression "(int)piVar18" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "local_b8 + -0x60d6c" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)((int)piVar18 + -0x14) = 0xd2c4a;" (assignment_expression "*(undefined4 *)((int)piVar18 + -0x14) = 0xd2c4a" (pointer_expression "*(undefined4 *)((int)piVar18 + -0x14)" * (cast_expression "(undefined4 *)((int)piVar18 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar18 + -0x14)" ( (binary_expression "(int)piVar18 + -0x14" (cast_expression "(int)piVar18" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "uVar8 = gettext();" (assignment_expression "uVar8 = gettext()" identifier = (call_expression "gettext()" identifier (argument_list "()" ( )))) ;) (expression_statement "*(undefined4 *)((int)piVar18 + -0x10) = uVar8;" (assignment_expression "*(undefined4 *)((int)piVar18 + -0x10) = uVar8" (pointer_expression "*(undefined4 *)((int)piVar18 + -0x10)" * (cast_expression "(undefined4 *)((int)piVar18 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar18 + -0x10)" ( (binary_expression "(int)piVar18 + -0x10" (cast_expression "(int)piVar18" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "uVar8 = local_54;" (assignment_expression "uVar8 = local_54" identifier = identifier) ;) (expression_statement "*(undefined4 *)((int)piVar18 + -0x14) = 0;" (assignment_expression "*(undefined4 *)((int)piVar18 + -0x14) = 0" (pointer_expression "*(undefined4 *)((int)piVar18 + -0x14)" * (cast_expression "(undefined4 *)((int)piVar18 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar18 + -0x14)" ( (binary_expression "(int)piVar18 + -0x14" (cast_expression "(int)piVar18" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)((int)piVar18 + -0x18) = uVar8;" (assignment_expression "*(undefined4 *)((int)piVar18 + -0x18) = uVar8" (pointer_expression "*(undefined4 *)((int)piVar18 + -0x18)" * (cast_expression "(undefined4 *)((int)piVar18 + -0x18)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar18 + -0x18)" ( (binary_expression "(int)piVar18 + -0x18" (cast_expression "(int)piVar18" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)piVar18 + -0x1c) = local_58;" (assignment_expression "*(undefined4 *)((int)piVar18 + -0x1c) = local_58" (pointer_expression "*(undefined4 *)((int)piVar18 + -0x1c)" * (cast_expression "(undefined4 *)((int)piVar18 + -0x1c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar18 + -0x1c)" ( (binary_expression "(int)piVar18 + -0x1c" (cast_expression "(int)piVar18" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(int *)((int)piVar18 + -0x20) = local_5c;" (assignment_expression "*(int *)((int)piVar18 + -0x20) = local_5c" (pointer_expression "*(int *)((int)piVar18 + -0x20)" * (cast_expression "(int *)((int)piVar18 + -0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar18 + -0x20)" ( (binary_expression "(int)piVar18 + -0x20" (cast_expression "(int)piVar18" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)piVar18 + -0x24) = 0xd2c5f;" (assignment_expression "*(undefined4 *)((int)piVar18 + -0x24) = 0xd2c5f" (pointer_expression "*(undefined4 *)((int)piVar18 + -0x24)" * (cast_expression "(undefined4 *)((int)piVar18 + -0x24)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar18 + -0x24)" ( (binary_expression "(int)piVar18 + -0x24" (cast_expression "(int)piVar18" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "FUN_0023bd50();" (call_expression "FUN_0023bd50()" identifier (argument_list "()" ( ))) ;) })) (return_statement "return;" return ;) })))
(translation_unit (function_definition TYPE (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE (pointer_declarator * (pointer_declarator * IDENT))) , (parameter_declaration TYPE (pointer_declarator * (pointer_declarator * IDENT))) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE (pointer_declarator * IDENT)) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE (pointer_declarator * IDENT)) , (parameter_declaration TYPE IDENT) ))) (compound_statement { (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (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 IDENT ;) (declaration TYPE (pointer_declarator * (pointer_declarator * IDENT)) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * IDENT)) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * IDENT)) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * IDENT)) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * (pointer_declarator * IDENT)) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * 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 (pointer_declarator * (pointer_declarator * IDENT)) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * IDENT)) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * IDENT)) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT))) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT))) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT))) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT))) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT))) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * IDENT)) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * (pointer_declarator * IDENT)) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * IDENT)) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * IDENT)) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * IDENT)) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * IDENT)) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * IDENT)) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * (array_declarator IDENT [ LIT ])) ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * IDENT)) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * IDENT)) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (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 = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT , (string_literal " string_content ") ))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , (string_literal " ") , (string_literal " ") ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) + LIT) )))) == IDENT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT , (binary_expression IDENT + LIT) , IDENT ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }) (else_clause else (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) + LIT) ))))) )) (argument_list ( IDENT , IDENT , IDENT ))) ;) }))) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) }))) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == LIT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) == LIT) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (char_literal ' escape_sequence ')) ;)) (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 * (abstract_pointer_declarator *))) ) LIT)) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;) })) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = 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) + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT) < (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) < (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) == (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT) )))) ;) }) while (parenthesized_expression ( IDENT )) ;) (expression_statement (assignment_expression IDENT = BOOL) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression (unary_expression ! IDENT) && (unary_expression ! IDENT)) )) == IDENT)) ;) (if_statement if (parenthesized_expression ( (unary_expression ! IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) < (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) == (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT) )))) ;) }) while (parenthesized_expression ( IDENT )) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (unary_expression ! IDENT) && (unary_expression ! IDENT)) )) != IDENT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) }))) (goto_statement goto statement_identifier ;) })) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT != IDENT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) })) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (char_literal ' escape_sequence ')) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }))) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == LIT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) })) (expression_statement (assignment_expression IDENT = (char_literal ' escape_sequence ')) ;) (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 IDENT + LIT) )))) + LIT) )))) == LIT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (assignment_expression IDENT = BOOL) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT == (char_literal ' escape_sequence '))) ;) (if_statement if (parenthesized_expression ( (unary_expression ! IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (char_literal ' escape_sequence ')) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) < (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) == (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) }) while (parenthesized_expression ( IDENT )) ;) (expression_statement (assignment_expression IDENT = BOOL) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression (unary_expression ! IDENT) && (unary_expression ! IDENT)) )) == IDENT)) ;) (if_statement if (parenthesized_expression ( (unary_expression ! IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * IDENT) < (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * IDENT) == (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) }) while (parenthesized_expression ( IDENT )) ;) (expression_statement (assignment_expression IDENT = BOOL) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression (unary_expression ! IDENT) && (unary_expression ! IDENT)) )) == IDENT)) ;) (if_statement if (parenthesized_expression ( (unary_expression ! IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * IDENT) < (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * IDENT) == (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) }) while (parenthesized_expression ( IDENT )) ;) (expression_statement (assignment_expression IDENT = BOOL) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression (unary_expression ! IDENT) && (unary_expression ! IDENT)) )) == IDENT)) ;) (if_statement if (parenthesized_expression ( (unary_expression ! IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) < (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) == (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) }) while (parenthesized_expression ( IDENT )) ;) (expression_statement (assignment_expression IDENT = BOOL) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression (unary_expression ! IDENT) && (unary_expression ! IDENT)) )) == IDENT)) ;) (if_statement if (parenthesized_expression ( (unary_expression ! IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * IDENT) < (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * IDENT) == (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) }) while (parenthesized_expression ( IDENT )) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression (unary_expression ! IDENT) && (unary_expression ! IDENT)) )) != IDENT)) ;) })) })) })) })) })) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT & LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT >> LIT) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < IDENT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = (pointer_expression & IDENT)) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) })) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT) + IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( IDENT ))) * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) LIT)) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (cast_expression ( (type_descriptor TYPE) ) IDENT))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (call_expression IDENT (argument_list ( (field_expression IDENT . field_identifier) , LIT ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) & LIT) )) == LIT) )) (goto_statement goto statement_identifier ;)) (labeled_statement statement_identifier : (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = IDENT) ;)) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (goto_statement goto statement_identifier ;) })) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( ))))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) })) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = IDENT) ;) (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) + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (call_expression IDENT (argument_list ( ))))) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (cast_expression ( (type_descriptor TYPE) ) IDENT))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (char_literal ' escape_sequence ')) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) & LIT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) & LIT) )) != LIT) )) (goto_statement goto statement_identifier ;)) (labeled_statement statement_identifier : (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = IDENT) ;)) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = IDENT) ;)) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) >> LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (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 { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = IDENT) ;) (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) + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT + LIT)) ;) }))) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) == (char_literal ' escape_sequence ')) )) (goto_statement goto statement_identifier ;)) }))) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT != (char_literal ' escape_sequence ')) )) && (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) & LIT) )) != LIT) ))) )) && (parenthesized_expression ( (parenthesized_expression ( (binary_expression (binary_expression LIT < IDENT) || (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (binary_expression LIT >> (parenthesized_expression ( (binary_expression IDENT & LIT) ))) & LIT) )) == LIT) ))) )) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( IDENT )) * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = IDENT) ;) (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) + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT != IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) ;) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) + LIT) )))) == LIT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) }))) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) + LIT) )))) + LIT) )))) != (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;)) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }) (else_clause else (compound_statement { (do_statement do (compound_statement { (while_statement while (parenthesized_expression ( (parenthesized_expression ( (comma_expression (assignment_expression IDENT = IDENT) , (binary_expression (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) < IDENT) || (parenthesized_expression ( (parenthesized_expression ( (binary_expression (binary_expression IDENT == (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) && (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) < IDENT) ))) )) )))) )) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) == LIT) )) (goto_statement goto statement_identifier ;)) })) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }) while (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != LIT) )) ;) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == IDENT) )) || (parenthesized_expression ( (binary_expression IDENT < (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ))) )) || (parenthesized_expression ( (parenthesized_expression ( (binary_expression (binary_expression IDENT == (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) && (parenthesized_expression ( (binary_expression IDENT < (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ))) )) ))) )) (goto_statement goto statement_identifier ;))) }))) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression IDENT = (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 (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT + IDENT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != IDENT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) })) (expression_statement (assignment_expression IDENT = (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) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (binary_expression IDENT + LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == LIT) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression & IDENT)) ;)) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }) (else_clause else (compound_statement { (do_statement do (compound_statement { (while_statement while (parenthesized_expression ( (parenthesized_expression ( (comma_expression (assignment_expression IDENT = IDENT) , (binary_expression (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) < IDENT) || (parenthesized_expression ( (parenthesized_expression ( (binary_expression (binary_expression IDENT == (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) && (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) < IDENT) ))) )) )))) )) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) == LIT) )) (goto_statement goto statement_identifier ;)) })) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }) while (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != LIT) )) ;) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == (binary_expression IDENT + LIT)) )) || (parenthesized_expression ( (binary_expression IDENT < (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ))) )) || (parenthesized_expression ( (parenthesized_expression ( (binary_expression (binary_expression IDENT == (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) && (parenthesized_expression ( (binary_expression IDENT < (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ))) )) ))) )) (goto_statement goto statement_identifier ;))) }))) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (for_statement for ( (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ; (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ; (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) ) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) })) })) })) })) })) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT < (subscript_expression IDENT [ LIT ])) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) LIT)) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = (binary_expression IDENT + LIT)) ;)) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) })) (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) - (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) (subscript_expression IDENT [ LIT ]))) ;) (if_statement if (parenthesized_expression ( (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) - (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ]))) >> LIT) ))) <= IDENT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) + (binary_expression IDENT * LIT)) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) LIT)) )) (goto_statement goto statement_identifier ;)) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) & LIT) )) == LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) & LIT) )) == LIT) )) (goto_statement goto statement_identifier ;)) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (subscript_expression IDENT [ LIT ]))) ;)) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (cast_expression ( (type_descriptor TYPE) ) IDENT) , (cast_expression ( (type_descriptor TYPE) ) IDENT) )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (cast_expression ( (type_descriptor TYPE) ) IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (call_expression IDENT (argument_list ( ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) & LIT) )) != LIT) )) (goto_statement goto statement_identifier ;)) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (subscript_expression IDENT [ LIT ]))) ;)) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (cast_expression ( (type_descriptor TYPE) ) IDENT))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) & LIT) )) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) >> LIT) & LIT)) ;) (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 IDENT + LIT) )))) & LIT) )) < LIT)) ;) (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 IDENT + LIT) )))) & LIT) )) == LIT)) ;) (if_statement if (parenthesized_expression ( IDENT )) (compound_statement { (expression_statement (assignment_expression IDENT = BOOL) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT == (char_literal ' escape_sequence '))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (unary_expression ! IDENT) )) && (parenthesized_expression ( (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (binary_expression IDENT == LIT) || (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (binary_expression IDENT == LIT)) , (binary_expression LIT < IDENT)) ))) )) || (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression (binary_expression LIT >> (parenthesized_expression ( (binary_expression IDENT & LIT) ))) & LIT) )) != LIT)) , (unary_expression ! IDENT)) ))) )) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = IDENT) ;) (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) + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT) < (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) ;) })) })) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) LIT)) ;) (expression_statement (assignment_expression IDENT = BOOL) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = BOOL) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) LIT)) ;) }))) }))) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * IDENT) < (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * IDENT) == (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) }) while (parenthesized_expression ( IDENT )) ;) (expression_statement (assignment_expression IDENT = BOOL) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression (unary_expression ! IDENT) && (unary_expression ! IDENT)) )) == IDENT)) ;) (if_statement if (parenthesized_expression ( IDENT )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * IDENT) < (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * IDENT) == (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) }) while (parenthesized_expression ( IDENT )) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (unary_expression ! IDENT) && (unary_expression ! IDENT)) )) != IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) })) }))) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (char_literal ' escape_sequence ')) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) LIT)) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }))) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT + LIT)) ;) }))) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) >> LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (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 { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = IDENT) ;) (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) + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT + LIT)) ;) }))) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;)) }))) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_expression IDENT != IDENT) )) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) != IDENT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT != LIT) )) && (parenthesized_expression ( (binary_expression IDENT != LIT) ))) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) })) (return_statement return ;) })))
(function_definition "void FUN_000d2220(undefined4 param_1,int param_2,undefined4 param_3,undefined **param_4,\n                 undefined **param_5,undefined4 param_6,undefined4 *param_7,int param_8,\n                 undefined4 param_9,undefined4 param_10,undefined *param_11,int param_12)\n\n{\n  undefined4 *puVar1;\n  uint uVar2;\n  int iVar3;\n  code *pcVar4;\n  undefined ***pppuVar5;\n  size_t sVar6;\n  undefined *puVar7;\n  undefined4 uVar8;\n  byte *pbVar9;\n  int iVar10;\n  int iVar11;\n  int iVar12;\n  byte bVar13;\n  undefined **ppuVar14;\n  undefined *puVar15;\n  uint uVar16;\n  undefined1 *puVar17;\n  int *piVar18;\n  undefined **unaff_ESI;\n  int iVar19;\n  byte *pbVar20;\n  uint uVar21;\n  byte *pbVar22;\n  undefined **ppuVar23;\n  bool bVar24;\n  bool bVar25;\n  bool bVar26;\n  byte bVar27;\n  int iStack_100;\n  undefined1 auStack_fc [4];\n  byte *local_f8;\n  int *local_f4;\n  undefined **local_f0;\n  int local_ec;\n  undefined **local_e8;\n  int local_e4;\n  undefined1 *local_e0;\n  int *local_dc;\n  byte *local_d8;\n  char local_d2;\n  char local_d1;\n  int local_d0;\n  int local_cc;\n  int local_c8;\n  undefined *local_c4;\n  undefined **local_c0;\n  undefined *local_bc;\n  undefined **local_b8;\n  undefined **local_b4;\n  undefined ***local_b0;\n  int local_ac;\n  int local_a8;\n  undefined1 local_a4 [12];\n  undefined ***local_98;\n  undefined ***local_94;\n  int local_90;\n  int local_8c;\n  undefined ***local_88;\n  undefined ***local_84;\n  undefined **local_80;\n  uint local_7c;\n  undefined **local_78;\n  undefined **local_74;\n  undefined **local_70;\n  undefined **local_6c;\n  undefined **local_68;\n  undefined **local_64;\n  int local_60;\n  int local_5c;\n  undefined4 local_58;\n  undefined4 local_54;\n  undefined1 local_50;\n  byte *local_4c [2];\n  byte local_44 [16];\n  undefined **local_34;\n  undefined **local_30;\n  undefined *local_2c;\n  int local_28;\n  \n  bVar27 = 0;\n  local_b8 = &__DT_PLTGOT;\n  local_dc = &DAT_005ea7c8;\n  local_60 = 0;\n  local_5c = 0;\n  iVar19 = *(int *)(DAT_005ea7c8 + 8);\n  local_58 = 0;\n  local_54 = 0;\n  local_50 = 0;\n  if (iVar19 == 0) {\n    iStack_100 = iVar19;\n                    \n                    \n    FUN_002446e0("../../gold/parameters.h",0x5c,"options");\n  }\n  if (*(int *)(iVar19 + 0x5934) == 0) {\n    local_f8 = local_44;\n    iStack_100 = 0;\n    local_4c[0] = local_f8;\n                    \n    FUN_00072b90(local_4c,"","");\n    piVar18 = (int *)auStack_fc;\n  }\n  else {\n    unaff_ESI = &__DT_PLTGOT;\n    if (*(code **)(*param_4 + 0x40) == FUN_00106550) {\n                    \n      FUN_001063c0(local_4c,param_4 + 0x24,param_5);\n      unaff_ESI = param_4;\n    }\n    else {\n                    \n      (**(code **)(*param_4 + 0x40))(local_4c,param_4,param_5);\n    }\n    local_f8 = local_44;\n    piVar18 = &iStack_100;\n  }\n  pbVar20 = local_4c[0];\n  iVar19 = *local_dc;\n  if (*(int *)(iVar19 + 8) == 0) {\n    *(int *)((int)piVar18 + -4) = iVar19;\n    *(undefined ***)((int)piVar18 + -8) = local_b8 + -0x61176;\n    *(undefined4 *)((int)piVar18 + -0xc) = 0x5c;\n    *(int *)((int)piVar18 + -0x10) = (int)local_b8 + -0x1a1d93;\n                    \n    *(undefined4 *)((int)piVar18 + -0x14) = 0xd3001;\n    FUN_002446e0();\n  }\n  if (*(int *)(*(int *)(iVar19 + 8) + 0x5934) == 0) {\nLAB_000d22e5:\n    local_d1 = '\0';\n    local_ec = 0;\n    local_d0 = 0;\n    local_e8 = (undefined **)0x0;\n    local_cc = 0;\n    local_c8 = 0;\n  }\n  else {\n    local_b4 = &local_2c;\n    local_34 = local_b4;\n    pbVar9 = (byte *)0xffffffff;\n    if (local_4c[0] != (byte *)0x0) {\n      *(byte **)((int)piVar18 + -0x10) = local_4c[0];\n      *(undefined4 *)((int)piVar18 + -0x14) = 0xd2df7;\n      sVar6 = strlen(*(char **)((int)piVar18 + -0x10));\n      pbVar9 = pbVar20 + sVar6;\n    }\n    *(undefined4 *)((int)piVar18 + -4) = 0;\n    *(byte **)((int)piVar18 + -8) = pbVar9;\n    local_b0 = &local_34;\n    *(byte **)((int)piVar18 + -0xc) = pbVar20;\n    *(undefined ****)((int)piVar18 + -0x10) = local_b0;\n                    \n    *(undefined4 *)((int)piVar18 + -0x14) = 0xd2e0f;\n    FUN_00072b90();\n    iVar19 = 5;\n    bVar24 = (undefined1 *)0xffffffef < (undefined1 *)((int)piVar18 + -0x10);\n    bVar26 = piVar18 == (int *)0x0;\n    ppuVar14 = local_b8 + -0x67293;\n    ppuVar23 = local_34;\n    do {\n      if (iVar19 == 0) break;\n      iVar19 = iVar19 + -1;\n      bVar24 = *(byte *)ppuVar14 < *(byte *)ppuVar23;\n      bVar26 = *(byte *)ppuVar14 == *(byte *)ppuVar23;\n      ppuVar14 = (undefined **)((int)ppuVar14 + (uint)bVar27 * -2 + 1);\n      ppuVar23 = (undefined **)((int)ppuVar23 + (uint)bVar27 * -2 + 1);\n    } while (bVar26);\n    bVar25 = false;\n    bVar24 = (!bVar24 && !bVar26) == bVar24;\n    if (!bVar24) {\n      iVar19 = 0xf;\n      ppuVar14 = (undefined **)((int)local_b8 + -0x19ca46);\n      ppuVar23 = local_34;\n      do {\n        unaff_ESI = ppuVar14;\n        if (iVar19 == 0) break;\n        iVar19 = iVar19 + -1;\n        unaff_ESI = (undefined **)((int)ppuVar14 + (uint)bVar27 * -2 + 1);\n        bVar25 = *(byte *)ppuVar14 < *(byte *)ppuVar23;\n        bVar24 = *(byte *)ppuVar14 == *(byte *)ppuVar23;\n        ppuVar14 = unaff_ESI;\n        ppuVar23 = (undefined **)((int)ppuVar23 + (uint)bVar27 * -2 + 1);\n      } while (bVar24);\n      if ((!bVar25 && !bVar24) != bVar25) {\n        if (local_34 == local_b4) {\n          iVar19 = *local_dc;\n        }\n        else {\n          *(undefined ***)((int)piVar18 + -0x10) = local_34;\n          *(undefined4 *)((int)piVar18 + -0x14) = 0xd2ee3;\n          FUN_003ae080();\n          iVar19 = *local_dc;\n        }\n        goto LAB_000d22e5;\n      }\n    }\n    if (local_34 != local_b4) {\n      *(undefined ***)((int)piVar18 + -0x10) = local_34;\n      *(undefined4 *)((int)piVar18 + -0x14) = 0xd3010;\n      FUN_003ae080();\n    }\n    *(undefined ****)((int)piVar18 + -0xc) = local_b0;\n    local_34 = param_4;\n    local_30 = param_5;\n    local_b0 = *(undefined ****)(param_2 + 0x15c);\n    *(undefined ****)((int)piVar18 + -0x10) = local_b0 + 0x15;\n    *(undefined4 *)((int)piVar18 + -0x14) = 0xd2e84;\n    local_c8 = FUN_00074520();\n    local_cc = local_c8 + 0xc;\n    unaff_ESI = (undefined **)(local_c8 + 0x18);\n    local_d0 = local_c8 + 0x24;\n    local_ec = local_c8 + 0x30;\n    iVar19 = *local_dc;\n    local_d1 = '\x01';\n    local_e8 = unaff_ESI;\n  }\n  if (*(int *)(iVar19 + 8) == 0) {\n    *(undefined ***)((int)piVar18 + -4) = unaff_ESI;\n    *(undefined ***)((int)piVar18 + -8) = local_b8 + -0x61176;\n    *(undefined4 *)((int)piVar18 + -0xc) = 0x5c;\n    *(int *)((int)piVar18 + -0x10) = (int)local_b8 + -0x1a1d93;\n                    \n                    \n    *(undefined4 *)((int)piVar18 + -0x14) = 0xd2fe5;\n    FUN_002446e0();\n  }\n  local_d2 = '\0';\n  if (*(int *)(*(int *)(iVar19 + 8) + 0x5934) == 2) {\n    *(undefined4 *)((int)piVar18 + -0x10) = param_1;\n    *(undefined4 *)((int)piVar18 + -0x14) = 0xd2ceb;\n    local_d2 = FUN_000aaa70();\n    bVar24 = false;\n    bVar26 = local_d2 == '\0';\n    if (!bVar26) {\n      iVar19 = 0xc;\n      local_d2 = '\0';\n      ppuVar14 = local_b8 + -0x66894;\n      pbVar20 = local_4c[0];\n      do {\n        if (iVar19 == 0) break;\n        iVar19 = iVar19 + -1;\n        bVar24 = *(byte *)ppuVar14 < *pbVar20;\n        bVar26 = *(byte *)ppuVar14 == *pbVar20;\n        ppuVar14 = (undefined **)((int)ppuVar14 + (uint)bVar27 * -2 + 1);\n        pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n      } while (bVar26);\n      bVar25 = false;\n      bVar24 = (!bVar24 && !bVar26) == bVar24;\n      if (!bVar24) {\n        iVar19 = 0x11;\n        pbVar20 = (byte *)((int)local_b8 + -0x19a243);\n        pbVar9 = local_4c[0];\n        do {\n          if (iVar19 == 0) break;\n          iVar19 = iVar19 + -1;\n          bVar25 = *pbVar20 < *pbVar9;\n          bVar24 = *pbVar20 == *pbVar9;\n          pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n          pbVar9 = pbVar9 + (uint)bVar27 * -2 + 1;\n        } while (bVar24);\n        bVar26 = false;\n        bVar24 = (!bVar25 && !bVar24) == bVar25;\n        if (!bVar24) {\n          iVar19 = 0xc;\n          pbVar20 = (byte *)((int)local_b8 + -0x19a231);\n          pbVar9 = local_4c[0];\n          do {\n            if (iVar19 == 0) break;\n            iVar19 = iVar19 + -1;\n            bVar26 = *pbVar20 < *pbVar9;\n            bVar24 = *pbVar20 == *pbVar9;\n            pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n            pbVar9 = pbVar9 + (uint)bVar27 * -2 + 1;\n          } while (bVar24);\n          bVar25 = false;\n          bVar24 = (!bVar26 && !bVar24) == bVar26;\n          if (!bVar24) {\n            iVar19 = 0x11;\n            ppuVar14 = local_b8 + -0x66889;\n            pbVar20 = local_4c[0];\n            do {\n              if (iVar19 == 0) break;\n              iVar19 = iVar19 + -1;\n              bVar25 = *(byte *)ppuVar14 < *pbVar20;\n              bVar24 = *(byte *)ppuVar14 == *pbVar20;\n              ppuVar14 = (undefined **)((int)ppuVar14 + (uint)bVar27 * -2 + 1);\n              pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n            } while (bVar24);\n            bVar26 = false;\n            bVar24 = (!bVar25 && !bVar24) == bVar25;\n            if (!bVar24) {\n              iVar19 = 9;\n              pbVar20 = (byte *)((int)local_b8 + -0x19a212);\n              pbVar9 = local_4c[0];\n              do {\n                if (iVar19 == 0) break;\n                iVar19 = iVar19 + -1;\n                bVar26 = *pbVar20 < *pbVar9;\n                bVar24 = *pbVar20 == *pbVar9;\n                pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n                pbVar9 = pbVar9 + (uint)bVar27 * -2 + 1;\n              } while (bVar24);\n              local_d2 = (!bVar26 && !bVar24) != bVar26;\n            }\n          }\n        }\n      }\n    }\n  }\n  if (param_8 != 0) {\n    local_d8 = (byte *)0x0;\n    local_e0 = local_a4;\n    local_f4 = &local_8c;\n    local_e4 = 0;\n    do {\n      uVar2 = param_7[1];\n      uVar21 = uVar2 & 0xff;\n      puVar15 = (undefined *)(uVar2 >> 8);\n      local_bc = (undefined *)param_7[2];\n      if (puVar15 < param_11) {\n        if (param_12 == 0) {\n          *(undefined ***)((int)piVar18 + -8) = local_b8 + -0x615ed;\n          *(undefined4 *)((int)piVar18 + -0xc) = 0xea;\n          *(int *)((int)piVar18 + -0x10) = (int)local_b8 + -0x19ca36;\n                    \n                    \n          *(undefined **)((int)piVar18 + -0x14) = &UNK_000d2f49;\n          FUN_002446e0();\n        }\n        iVar19 = (int)puVar15 * 0x10 + param_12;\n        local_b4 = (undefined **)(uint)*(ushort *)(iVar19 + 0xe);\n        if (local_b4 < (undefined **)0xff00) {\nLAB_000d24ee:\n          ppuVar14 = *(undefined ***)(iVar19 + 4);\n          local_c4 = local_bc + (int)ppuVar14;\n          if (local_d1 != '\0') {\n            local_34 = param_4;\n            local_30 = local_b4;\n            local_b0 = &local_34;\n            *(undefined ****)((int)piVar18 + -0xc) = local_b0;\n            *(int *)((int)piVar18 + -0x10) = local_c8;\n            *(undefined4 *)((int)piVar18 + -0x14) = 0xd2533;\n            FUN_00073b00();\n            local_c0 = (undefined **)CONCAT31(local_c0._1_3_,1);\n            if ((*(byte *)(iVar19 + 0xc) & 0xf) == 3) goto LAB_000d254c;\nLAB_000d23e8:\n            *(undefined ****)((int)piVar18 + -0xc) = local_b0;\n            *(int *)((int)piVar18 + -0x10) = local_cc;\n            local_34 = (undefined **)0x0;\n            *(undefined4 *)((int)piVar18 + -0x14) = 0xd2403;\n            FUN_00073ca0();\n            goto LAB_000d2403;\n          }\n        }\n        else {\n          if (local_b4 == (undefined **)0xffff) {\n            puVar7 = param_4[0xc];\n            if (puVar7 == (undefined *)0x0) {\n              puVar7 = *param_4;\n              *(undefined ***)((int)piVar18 + -0x10) = param_4;\n              pcVar4 = *(code **)(puVar7 + 0x6c);\n              *(undefined4 *)((int)piVar18 + -0x14) = 0xd2a4e;\n              puVar7 = (undefined *)(*pcVar4)();\n              param_4[0xc] = puVar7;\n            }\n            *(undefined **)((int)piVar18 + -8) = puVar15;\n            *(undefined ***)((int)piVar18 + -0xc) = param_4;\n            *(undefined **)((int)piVar18 + -0x10) = puVar7;\n            *(undefined4 *)((int)piVar18 + -0x14) = 0xd2591;\n            local_b4 = (undefined **)FUN_0028b7d0();\n            goto LAB_000d24ee;\n          }\n          ppuVar14 = *(undefined ***)(iVar19 + 4);\n          local_c4 = local_bc + (int)ppuVar14;\n          if (local_d1 == '\0') goto LAB_000d2489;\n          local_b0 = &local_34;\n          local_34 = (undefined **)0x0;\n          *(undefined ****)((int)piVar18 + -0xc) = local_b0;\n          *(int *)((int)piVar18 + -0x10) = local_c8;\n          local_30 = (undefined **)0x0;\n                    \n          *(undefined4 *)((int)piVar18 + -0x14) = 0xd23cf;\n          FUN_00073b00();\n          local_c0 = (undefined **)((uint)local_c0 & 0xffffff00);\n          if ((*(byte *)(iVar19 + 0xc) & 0xf) != 3) goto LAB_000d23e8;\nLAB_000d254c:\n          *(undefined ****)((int)piVar18 + -0xc) = local_b0;\n          *(int *)((int)piVar18 + -0x10) = local_cc;\n          local_34 = (undefined **)0xffffffff;\n          *(undefined4 *)((int)piVar18 + -0x14) = 0xd2567;\n          FUN_00073ca0();\nLAB_000d2403:\n          *(undefined ****)((int)piVar18 + -0xc) = local_b0;\n          *(undefined ***)((int)piVar18 + -0x10) = local_e8;\n          local_2c = local_bc;\n          local_28 = (int)local_bc >> 0x1f;\n          local_30 = (undefined **)0x0;\n          *(undefined4 *)((int)piVar18 + -0x14) = 0xd2433;\n          local_34 = ppuVar14;\n          FUN_00073e70();\n          local_30 = (undefined **)0x0;\n          local_34 = (undefined **)*param_7;\n          puVar1 = *(undefined4 **)(local_d0 + 4);\n          if (puVar1 == *(undefined4 **)(local_d0 + 8)) {\n            *(undefined ****)((int)piVar18 + -8) = local_b0;\n            *(undefined4 **)((int)piVar18 + -0xc) = puVar1;\n            *(int *)((int)piVar18 + -0x10) = local_d0;\n            *(undefined4 *)((int)piVar18 + -0x14) = 0xd2b0d;\n            FUN_00072a40();\n          }\n          else {\n            *puVar1 = local_34;\n            puVar1[1] = 0;\n            *(undefined4 **)(local_d0 + 4) = puVar1 + 2;\n          }\n          local_68 = (undefined **)0x0;\n          *(undefined ****)((int)piVar18 + -0xc) = &local_68;\n          *(int *)((int)piVar18 + -0x10) = local_ec;\n          *(undefined4 *)((int)piVar18 + -0x14) = 0xd2479;\n          FUN_00074020();\n          if ((char)local_c0 == '\0') goto LAB_000d2489;\n        }\n        if (((local_d2 != '\0') && ((*(byte *)(iVar19 + 0xc) & 0xf) != 1)) &&\n           ((0x17 < uVar21 || ((0x843f84U >> (uVar2 & 0x1f) & 1) == 0)))) {\n          local_b0 = *(undefined ****)(param_2 + 0x15c);\n          local_80 = param_4;\n          local_7c = (uint)*(ushort *)(iVar19 + 0xe);\n          *(undefined4 *)((int)piVar18 + -0xc) = 1;\n          *(undefined4 *)((int)piVar18 + -0x10) = 0;\n          local_98 = local_b0 + 0xd;\n          *(undefined *****)((int)piVar18 + -0x14) = &local_98;\n          *(undefined ****)((int)piVar18 + -0x18) = &local_80;\n          *(undefined ****)((int)piVar18 + -0x1c) = local_98;\n          *(undefined1 **)((int)piVar18 + -0x20) = local_e0;\n          *(undefined4 *)((int)piVar18 + -0x24) = 0xd2ad1;\n          FUN_00074280();\n          piVar18 = (int *)((int)piVar18 + -4);\n        }\n        if (param_5 != local_b4) {\n          local_c0 = param_4;\n          puVar17 = (undefined1 *)piVar18;\nLAB_000d275e:\n          if (*(int *)(*local_dc + 8) == 0) {\n            *(undefined ***)(puVar17 + -8) = local_b8 + -0x61176;\n            *(undefined4 *)(puVar17 + -0xc) = 0x5c;\n            *(int *)(puVar17 + -0x10) = (int)local_b8 + -0x1a1d93;\n                    \n            *(undefined4 *)(puVar17 + -0x14) = 0xd2f6e;\n            FUN_002446e0();\n          }\n          piVar18 = (int *)puVar17;\n          if (*(char *)(*(int *)(*local_dc + 8) + 0x18b1) != '\0') {\n            local_70 = param_4;\n            iVar19 = *(int *)(param_2 + 0x158) + 0x14;\n            local_6c = param_5;\n            local_68 = local_c0;\n            local_64 = local_b4;\n            iVar3 = *(int *)(*(int *)(param_2 + 0x158) + 0x18);\n            iVar10 = iVar19;\n            if (iVar3 == 0) {\nLAB_000d27f0:\n              local_88 = &local_70;\n              *(undefined *****)(puVar17 + -0x10) = &local_88;\n              *(undefined4 *)(puVar17 + -0x14) = 0xd2811;\n              FUN_000c5e40();\n              iVar11 = local_a8;\n            }\n            else {\n              do {\n                while ((iVar11 = iVar3, *(undefined ***)(iVar11 + 0x10) < param_4 ||\n                       ((param_4 == *(undefined ***)(iVar11 + 0x10) &&\n                        (*(undefined ***)(iVar11 + 0x14) < param_5))))) {\n                  piVar18 = (int *)(iVar11 + 0xc);\n                  iVar3 = *piVar18;\n                  iVar11 = iVar10;\n                  if (*piVar18 == 0) goto LAB_000d27da;\n                }\n                iVar3 = *(int *)(iVar11 + 8);\n                iVar10 = iVar11;\n              } while (*(int *)(iVar11 + 8) != 0);\nLAB_000d27da:\n              if (((iVar19 == iVar11) || (param_4 < *(undefined ***)(iVar11 + 0x10))) ||\n                 ((param_4 == *(undefined ***)(iVar11 + 0x10) &&\n                  (param_5 < *(undefined ***)(iVar11 + 0x14))))) goto LAB_000d27f0;\n            }\n            local_8c = iVar11 + 0x18;\n            *(undefined4 *)(puVar17 + -0xc) = 1;\n            *(undefined4 *)(puVar17 + -0x10) = 0;\n            *(int **)(puVar17 + -0x14) = local_f4;\n            *(undefined ****)(puVar17 + -0x18) = &local_68;\n            *(int *)(puVar17 + -0x1c) = local_8c;\n            *(undefined1 **)(puVar17 + -0x20) = local_e0;\n            *(undefined4 *)(puVar17 + -0x24) = 0xd2840;\n            FUN_00074340();\n            piVar18 = *(int **)(*local_dc + 0xc);\n            if (piVar18 == (int *)0x0) {\n              *(undefined ***)(puVar17 + -0xc) = local_b8 + -0x615c4;\n              *(undefined4 *)(puVar17 + -0x10) = 0x73;\n              *(int *)(puVar17 + -0x14) = (int)local_b8 + -0x1a1d93;\n                    \n              *(undefined4 *)(puVar17 + -0x18) = 0xd2fad;\n              FUN_002446e0();\n            }\n            iVar19 = *piVar18;\n            *(undefined **)(puVar17 + -0xc) = local_c4;\n            *(undefined ***)(puVar17 + -0x10) = local_b4;\n            *(undefined ***)(puVar17 + -0x14) = local_c0;\n            *(undefined ***)(puVar17 + -0x18) = param_5;\n            *(undefined ***)(puVar17 + -0x1c) = param_4;\n            *(int *)(puVar17 + -0x20) = param_2;\n            *(int **)(puVar17 + -0x24) = piVar18;\n            pcVar4 = *(code **)(iVar19 + 0x104);\n            *(undefined4 *)(puVar17 + -0x28) = 0xd287d;\n            (*pcVar4)();\n            pbVar20 = local_d8;\n            piVar18 = (int *)(puVar17 + -4);\n            if (local_d8 != (byte *)0x0) {\n              local_b4 = &local_2c;\n              local_b0 = &local_34;\n              iVar19 = *(int *)(param_2 + 0x158);\n              *(byte **)(puVar17 + -0x14) = local_d8;\n              local_34 = local_b4;\n              *(undefined4 *)(puVar17 + -0x18) = 0xd28bd;\n              sVar6 = strlen(*(char **)(puVar17 + -0x14));\n              pppuVar5 = local_b0;\n              *(undefined4 *)(puVar17 + -8) = 0;\n              *(byte **)(puVar17 + -0xc) = pbVar20 + sVar6;\n              *(byte **)(puVar17 + -0x10) = pbVar20;\n              *(undefined ****)(puVar17 + -0x14) = local_b0;\n              *(undefined4 *)(puVar17 + -0x18) = 0xd28d2;\n              FUN_00072b90();\n              *(undefined ****)(puVar17 + -0xc) = pppuVar5;\n              *(int *)(puVar17 + -0x10) = iVar19 + 0x44;\n              *(int **)(puVar17 + -0x14) = &local_ac;\n              *(undefined4 *)(puVar17 + -0x18) = 0xd28e6;\n              FUN_00094bd0();\n              iVar19 = local_ac;\n              if (local_34 != local_b4) {\n                *(undefined ***)(puVar17 + -0x18) = local_34;\n                *(undefined4 *)(puVar17 + -0x1c) = 0xd2909;\n                FUN_003ae080();\n              }\n              piVar18 = (int *)(puVar17 + -8);\n              iVar3 = *(int *)(param_2 + 0x158);\n              if (iVar19 != iVar3 + 0x48) {\n                local_34 = param_4;\n                local_30 = param_5;\n                iVar10 = *(int *)(iVar3 + 0x18);\n                iVar11 = iVar3 + 0x14;\n                if (*(int *)(iVar3 + 0x18) == 0) {\nLAB_000d2bd8:\n                  *(undefined *****)(puVar17 + -0x18) = &local_84;\n                  local_84 = local_b0;\n                  *(undefined4 *)(puVar17 + -0x1c) = 0xd2bf6;\n                  FUN_000c5e40();\n                  iVar12 = local_a8;\n                }\n                else {\n                  do {\n                    while ((iVar12 = iVar10, *(undefined ***)(iVar12 + 0x10) < param_4 ||\n                           ((param_4 == *(undefined ***)(iVar12 + 0x10) &&\n                            (*(undefined ***)(iVar12 + 0x14) < param_5))))) {\n                      piVar18 = (int *)(iVar12 + 0xc);\n                      iVar10 = *piVar18;\n                      iVar12 = iVar11;\n                      if (*piVar18 == 0) goto LAB_000d2962;\n                    }\n                    iVar10 = *(int *)(iVar12 + 8);\n                    iVar11 = iVar12;\n                  } while (*(int *)(iVar12 + 8) != 0);\nLAB_000d2962:\n                  if (((iVar12 == iVar3 + 0x14) || (param_4 < *(undefined ***)(iVar12 + 0x10))) ||\n                     ((param_4 == *(undefined ***)(iVar12 + 0x10) &&\n                      (param_5 < *(undefined ***)(iVar12 + 0x14))))) goto LAB_000d2bd8;\n                }\n                piVar18 = (int *)(puVar17 + -8);\n                puVar17 = puVar17 + -8;\n                for (puVar1 = *(undefined4 **)(iVar19 + 0x30); puVar1 != (undefined4 *)0x0;\n                    puVar1 = (undefined4 *)*puVar1) {\n                  *(undefined4 *)(puVar17 + -0xc) = 1;\n                  *(undefined4 *)(puVar17 + -0x10) = 0;\n                  *(int **)(puVar17 + -0x14) = &local_90;\n                  *(undefined4 **)(puVar17 + -0x18) = puVar1 + 1;\n                  *(int *)(puVar17 + -0x1c) = iVar12 + 0x18;\n                  *(undefined1 **)(puVar17 + -0x20) = local_e0;\n                  *(undefined4 *)(puVar17 + -0x24) = 0xd29ae;\n                  local_90 = iVar12 + 0x18;\n                  FUN_00074340();\n                  piVar18 = (int *)(puVar17 + -4);\n                  puVar17 = puVar17 + -4;\n                }\n              }\n            }\n          }\n        }\n      }\n      else {\n        if (puVar15 < param_4[0x2c]) {\n          local_70 = (undefined **)0x0;\nLAB_000d2a1f:\n          *(undefined ***)((int)piVar18 + -8) = local_b8 + -0x615ed;\n          *(undefined4 *)((int)piVar18 + -0xc) = 0x11c;\n          *(int *)((int)piVar18 + -0x10) = (int)local_b8 + -0x19ca36;\n                    \n          *(undefined4 *)((int)piVar18 + -0x14) = 0xd2a40;\n          FUN_002446e0();\n        }\n        uVar16 = (int)puVar15 - (int)param_4[0x2c];\n        local_b0 = (undefined ***)param_4[0x30];\n        if ((uint)((int)local_b0 - (int)param_4[0x2f] >> 2) <= uVar16) {\n          *(undefined ***)((int)piVar18 + -8) = local_b8 + -0x6156c;\n          *(undefined4 *)((int)piVar18 + -0xc) = 0x8ad;\n          *(int *)((int)piVar18 + -0x10) = (int)local_b8 + -0x19cc7b;\n                    \n          *(undefined4 *)((int)piVar18 + -0x14) = 0xd2f8f;\n          FUN_002446e0();\n        }\n        local_70 = *(undefined ***)(param_4[0x2f] + uVar16 * 4);\n        if (local_70 == (undefined **)0x0) goto LAB_000d2a1f;\n        if ((*(byte *)((int)local_70 + 0x2a) & 0x10) == 0) {\n          if ((*(byte *)((int)local_70 + 0x2a) & 7) == 0) goto LAB_000d25f7;\nLAB_000d29e2:\n          local_f0 = (undefined **)local_70[0xc];\n          bVar13 = 0;\n          local_b4 = (undefined **)0x0;\n          local_c0 = (undefined **)0x0;\n          bVar24 = CARRY4((uint)local_bc,(uint)local_f0);\n          local_c4 = local_bc + (int)local_f0;\n          bVar26 = local_c4 == (undefined *)0x0;\n        }\n        else {\n          *(undefined ***)((int)piVar18 + -0xc) = local_70;\n          *(int *)((int)piVar18 + -0x10) = param_2;\n          *(undefined4 *)((int)piVar18 + -0x14) = 0xd29d2;\n          local_70 = (undefined **)FUN_0034cd90();\n          if ((*(byte *)((int)local_70 + 0x2a) & 7) != 0) goto LAB_000d29e2;\nLAB_000d25f7:\n          local_f0 = (undefined **)local_70[0xc];\n          local_c0 = (undefined **)local_70[2];\n          local_c4 = local_bc + (int)local_f0;\n          if (((uint)local_c0[0xb] & 1) == 0) {\n            local_b4 = (undefined **)local_70[3];\n            bVar13 = *(byte *)((int)local_70 + 0x2b) >> 5 & 1;\n            bVar24 = (*(byte *)(local_70 + 10) & 0xf) < 2;\n            bVar26 = (*(byte *)(local_70 + 10) & 0xf) == 2;\n            if (bVar26) {\n              bVar24 = false;\n              bVar26 = local_d2 == '\0';\n              if ((!bVar26) &&\n                 (((bVar13 == 0 || (bVar26 = uVar21 == 0x17, 0x17 < uVar21)) ||\n                  (bVar24 = (0x843f84U >> (uVar2 & 0x1f) & 1) != 0, !bVar24)))) {\n                local_b0 = *(undefined ****)(param_2 + 0x15c);\n                *(undefined4 *)((int)piVar18 + -0xc) = 1;\n                *(undefined4 *)((int)piVar18 + -0x10) = 0;\n                *(undefined *****)((int)piVar18 + -0x14) = &local_94;\n                *(undefined ****)((int)piVar18 + -0x18) = &local_78;\n                local_94 = local_b0 + 0xd;\n                *(undefined ****)((int)piVar18 + -0x1c) = local_94;\n                *(undefined1 **)((int)piVar18 + -0x20) = local_e0;\n                    \n                *(undefined4 *)((int)piVar18 + -0x24) = 0xd2ccb;\n                local_78 = local_c0;\n                local_74 = local_b4;\n                FUN_00074280();\n                bVar24 = (undefined1 *)0xffffffe3 < (undefined1 *)((int)piVar18 + -0x20);\n                bVar26 = piVar18 == (int *)0x4;\n                piVar18 = (int *)((int)piVar18 + -4);\n              }\n            }\n          }\n          else {\n            local_b4 = (undefined **)0x0;\n            bVar24 = false;\n            bVar13 = 0;\n            bVar26 = true;\n            local_c0 = (undefined **)0x0;\n          }\n        }\n        pbVar20 = *local_70;\n        iVar19 = 8;\n        pbVar9 = (byte *)((int)local_b8 + -0x19ca26);\n        pbVar22 = pbVar20;\n        do {\n          if (iVar19 == 0) break;\n          iVar19 = iVar19 + -1;\n          bVar24 = *pbVar9 < *pbVar22;\n          bVar26 = *pbVar9 == *pbVar22;\n          pbVar9 = pbVar9 + (uint)bVar27 * -2 + 1;\n          pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n        } while (bVar26);\n        bVar25 = false;\n        bVar24 = (!bVar24 && !bVar26) == bVar24;\n        if (bVar24) {\n          pbVar20 = pbVar20 + 8;\n        }\n        else {\n          iVar19 = 7;\n          pbVar9 = (byte *)((int)local_b8 + -0x19ca1d);\n          pbVar22 = pbVar20;\n          do {\n            if (iVar19 == 0) break;\n            iVar19 = iVar19 + -1;\n            bVar25 = *pbVar9 < *pbVar22;\n            bVar24 = *pbVar9 == *pbVar22;\n            pbVar9 = pbVar9 + (uint)bVar27 * -2 + 1;\n            pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n          } while (bVar24);\n          pbVar20 = pbVar20 + 7;\n          if ((!bVar25 && !bVar24) != bVar25) {\n            pbVar20 = local_d8;\n          }\n        }\n        local_d8 = pbVar20;\n        if (local_d1 != '\0') {\n          if (bVar13 == 0) {\n            local_34 = (undefined **)0x0;\n            local_30 = (undefined **)0x0;\n          }\n          else {\n            local_34 = local_c0;\n            local_30 = local_b4;\n          }\n          local_b0 = &local_34;\n          *(undefined ****)((int)piVar18 + -0xc) = local_b0;\n          *(int *)((int)piVar18 + -0x10) = local_c8;\n          *(undefined4 *)((int)piVar18 + -0x14) = 0xd26b9;\n          FUN_00073b00();\n          puVar1 = *(undefined4 **)(local_cc + 4);\n          if (puVar1 == *(undefined4 **)(local_cc + 8)) {\n            *(undefined ****)((int)piVar18 + -8) = &local_70;\n            *(undefined4 **)((int)piVar18 + -0xc) = puVar1;\n            *(int *)((int)piVar18 + -0x10) = local_cc;\n            *(undefined4 *)((int)piVar18 + -0x14) = 0xd2b4b;\n            FUN_000726c0();\n          }\n          else {\n            *puVar1 = local_70;\n            *(undefined4 **)(local_cc + 4) = puVar1 + 1;\n          }\n          *(undefined ****)((int)piVar18 + -0xc) = local_b0;\n          *(undefined ***)((int)piVar18 + -0x10) = local_e8;\n          local_34 = local_f0;\n          local_30 = (undefined **)0x0;\n          local_2c = local_bc;\n          local_28 = (int)local_bc >> 0x1f;\n          *(undefined4 *)((int)piVar18 + -0x14) = 0xd270d;\n          FUN_00073e70();\n          local_30 = (undefined **)0x0;\n          local_34 = (undefined **)*param_7;\n          puVar1 = *(undefined4 **)(local_d0 + 4);\n          if (puVar1 == *(undefined4 **)(local_d0 + 8)) {\n            *(undefined ****)((int)piVar18 + -8) = local_b0;\n            *(undefined4 **)((int)piVar18 + -0xc) = puVar1;\n            *(int *)((int)piVar18 + -0x10) = local_d0;\n            *(undefined4 *)((int)piVar18 + -0x14) = 0xd2bbd;\n            FUN_00072a40();\n          }\n          else {\n            *puVar1 = local_34;\n            puVar1[1] = 0;\n            *(undefined4 **)(local_d0 + 4) = puVar1 + 2;\n          }\n          local_68 = (undefined **)0x0;\n          *(undefined ****)((int)piVar18 + -0xc) = &local_68;\n          *(int *)((int)piVar18 + -0x10) = local_ec;\n          *(undefined4 *)((int)piVar18 + -0x14) = 0xd2753;\n          FUN_00074020();\n        }\n        puVar17 = (undefined1 *)piVar18;\n        if (bVar13 != 0) goto LAB_000d275e;\n      }\nLAB_000d2489:\n      local_e4 = local_e4 + 1;\n      param_7 = param_7 + 3;\n    } while (param_8 != local_e4);\n  }\n  if (local_4c[0] != local_f8) {\n    *(byte **)((int)piVar18 + -0x10) = local_4c[0];\n    *(undefined4 *)((int)piVar18 + -0x14) = 0xd2c22;\n    FUN_003ae080();\n  }\n  if ((local_60 != 0) && (local_5c != 0)) {\n    *(undefined ***)((int)piVar18 + -0x10) = local_b8 + -0x60d6c;\n    *(undefined4 *)((int)piVar18 + -0x14) = 0xd2c4a;\n    uVar8 = gettext();\n    *(undefined4 *)((int)piVar18 + -0x10) = uVar8;\n    uVar8 = local_54;\n    *(undefined4 *)((int)piVar18 + -0x14) = 0;\n    *(undefined4 *)((int)piVar18 + -0x18) = uVar8;\n    *(undefined4 *)((int)piVar18 + -0x1c) = local_58;\n    *(int *)((int)piVar18 + -0x20) = local_5c;\n    *(undefined4 *)((int)piVar18 + -0x24) = 0xd2c5f;\n    FUN_0023bd50();\n  }\n  return;\n}" (primitive_type "void") (function_declarator "FUN_000d2220(undefined4 param_1,int param_2,undefined4 param_3,undefined **param_4,\n                 undefined **param_5,undefined4 param_6,undefined4 *param_7,int param_8,\n                 undefined4 param_9,undefined4 param_10,undefined *param_11,int param_12)" (identifier "FUN_000d2220") (parameter_list "(undefined4 param_1,int param_2,undefined4 param_3,undefined **param_4,\n                 undefined **param_5,undefined4 param_6,undefined4 *param_7,int param_8,\n                 undefined4 param_9,undefined4 param_10,undefined *param_11,int param_12)" (( "(") (parameter_declaration "undefined4 param_1" (type_identifier "undefined4") (identifier "param_1")) (, ",") (parameter_declaration "int param_2" (primitive_type "int") (identifier "param_2")) (, ",") (parameter_declaration "undefined4 param_3" (type_identifier "undefined4") (identifier "param_3")) (, ",") (parameter_declaration "undefined **param_4" (type_identifier "undefined") (pointer_declarator "**param_4" (* "*") (pointer_declarator "*param_4" (* "*") (identifier "param_4")))) (, ",") (parameter_declaration "undefined **param_5" (type_identifier "undefined") (pointer_declarator "**param_5" (* "*") (pointer_declarator "*param_5" (* "*") (identifier "param_5")))) (, ",") (parameter_declaration "undefined4 param_6" (type_identifier "undefined4") (identifier "param_6")) (, ",") (parameter_declaration "undefined4 *param_7" (type_identifier "undefined4") (pointer_declarator "*param_7" (* "*") (identifier "param_7"))) (, ",") (parameter_declaration "int param_8" (primitive_type "int") (identifier "param_8")) (, ",") (parameter_declaration "undefined4 param_9" (type_identifier "undefined4") (identifier "param_9")) (, ",") (parameter_declaration "undefined4 param_10" (type_identifier "undefined4") (identifier "param_10")) (, ",") (parameter_declaration "undefined *param_11" (type_identifier "undefined") (pointer_declarator "*param_11" (* "*") (identifier "param_11"))) (, ",") (parameter_declaration "int param_12" (primitive_type "int") (identifier "param_12")) () ")"))) (compound_statement "{\n  undefined4 *puVar1;\n  uint uVar2;\n  int iVar3;\n  code *pcVar4;\n  undefined ***pppuVar5;\n  size_t sVar6;\n  undefined *puVar7;\n  undefined4 uVar8;\n  byte *pbVar9;\n  int iVar10;\n  int iVar11;\n  int iVar12;\n  byte bVar13;\n  undefined **ppuVar14;\n  undefined *puVar15;\n  uint uVar16;\n  undefined1 *puVar17;\n  int *piVar18;\n  undefined **unaff_ESI;\n  int iVar19;\n  byte *pbVar20;\n  uint uVar21;\n  byte *pbVar22;\n  undefined **ppuVar23;\n  bool bVar24;\n  bool bVar25;\n  bool bVar26;\n  byte bVar27;\n  int iStack_100;\n  undefined1 auStack_fc [4];\n  byte *local_f8;\n  int *local_f4;\n  undefined **local_f0;\n  int local_ec;\n  undefined **local_e8;\n  int local_e4;\n  undefined1 *local_e0;\n  int *local_dc;\n  byte *local_d8;\n  char local_d2;\n  char local_d1;\n  int local_d0;\n  int local_cc;\n  int local_c8;\n  undefined *local_c4;\n  undefined **local_c0;\n  undefined *local_bc;\n  undefined **local_b8;\n  undefined **local_b4;\n  undefined ***local_b0;\n  int local_ac;\n  int local_a8;\n  undefined1 local_a4 [12];\n  undefined ***local_98;\n  undefined ***local_94;\n  int local_90;\n  int local_8c;\n  undefined ***local_88;\n  undefined ***local_84;\n  undefined **local_80;\n  uint local_7c;\n  undefined **local_78;\n  undefined **local_74;\n  undefined **local_70;\n  undefined **local_6c;\n  undefined **local_68;\n  undefined **local_64;\n  int local_60;\n  int local_5c;\n  undefined4 local_58;\n  undefined4 local_54;\n  undefined1 local_50;\n  byte *local_4c [2];\n  byte local_44 [16];\n  undefined **local_34;\n  undefined **local_30;\n  undefined *local_2c;\n  int local_28;\n  \n  bVar27 = 0;\n  local_b8 = &__DT_PLTGOT;\n  local_dc = &DAT_005ea7c8;\n  local_60 = 0;\n  local_5c = 0;\n  iVar19 = *(int *)(DAT_005ea7c8 + 8);\n  local_58 = 0;\n  local_54 = 0;\n  local_50 = 0;\n  if (iVar19 == 0) {\n    iStack_100 = iVar19;\n                    \n                    \n    FUN_002446e0("../../gold/parameters.h",0x5c,"options");\n  }\n  if (*(int *)(iVar19 + 0x5934) == 0) {\n    local_f8 = local_44;\n    iStack_100 = 0;\n    local_4c[0] = local_f8;\n                    \n    FUN_00072b90(local_4c,"","");\n    piVar18 = (int *)auStack_fc;\n  }\n  else {\n    unaff_ESI = &__DT_PLTGOT;\n    if (*(code **)(*param_4 + 0x40) == FUN_00106550) {\n                    \n      FUN_001063c0(local_4c,param_4 + 0x24,param_5);\n      unaff_ESI = param_4;\n    }\n    else {\n                    \n      (**(code **)(*param_4 + 0x40))(local_4c,param_4,param_5);\n    }\n    local_f8 = local_44;\n    piVar18 = &iStack_100;\n  }\n  pbVar20 = local_4c[0];\n  iVar19 = *local_dc;\n  if (*(int *)(iVar19 + 8) == 0) {\n    *(int *)((int)piVar18 + -4) = iVar19;\n    *(undefined ***)((int)piVar18 + -8) = local_b8 + -0x61176;\n    *(undefined4 *)((int)piVar18 + -0xc) = 0x5c;\n    *(int *)((int)piVar18 + -0x10) = (int)local_b8 + -0x1a1d93;\n                    \n    *(undefined4 *)((int)piVar18 + -0x14) = 0xd3001;\n    FUN_002446e0();\n  }\n  if (*(int *)(*(int *)(iVar19 + 8) + 0x5934) == 0) {\nLAB_000d22e5:\n    local_d1 = '\0';\n    local_ec = 0;\n    local_d0 = 0;\n    local_e8 = (undefined **)0x0;\n    local_cc = 0;\n    local_c8 = 0;\n  }\n  else {\n    local_b4 = &local_2c;\n    local_34 = local_b4;\n    pbVar9 = (byte *)0xffffffff;\n    if (local_4c[0] != (byte *)0x0) {\n      *(byte **)((int)piVar18 + -0x10) = local_4c[0];\n      *(undefined4 *)((int)piVar18 + -0x14) = 0xd2df7;\n      sVar6 = strlen(*(char **)((int)piVar18 + -0x10));\n      pbVar9 = pbVar20 + sVar6;\n    }\n    *(undefined4 *)((int)piVar18 + -4) = 0;\n    *(byte **)((int)piVar18 + -8) = pbVar9;\n    local_b0 = &local_34;\n    *(byte **)((int)piVar18 + -0xc) = pbVar20;\n    *(undefined ****)((int)piVar18 + -0x10) = local_b0;\n                    \n    *(undefined4 *)((int)piVar18 + -0x14) = 0xd2e0f;\n    FUN_00072b90();\n    iVar19 = 5;\n    bVar24 = (undefined1 *)0xffffffef < (undefined1 *)((int)piVar18 + -0x10);\n    bVar26 = piVar18 == (int *)0x0;\n    ppuVar14 = local_b8 + -0x67293;\n    ppuVar23 = local_34;\n    do {\n      if (iVar19 == 0) break;\n      iVar19 = iVar19 + -1;\n      bVar24 = *(byte *)ppuVar14 < *(byte *)ppuVar23;\n      bVar26 = *(byte *)ppuVar14 == *(byte *)ppuVar23;\n      ppuVar14 = (undefined **)((int)ppuVar14 + (uint)bVar27 * -2 + 1);\n      ppuVar23 = (undefined **)((int)ppuVar23 + (uint)bVar27 * -2 + 1);\n    } while (bVar26);\n    bVar25 = false;\n    bVar24 = (!bVar24 && !bVar26) == bVar24;\n    if (!bVar24) {\n      iVar19 = 0xf;\n      ppuVar14 = (undefined **)((int)local_b8 + -0x19ca46);\n      ppuVar23 = local_34;\n      do {\n        unaff_ESI = ppuVar14;\n        if (iVar19 == 0) break;\n        iVar19 = iVar19 + -1;\n        unaff_ESI = (undefined **)((int)ppuVar14 + (uint)bVar27 * -2 + 1);\n        bVar25 = *(byte *)ppuVar14 < *(byte *)ppuVar23;\n        bVar24 = *(byte *)ppuVar14 == *(byte *)ppuVar23;\n        ppuVar14 = unaff_ESI;\n        ppuVar23 = (undefined **)((int)ppuVar23 + (uint)bVar27 * -2 + 1);\n      } while (bVar24);\n      if ((!bVar25 && !bVar24) != bVar25) {\n        if (local_34 == local_b4) {\n          iVar19 = *local_dc;\n        }\n        else {\n          *(undefined ***)((int)piVar18 + -0x10) = local_34;\n          *(undefined4 *)((int)piVar18 + -0x14) = 0xd2ee3;\n          FUN_003ae080();\n          iVar19 = *local_dc;\n        }\n        goto LAB_000d22e5;\n      }\n    }\n    if (local_34 != local_b4) {\n      *(undefined ***)((int)piVar18 + -0x10) = local_34;\n      *(undefined4 *)((int)piVar18 + -0x14) = 0xd3010;\n      FUN_003ae080();\n    }\n    *(undefined ****)((int)piVar18 + -0xc) = local_b0;\n    local_34 = param_4;\n    local_30 = param_5;\n    local_b0 = *(undefined ****)(param_2 + 0x15c);\n    *(undefined ****)((int)piVar18 + -0x10) = local_b0 + 0x15;\n    *(undefined4 *)((int)piVar18 + -0x14) = 0xd2e84;\n    local_c8 = FUN_00074520();\n    local_cc = local_c8 + 0xc;\n    unaff_ESI = (undefined **)(local_c8 + 0x18);\n    local_d0 = local_c8 + 0x24;\n    local_ec = local_c8 + 0x30;\n    iVar19 = *local_dc;\n    local_d1 = '\x01';\n    local_e8 = unaff_ESI;\n  }\n  if (*(int *)(iVar19 + 8) == 0) {\n    *(undefined ***)((int)piVar18 + -4) = unaff_ESI;\n    *(undefined ***)((int)piVar18 + -8) = local_b8 + -0x61176;\n    *(undefined4 *)((int)piVar18 + -0xc) = 0x5c;\n    *(int *)((int)piVar18 + -0x10) = (int)local_b8 + -0x1a1d93;\n                    \n                    \n    *(undefined4 *)((int)piVar18 + -0x14) = 0xd2fe5;\n    FUN_002446e0();\n  }\n  local_d2 = '\0';\n  if (*(int *)(*(int *)(iVar19 + 8) + 0x5934) == 2) {\n    *(undefined4 *)((int)piVar18 + -0x10) = param_1;\n    *(undefined4 *)((int)piVar18 + -0x14) = 0xd2ceb;\n    local_d2 = FUN_000aaa70();\n    bVar24 = false;\n    bVar26 = local_d2 == '\0';\n    if (!bVar26) {\n      iVar19 = 0xc;\n      local_d2 = '\0';\n      ppuVar14 = local_b8 + -0x66894;\n      pbVar20 = local_4c[0];\n      do {\n        if (iVar19 == 0) break;\n        iVar19 = iVar19 + -1;\n        bVar24 = *(byte *)ppuVar14 < *pbVar20;\n        bVar26 = *(byte *)ppuVar14 == *pbVar20;\n        ppuVar14 = (undefined **)((int)ppuVar14 + (uint)bVar27 * -2 + 1);\n        pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n      } while (bVar26);\n      bVar25 = false;\n      bVar24 = (!bVar24 && !bVar26) == bVar24;\n      if (!bVar24) {\n        iVar19 = 0x11;\n        pbVar20 = (byte *)((int)local_b8 + -0x19a243);\n        pbVar9 = local_4c[0];\n        do {\n          if (iVar19 == 0) break;\n          iVar19 = iVar19 + -1;\n          bVar25 = *pbVar20 < *pbVar9;\n          bVar24 = *pbVar20 == *pbVar9;\n          pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n          pbVar9 = pbVar9 + (uint)bVar27 * -2 + 1;\n        } while (bVar24);\n        bVar26 = false;\n        bVar24 = (!bVar25 && !bVar24) == bVar25;\n        if (!bVar24) {\n          iVar19 = 0xc;\n          pbVar20 = (byte *)((int)local_b8 + -0x19a231);\n          pbVar9 = local_4c[0];\n          do {\n            if (iVar19 == 0) break;\n            iVar19 = iVar19 + -1;\n            bVar26 = *pbVar20 < *pbVar9;\n            bVar24 = *pbVar20 == *pbVar9;\n            pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n            pbVar9 = pbVar9 + (uint)bVar27 * -2 + 1;\n          } while (bVar24);\n          bVar25 = false;\n          bVar24 = (!bVar26 && !bVar24) == bVar26;\n          if (!bVar24) {\n            iVar19 = 0x11;\n            ppuVar14 = local_b8 + -0x66889;\n            pbVar20 = local_4c[0];\n            do {\n              if (iVar19 == 0) break;\n              iVar19 = iVar19 + -1;\n              bVar25 = *(byte *)ppuVar14 < *pbVar20;\n              bVar24 = *(byte *)ppuVar14 == *pbVar20;\n              ppuVar14 = (undefined **)((int)ppuVar14 + (uint)bVar27 * -2 + 1);\n              pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n            } while (bVar24);\n            bVar26 = false;\n            bVar24 = (!bVar25 && !bVar24) == bVar25;\n            if (!bVar24) {\n              iVar19 = 9;\n              pbVar20 = (byte *)((int)local_b8 + -0x19a212);\n              pbVar9 = local_4c[0];\n              do {\n                if (iVar19 == 0) break;\n                iVar19 = iVar19 + -1;\n                bVar26 = *pbVar20 < *pbVar9;\n                bVar24 = *pbVar20 == *pbVar9;\n                pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n                pbVar9 = pbVar9 + (uint)bVar27 * -2 + 1;\n              } while (bVar24);\n              local_d2 = (!bVar26 && !bVar24) != bVar26;\n            }\n          }\n        }\n      }\n    }\n  }\n  if (param_8 != 0) {\n    local_d8 = (byte *)0x0;\n    local_e0 = local_a4;\n    local_f4 = &local_8c;\n    local_e4 = 0;\n    do {\n      uVar2 = param_7[1];\n      uVar21 = uVar2 & 0xff;\n      puVar15 = (undefined *)(uVar2 >> 8);\n      local_bc = (undefined *)param_7[2];\n      if (puVar15 < param_11) {\n        if (param_12 == 0) {\n          *(undefined ***)((int)piVar18 + -8) = local_b8 + -0x615ed;\n          *(undefined4 *)((int)piVar18 + -0xc) = 0xea;\n          *(int *)((int)piVar18 + -0x10) = (int)local_b8 + -0x19ca36;\n                    \n                    \n          *(undefined **)((int)piVar18 + -0x14) = &UNK_000d2f49;\n          FUN_002446e0();\n        }\n        iVar19 = (int)puVar15 * 0x10 + param_12;\n        local_b4 = (undefined **)(uint)*(ushort *)(iVar19 + 0xe);\n        if (local_b4 < (undefined **)0xff00) {\nLAB_000d24ee:\n          ppuVar14 = *(undefined ***)(iVar19 + 4);\n          local_c4 = local_bc + (int)ppuVar14;\n          if (local_d1 != '\0') {\n            local_34 = param_4;\n            local_30 = local_b4;\n            local_b0 = &local_34;\n            *(undefined ****)((int)piVar18 + -0xc) = local_b0;\n            *(int *)((int)piVar18 + -0x10) = local_c8;\n            *(undefined4 *)((int)piVar18 + -0x14) = 0xd2533;\n            FUN_00073b00();\n            local_c0 = (undefined **)CONCAT31(local_c0._1_3_,1);\n            if ((*(byte *)(iVar19 + 0xc) & 0xf) == 3) goto LAB_000d254c;\nLAB_000d23e8:\n            *(undefined ****)((int)piVar18 + -0xc) = local_b0;\n            *(int *)((int)piVar18 + -0x10) = local_cc;\n            local_34 = (undefined **)0x0;\n            *(undefined4 *)((int)piVar18 + -0x14) = 0xd2403;\n            FUN_00073ca0();\n            goto LAB_000d2403;\n          }\n        }\n        else {\n          if (local_b4 == (undefined **)0xffff) {\n            puVar7 = param_4[0xc];\n            if (puVar7 == (undefined *)0x0) {\n              puVar7 = *param_4;\n              *(undefined ***)((int)piVar18 + -0x10) = param_4;\n              pcVar4 = *(code **)(puVar7 + 0x6c);\n              *(undefined4 *)((int)piVar18 + -0x14) = 0xd2a4e;\n              puVar7 = (undefined *)(*pcVar4)();\n              param_4[0xc] = puVar7;\n            }\n            *(undefined **)((int)piVar18 + -8) = puVar15;\n            *(undefined ***)((int)piVar18 + -0xc) = param_4;\n            *(undefined **)((int)piVar18 + -0x10) = puVar7;\n            *(undefined4 *)((int)piVar18 + -0x14) = 0xd2591;\n            local_b4 = (undefined **)FUN_0028b7d0();\n            goto LAB_000d24ee;\n          }\n          ppuVar14 = *(undefined ***)(iVar19 + 4);\n          local_c4 = local_bc + (int)ppuVar14;\n          if (local_d1 == '\0') goto LAB_000d2489;\n          local_b0 = &local_34;\n          local_34 = (undefined **)0x0;\n          *(undefined ****)((int)piVar18 + -0xc) = local_b0;\n          *(int *)((int)piVar18 + -0x10) = local_c8;\n          local_30 = (undefined **)0x0;\n                    \n          *(undefined4 *)((int)piVar18 + -0x14) = 0xd23cf;\n          FUN_00073b00();\n          local_c0 = (undefined **)((uint)local_c0 & 0xffffff00);\n          if ((*(byte *)(iVar19 + 0xc) & 0xf) != 3) goto LAB_000d23e8;\nLAB_000d254c:\n          *(undefined ****)((int)piVar18 + -0xc) = local_b0;\n          *(int *)((int)piVar18 + -0x10) = local_cc;\n          local_34 = (undefined **)0xffffffff;\n          *(undefined4 *)((int)piVar18 + -0x14) = 0xd2567;\n          FUN_00073ca0();\nLAB_000d2403:\n          *(undefined ****)((int)piVar18 + -0xc) = local_b0;\n          *(undefined ***)((int)piVar18 + -0x10) = local_e8;\n          local_2c = local_bc;\n          local_28 = (int)local_bc >> 0x1f;\n          local_30 = (undefined **)0x0;\n          *(undefined4 *)((int)piVar18 + -0x14) = 0xd2433;\n          local_34 = ppuVar14;\n          FUN_00073e70();\n          local_30 = (undefined **)0x0;\n          local_34 = (undefined **)*param_7;\n          puVar1 = *(undefined4 **)(local_d0 + 4);\n          if (puVar1 == *(undefined4 **)(local_d0 + 8)) {\n            *(undefined ****)((int)piVar18 + -8) = local_b0;\n            *(undefined4 **)((int)piVar18 + -0xc) = puVar1;\n            *(int *)((int)piVar18 + -0x10) = local_d0;\n            *(undefined4 *)((int)piVar18 + -0x14) = 0xd2b0d;\n            FUN_00072a40();\n          }\n          else {\n            *puVar1 = local_34;\n            puVar1[1] = 0;\n            *(undefined4 **)(local_d0 + 4) = puVar1 + 2;\n          }\n          local_68 = (undefined **)0x0;\n          *(undefined ****)((int)piVar18 + -0xc) = &local_68;\n          *(int *)((int)piVar18 + -0x10) = local_ec;\n          *(undefined4 *)((int)piVar18 + -0x14) = 0xd2479;\n          FUN_00074020();\n          if ((char)local_c0 == '\0') goto LAB_000d2489;\n        }\n        if (((local_d2 != '\0') && ((*(byte *)(iVar19 + 0xc) & 0xf) != 1)) &&\n           ((0x17 < uVar21 || ((0x843f84U >> (uVar2 & 0x1f) & 1) == 0)))) {\n          local_b0 = *(undefined ****)(param_2 + 0x15c);\n          local_80 = param_4;\n          local_7c = (uint)*(ushort *)(iVar19 + 0xe);\n          *(undefined4 *)((int)piVar18 + -0xc) = 1;\n          *(undefined4 *)((int)piVar18 + -0x10) = 0;\n          local_98 = local_b0 + 0xd;\n          *(undefined *****)((int)piVar18 + -0x14) = &local_98;\n          *(undefined ****)((int)piVar18 + -0x18) = &local_80;\n          *(undefined ****)((int)piVar18 + -0x1c) = local_98;\n          *(undefined1 **)((int)piVar18 + -0x20) = local_e0;\n          *(undefined4 *)((int)piVar18 + -0x24) = 0xd2ad1;\n          FUN_00074280();\n          piVar18 = (int *)((int)piVar18 + -4);\n        }\n        if (param_5 != local_b4) {\n          local_c0 = param_4;\n          puVar17 = (undefined1 *)piVar18;\nLAB_000d275e:\n          if (*(int *)(*local_dc + 8) == 0) {\n            *(undefined ***)(puVar17 + -8) = local_b8 + -0x61176;\n            *(undefined4 *)(puVar17 + -0xc) = 0x5c;\n            *(int *)(puVar17 + -0x10) = (int)local_b8 + -0x1a1d93;\n                    \n            *(undefined4 *)(puVar17 + -0x14) = 0xd2f6e;\n            FUN_002446e0();\n          }\n          piVar18 = (int *)puVar17;\n          if (*(char *)(*(int *)(*local_dc + 8) + 0x18b1) != '\0') {\n            local_70 = param_4;\n            iVar19 = *(int *)(param_2 + 0x158) + 0x14;\n            local_6c = param_5;\n            local_68 = local_c0;\n            local_64 = local_b4;\n            iVar3 = *(int *)(*(int *)(param_2 + 0x158) + 0x18);\n            iVar10 = iVar19;\n            if (iVar3 == 0) {\nLAB_000d27f0:\n              local_88 = &local_70;\n              *(undefined *****)(puVar17 + -0x10) = &local_88;\n              *(undefined4 *)(puVar17 + -0x14) = 0xd2811;\n              FUN_000c5e40();\n              iVar11 = local_a8;\n            }\n            else {\n              do {\n                while ((iVar11 = iVar3, *(undefined ***)(iVar11 + 0x10) < param_4 ||\n                       ((param_4 == *(undefined ***)(iVar11 + 0x10) &&\n                        (*(undefined ***)(iVar11 + 0x14) < param_5))))) {\n                  piVar18 = (int *)(iVar11 + 0xc);\n                  iVar3 = *piVar18;\n                  iVar11 = iVar10;\n                  if (*piVar18 == 0) goto LAB_000d27da;\n                }\n                iVar3 = *(int *)(iVar11 + 8);\n                iVar10 = iVar11;\n              } while (*(int *)(iVar11 + 8) != 0);\nLAB_000d27da:\n              if (((iVar19 == iVar11) || (param_4 < *(undefined ***)(iVar11 + 0x10))) ||\n                 ((param_4 == *(undefined ***)(iVar11 + 0x10) &&\n                  (param_5 < *(undefined ***)(iVar11 + 0x14))))) goto LAB_000d27f0;\n            }\n            local_8c = iVar11 + 0x18;\n            *(undefined4 *)(puVar17 + -0xc) = 1;\n            *(undefined4 *)(puVar17 + -0x10) = 0;\n            *(int **)(puVar17 + -0x14) = local_f4;\n            *(undefined ****)(puVar17 + -0x18) = &local_68;\n            *(int *)(puVar17 + -0x1c) = local_8c;\n            *(undefined1 **)(puVar17 + -0x20) = local_e0;\n            *(undefined4 *)(puVar17 + -0x24) = 0xd2840;\n            FUN_00074340();\n            piVar18 = *(int **)(*local_dc + 0xc);\n            if (piVar18 == (int *)0x0) {\n              *(undefined ***)(puVar17 + -0xc) = local_b8 + -0x615c4;\n              *(undefined4 *)(puVar17 + -0x10) = 0x73;\n              *(int *)(puVar17 + -0x14) = (int)local_b8 + -0x1a1d93;\n                    \n              *(undefined4 *)(puVar17 + -0x18) = 0xd2fad;\n              FUN_002446e0();\n            }\n            iVar19 = *piVar18;\n            *(undefined **)(puVar17 + -0xc) = local_c4;\n            *(undefined ***)(puVar17 + -0x10) = local_b4;\n            *(undefined ***)(puVar17 + -0x14) = local_c0;\n            *(undefined ***)(puVar17 + -0x18) = param_5;\n            *(undefined ***)(puVar17 + -0x1c) = param_4;\n            *(int *)(puVar17 + -0x20) = param_2;\n            *(int **)(puVar17 + -0x24) = piVar18;\n            pcVar4 = *(code **)(iVar19 + 0x104);\n            *(undefined4 *)(puVar17 + -0x28) = 0xd287d;\n            (*pcVar4)();\n            pbVar20 = local_d8;\n            piVar18 = (int *)(puVar17 + -4);\n            if (local_d8 != (byte *)0x0) {\n              local_b4 = &local_2c;\n              local_b0 = &local_34;\n              iVar19 = *(int *)(param_2 + 0x158);\n              *(byte **)(puVar17 + -0x14) = local_d8;\n              local_34 = local_b4;\n              *(undefined4 *)(puVar17 + -0x18) = 0xd28bd;\n              sVar6 = strlen(*(char **)(puVar17 + -0x14));\n              pppuVar5 = local_b0;\n              *(undefined4 *)(puVar17 + -8) = 0;\n              *(byte **)(puVar17 + -0xc) = pbVar20 + sVar6;\n              *(byte **)(puVar17 + -0x10) = pbVar20;\n              *(undefined ****)(puVar17 + -0x14) = local_b0;\n              *(undefined4 *)(puVar17 + -0x18) = 0xd28d2;\n              FUN_00072b90();\n              *(undefined ****)(puVar17 + -0xc) = pppuVar5;\n              *(int *)(puVar17 + -0x10) = iVar19 + 0x44;\n              *(int **)(puVar17 + -0x14) = &local_ac;\n              *(undefined4 *)(puVar17 + -0x18) = 0xd28e6;\n              FUN_00094bd0();\n              iVar19 = local_ac;\n              if (local_34 != local_b4) {\n                *(undefined ***)(puVar17 + -0x18) = local_34;\n                *(undefined4 *)(puVar17 + -0x1c) = 0xd2909;\n                FUN_003ae080();\n              }\n              piVar18 = (int *)(puVar17 + -8);\n              iVar3 = *(int *)(param_2 + 0x158);\n              if (iVar19 != iVar3 + 0x48) {\n                local_34 = param_4;\n                local_30 = param_5;\n                iVar10 = *(int *)(iVar3 + 0x18);\n                iVar11 = iVar3 + 0x14;\n                if (*(int *)(iVar3 + 0x18) == 0) {\nLAB_000d2bd8:\n                  *(undefined *****)(puVar17 + -0x18) = &local_84;\n                  local_84 = local_b0;\n                  *(undefined4 *)(puVar17 + -0x1c) = 0xd2bf6;\n                  FUN_000c5e40();\n                  iVar12 = local_a8;\n                }\n                else {\n                  do {\n                    while ((iVar12 = iVar10, *(undefined ***)(iVar12 + 0x10) < param_4 ||\n                           ((param_4 == *(undefined ***)(iVar12 + 0x10) &&\n                            (*(undefined ***)(iVar12 + 0x14) < param_5))))) {\n                      piVar18 = (int *)(iVar12 + 0xc);\n                      iVar10 = *piVar18;\n                      iVar12 = iVar11;\n                      if (*piVar18 == 0) goto LAB_000d2962;\n                    }\n                    iVar10 = *(int *)(iVar12 + 8);\n                    iVar11 = iVar12;\n                  } while (*(int *)(iVar12 + 8) != 0);\nLAB_000d2962:\n                  if (((iVar12 == iVar3 + 0x14) || (param_4 < *(undefined ***)(iVar12 + 0x10))) ||\n                     ((param_4 == *(undefined ***)(iVar12 + 0x10) &&\n                      (param_5 < *(undefined ***)(iVar12 + 0x14))))) goto LAB_000d2bd8;\n                }\n                piVar18 = (int *)(puVar17 + -8);\n                puVar17 = puVar17 + -8;\n                for (puVar1 = *(undefined4 **)(iVar19 + 0x30); puVar1 != (undefined4 *)0x0;\n                    puVar1 = (undefined4 *)*puVar1) {\n                  *(undefined4 *)(puVar17 + -0xc) = 1;\n                  *(undefined4 *)(puVar17 + -0x10) = 0;\n                  *(int **)(puVar17 + -0x14) = &local_90;\n                  *(undefined4 **)(puVar17 + -0x18) = puVar1 + 1;\n                  *(int *)(puVar17 + -0x1c) = iVar12 + 0x18;\n                  *(undefined1 **)(puVar17 + -0x20) = local_e0;\n                  *(undefined4 *)(puVar17 + -0x24) = 0xd29ae;\n                  local_90 = iVar12 + 0x18;\n                  FUN_00074340();\n                  piVar18 = (int *)(puVar17 + -4);\n                  puVar17 = puVar17 + -4;\n                }\n              }\n            }\n          }\n        }\n      }\n      else {\n        if (puVar15 < param_4[0x2c]) {\n          local_70 = (undefined **)0x0;\nLAB_000d2a1f:\n          *(undefined ***)((int)piVar18 + -8) = local_b8 + -0x615ed;\n          *(undefined4 *)((int)piVar18 + -0xc) = 0x11c;\n          *(int *)((int)piVar18 + -0x10) = (int)local_b8 + -0x19ca36;\n                    \n          *(undefined4 *)((int)piVar18 + -0x14) = 0xd2a40;\n          FUN_002446e0();\n        }\n        uVar16 = (int)puVar15 - (int)param_4[0x2c];\n        local_b0 = (undefined ***)param_4[0x30];\n        if ((uint)((int)local_b0 - (int)param_4[0x2f] >> 2) <= uVar16) {\n          *(undefined ***)((int)piVar18 + -8) = local_b8 + -0x6156c;\n          *(undefined4 *)((int)piVar18 + -0xc) = 0x8ad;\n          *(int *)((int)piVar18 + -0x10) = (int)local_b8 + -0x19cc7b;\n                    \n          *(undefined4 *)((int)piVar18 + -0x14) = 0xd2f8f;\n          FUN_002446e0();\n        }\n        local_70 = *(undefined ***)(param_4[0x2f] + uVar16 * 4);\n        if (local_70 == (undefined **)0x0) goto LAB_000d2a1f;\n        if ((*(byte *)((int)local_70 + 0x2a) & 0x10) == 0) {\n          if ((*(byte *)((int)local_70 + 0x2a) & 7) == 0) goto LAB_000d25f7;\nLAB_000d29e2:\n          local_f0 = (undefined **)local_70[0xc];\n          bVar13 = 0;\n          local_b4 = (undefined **)0x0;\n          local_c0 = (undefined **)0x0;\n          bVar24 = CARRY4((uint)local_bc,(uint)local_f0);\n          local_c4 = local_bc + (int)local_f0;\n          bVar26 = local_c4 == (undefined *)0x0;\n        }\n        else {\n          *(undefined ***)((int)piVar18 + -0xc) = local_70;\n          *(int *)((int)piVar18 + -0x10) = param_2;\n          *(undefined4 *)((int)piVar18 + -0x14) = 0xd29d2;\n          local_70 = (undefined **)FUN_0034cd90();\n          if ((*(byte *)((int)local_70 + 0x2a) & 7) != 0) goto LAB_000d29e2;\nLAB_000d25f7:\n          local_f0 = (undefined **)local_70[0xc];\n          local_c0 = (undefined **)local_70[2];\n          local_c4 = local_bc + (int)local_f0;\n          if (((uint)local_c0[0xb] & 1) == 0) {\n            local_b4 = (undefined **)local_70[3];\n            bVar13 = *(byte *)((int)local_70 + 0x2b) >> 5 & 1;\n            bVar24 = (*(byte *)(local_70 + 10) & 0xf) < 2;\n            bVar26 = (*(byte *)(local_70 + 10) & 0xf) == 2;\n            if (bVar26) {\n              bVar24 = false;\n              bVar26 = local_d2 == '\0';\n              if ((!bVar26) &&\n                 (((bVar13 == 0 || (bVar26 = uVar21 == 0x17, 0x17 < uVar21)) ||\n                  (bVar24 = (0x843f84U >> (uVar2 & 0x1f) & 1) != 0, !bVar24)))) {\n                local_b0 = *(undefined ****)(param_2 + 0x15c);\n                *(undefined4 *)((int)piVar18 + -0xc) = 1;\n                *(undefined4 *)((int)piVar18 + -0x10) = 0;\n                *(undefined *****)((int)piVar18 + -0x14) = &local_94;\n                *(undefined ****)((int)piVar18 + -0x18) = &local_78;\n                local_94 = local_b0 + 0xd;\n                *(undefined ****)((int)piVar18 + -0x1c) = local_94;\n                *(undefined1 **)((int)piVar18 + -0x20) = local_e0;\n                    \n                *(undefined4 *)((int)piVar18 + -0x24) = 0xd2ccb;\n                local_78 = local_c0;\n                local_74 = local_b4;\n                FUN_00074280();\n                bVar24 = (undefined1 *)0xffffffe3 < (undefined1 *)((int)piVar18 + -0x20);\n                bVar26 = piVar18 == (int *)0x4;\n                piVar18 = (int *)((int)piVar18 + -4);\n              }\n            }\n          }\n          else {\n            local_b4 = (undefined **)0x0;\n            bVar24 = false;\n            bVar13 = 0;\n            bVar26 = true;\n            local_c0 = (undefined **)0x0;\n          }\n        }\n        pbVar20 = *local_70;\n        iVar19 = 8;\n        pbVar9 = (byte *)((int)local_b8 + -0x19ca26);\n        pbVar22 = pbVar20;\n        do {\n          if (iVar19 == 0) break;\n          iVar19 = iVar19 + -1;\n          bVar24 = *pbVar9 < *pbVar22;\n          bVar26 = *pbVar9 == *pbVar22;\n          pbVar9 = pbVar9 + (uint)bVar27 * -2 + 1;\n          pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n        } while (bVar26);\n        bVar25 = false;\n        bVar24 = (!bVar24 && !bVar26) == bVar24;\n        if (bVar24) {\n          pbVar20 = pbVar20 + 8;\n        }\n        else {\n          iVar19 = 7;\n          pbVar9 = (byte *)((int)local_b8 + -0x19ca1d);\n          pbVar22 = pbVar20;\n          do {\n            if (iVar19 == 0) break;\n            iVar19 = iVar19 + -1;\n            bVar25 = *pbVar9 < *pbVar22;\n            bVar24 = *pbVar9 == *pbVar22;\n            pbVar9 = pbVar9 + (uint)bVar27 * -2 + 1;\n            pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n          } while (bVar24);\n          pbVar20 = pbVar20 + 7;\n          if ((!bVar25 && !bVar24) != bVar25) {\n            pbVar20 = local_d8;\n          }\n        }\n        local_d8 = pbVar20;\n        if (local_d1 != '\0') {\n          if (bVar13 == 0) {\n            local_34 = (undefined **)0x0;\n            local_30 = (undefined **)0x0;\n          }\n          else {\n            local_34 = local_c0;\n            local_30 = local_b4;\n          }\n          local_b0 = &local_34;\n          *(undefined ****)((int)piVar18 + -0xc) = local_b0;\n          *(int *)((int)piVar18 + -0x10) = local_c8;\n          *(undefined4 *)((int)piVar18 + -0x14) = 0xd26b9;\n          FUN_00073b00();\n          puVar1 = *(undefined4 **)(local_cc + 4);\n          if (puVar1 == *(undefined4 **)(local_cc + 8)) {\n            *(undefined ****)((int)piVar18 + -8) = &local_70;\n            *(undefined4 **)((int)piVar18 + -0xc) = puVar1;\n            *(int *)((int)piVar18 + -0x10) = local_cc;\n            *(undefined4 *)((int)piVar18 + -0x14) = 0xd2b4b;\n            FUN_000726c0();\n          }\n          else {\n            *puVar1 = local_70;\n            *(undefined4 **)(local_cc + 4) = puVar1 + 1;\n          }\n          *(undefined ****)((int)piVar18 + -0xc) = local_b0;\n          *(undefined ***)((int)piVar18 + -0x10) = local_e8;\n          local_34 = local_f0;\n          local_30 = (undefined **)0x0;\n          local_2c = local_bc;\n          local_28 = (int)local_bc >> 0x1f;\n          *(undefined4 *)((int)piVar18 + -0x14) = 0xd270d;\n          FUN_00073e70();\n          local_30 = (undefined **)0x0;\n          local_34 = (undefined **)*param_7;\n          puVar1 = *(undefined4 **)(local_d0 + 4);\n          if (puVar1 == *(undefined4 **)(local_d0 + 8)) {\n            *(undefined ****)((int)piVar18 + -8) = local_b0;\n            *(undefined4 **)((int)piVar18 + -0xc) = puVar1;\n            *(int *)((int)piVar18 + -0x10) = local_d0;\n            *(undefined4 *)((int)piVar18 + -0x14) = 0xd2bbd;\n            FUN_00072a40();\n          }\n          else {\n            *puVar1 = local_34;\n            puVar1[1] = 0;\n            *(undefined4 **)(local_d0 + 4) = puVar1 + 2;\n          }\n          local_68 = (undefined **)0x0;\n          *(undefined ****)((int)piVar18 + -0xc) = &local_68;\n          *(int *)((int)piVar18 + -0x10) = local_ec;\n          *(undefined4 *)((int)piVar18 + -0x14) = 0xd2753;\n          FUN_00074020();\n        }\n        puVar17 = (undefined1 *)piVar18;\n        if (bVar13 != 0) goto LAB_000d275e;\n      }\nLAB_000d2489:\n      local_e4 = local_e4 + 1;\n      param_7 = param_7 + 3;\n    } while (param_8 != local_e4);\n  }\n  if (local_4c[0] != local_f8) {\n    *(byte **)((int)piVar18 + -0x10) = local_4c[0];\n    *(undefined4 *)((int)piVar18 + -0x14) = 0xd2c22;\n    FUN_003ae080();\n  }\n  if ((local_60 != 0) && (local_5c != 0)) {\n    *(undefined ***)((int)piVar18 + -0x10) = local_b8 + -0x60d6c;\n    *(undefined4 *)((int)piVar18 + -0x14) = 0xd2c4a;\n    uVar8 = gettext();\n    *(undefined4 *)((int)piVar18 + -0x10) = uVar8;\n    uVar8 = local_54;\n    *(undefined4 *)((int)piVar18 + -0x14) = 0;\n    *(undefined4 *)((int)piVar18 + -0x18) = uVar8;\n    *(undefined4 *)((int)piVar18 + -0x1c) = local_58;\n    *(int *)((int)piVar18 + -0x20) = local_5c;\n    *(undefined4 *)((int)piVar18 + -0x24) = 0xd2c5f;\n    FUN_0023bd50();\n  }\n  return;\n}" ({ "{") (declaration "undefined4 *puVar1;" (type_identifier "undefined4") (pointer_declarator "*puVar1" (* "*") (identifier "puVar1")) (; ";")) (declaration "uint uVar2;" (type_identifier "uint") (identifier "uVar2") (; ";")) (declaration "int iVar3;" (primitive_type "int") (identifier "iVar3") (; ";")) (declaration "code *pcVar4;" (type_identifier "code") (pointer_declarator "*pcVar4" (* "*") (identifier "pcVar4")) (; ";")) (declaration "undefined ***pppuVar5;" (type_identifier "undefined") (pointer_declarator "***pppuVar5" (* "*") (pointer_declarator "**pppuVar5" (* "*") (pointer_declarator "*pppuVar5" (* "*") (identifier "pppuVar5")))) (; ";")) (declaration "size_t sVar6;" (primitive_type "size_t") (identifier "sVar6") (; ";")) (declaration "undefined *puVar7;" (type_identifier "undefined") (pointer_declarator "*puVar7" (* "*") (identifier "puVar7")) (; ";")) (declaration "undefined4 uVar8;" (type_identifier "undefined4") (identifier "uVar8") (; ";")) (declaration "byte *pbVar9;" (type_identifier "byte") (pointer_declarator "*pbVar9" (* "*") (identifier "pbVar9")) (; ";")) (declaration "int iVar10;" (primitive_type "int") (identifier "iVar10") (; ";")) (declaration "int iVar11;" (primitive_type "int") (identifier "iVar11") (; ";")) (declaration "int iVar12;" (primitive_type "int") (identifier "iVar12") (; ";")) (declaration "byte bVar13;" (type_identifier "byte") (identifier "bVar13") (; ";")) (declaration "undefined **ppuVar14;" (type_identifier "undefined") (pointer_declarator "**ppuVar14" (* "*") (pointer_declarator "*ppuVar14" (* "*") (identifier "ppuVar14"))) (; ";")) (declaration "undefined *puVar15;" (type_identifier "undefined") (pointer_declarator "*puVar15" (* "*") (identifier "puVar15")) (; ";")) (declaration "uint uVar16;" (type_identifier "uint") (identifier "uVar16") (; ";")) (declaration "undefined1 *puVar17;" (type_identifier "undefined1") (pointer_declarator "*puVar17" (* "*") (identifier "puVar17")) (; ";")) (declaration "int *piVar18;" (primitive_type "int") (pointer_declarator "*piVar18" (* "*") (identifier "piVar18")) (; ";")) (declaration "undefined **unaff_ESI;" (type_identifier "undefined") (pointer_declarator "**unaff_ESI" (* "*") (pointer_declarator "*unaff_ESI" (* "*") (identifier "unaff_ESI"))) (; ";")) (declaration "int iVar19;" (primitive_type "int") (identifier "iVar19") (; ";")) (declaration "byte *pbVar20;" (type_identifier "byte") (pointer_declarator "*pbVar20" (* "*") (identifier "pbVar20")) (; ";")) (declaration "uint uVar21;" (type_identifier "uint") (identifier "uVar21") (; ";")) (declaration "byte *pbVar22;" (type_identifier "byte") (pointer_declarator "*pbVar22" (* "*") (identifier "pbVar22")) (; ";")) (declaration "undefined **ppuVar23;" (type_identifier "undefined") (pointer_declarator "**ppuVar23" (* "*") (pointer_declarator "*ppuVar23" (* "*") (identifier "ppuVar23"))) (; ";")) (declaration "bool bVar24;" (primitive_type "bool") (identifier "bVar24") (; ";")) (declaration "bool bVar25;" (primitive_type "bool") (identifier "bVar25") (; ";")) (declaration "bool bVar26;" (primitive_type "bool") (identifier "bVar26") (; ";")) (declaration "byte bVar27;" (type_identifier "byte") (identifier "bVar27") (; ";")) (declaration "int iStack_100;" (primitive_type "int") (identifier "iStack_100") (; ";")) (declaration "undefined1 auStack_fc [4];" (type_identifier "undefined1") (array_declarator "auStack_fc [4]" (identifier "auStack_fc") ([ "[") (number_literal "4") (] "]")) (; ";")) (declaration "byte *local_f8;" (type_identifier "byte") (pointer_declarator "*local_f8" (* "*") (identifier "local_f8")) (; ";")) (declaration "int *local_f4;" (primitive_type "int") (pointer_declarator "*local_f4" (* "*") (identifier "local_f4")) (; ";")) (declaration "undefined **local_f0;" (type_identifier "undefined") (pointer_declarator "**local_f0" (* "*") (pointer_declarator "*local_f0" (* "*") (identifier "local_f0"))) (; ";")) (declaration "int local_ec;" (primitive_type "int") (identifier "local_ec") (; ";")) (declaration "undefined **local_e8;" (type_identifier "undefined") (pointer_declarator "**local_e8" (* "*") (pointer_declarator "*local_e8" (* "*") (identifier "local_e8"))) (; ";")) (declaration "int local_e4;" (primitive_type "int") (identifier "local_e4") (; ";")) (declaration "undefined1 *local_e0;" (type_identifier "undefined1") (pointer_declarator "*local_e0" (* "*") (identifier "local_e0")) (; ";")) (declaration "int *local_dc;" (primitive_type "int") (pointer_declarator "*local_dc" (* "*") (identifier "local_dc")) (; ";")) (declaration "byte *local_d8;" (type_identifier "byte") (pointer_declarator "*local_d8" (* "*") (identifier "local_d8")) (; ";")) (declaration "char local_d2;" (primitive_type "char") (identifier "local_d2") (; ";")) (declaration "char local_d1;" (primitive_type "char") (identifier "local_d1") (; ";")) (declaration "int local_d0;" (primitive_type "int") (identifier "local_d0") (; ";")) (declaration "int local_cc;" (primitive_type "int") (identifier "local_cc") (; ";")) (declaration "int local_c8;" (primitive_type "int") (identifier "local_c8") (; ";")) (declaration "undefined *local_c4;" (type_identifier "undefined") (pointer_declarator "*local_c4" (* "*") (identifier "local_c4")) (; ";")) (declaration "undefined **local_c0;" (type_identifier "undefined") (pointer_declarator "**local_c0" (* "*") (pointer_declarator "*local_c0" (* "*") (identifier "local_c0"))) (; ";")) (declaration "undefined *local_bc;" (type_identifier "undefined") (pointer_declarator "*local_bc" (* "*") (identifier "local_bc")) (; ";")) (declaration "undefined **local_b8;" (type_identifier "undefined") (pointer_declarator "**local_b8" (* "*") (pointer_declarator "*local_b8" (* "*") (identifier "local_b8"))) (; ";")) (declaration "undefined **local_b4;" (type_identifier "undefined") (pointer_declarator "**local_b4" (* "*") (pointer_declarator "*local_b4" (* "*") (identifier "local_b4"))) (; ";")) (declaration "undefined ***local_b0;" (type_identifier "undefined") (pointer_declarator "***local_b0" (* "*") (pointer_declarator "**local_b0" (* "*") (pointer_declarator "*local_b0" (* "*") (identifier "local_b0")))) (; ";")) (declaration "int local_ac;" (primitive_type "int") (identifier "local_ac") (; ";")) (declaration "int local_a8;" (primitive_type "int") (identifier "local_a8") (; ";")) (declaration "undefined1 local_a4 [12];" (type_identifier "undefined1") (array_declarator "local_a4 [12]" (identifier "local_a4") ([ "[") (number_literal "12") (] "]")) (; ";")) (declaration "undefined ***local_98;" (type_identifier "undefined") (pointer_declarator "***local_98" (* "*") (pointer_declarator "**local_98" (* "*") (pointer_declarator "*local_98" (* "*") (identifier "local_98")))) (; ";")) (declaration "undefined ***local_94;" (type_identifier "undefined") (pointer_declarator "***local_94" (* "*") (pointer_declarator "**local_94" (* "*") (pointer_declarator "*local_94" (* "*") (identifier "local_94")))) (; ";")) (declaration "int local_90;" (primitive_type "int") (identifier "local_90") (; ";")) (declaration "int local_8c;" (primitive_type "int") (identifier "local_8c") (; ";")) (declaration "undefined ***local_88;" (type_identifier "undefined") (pointer_declarator "***local_88" (* "*") (pointer_declarator "**local_88" (* "*") (pointer_declarator "*local_88" (* "*") (identifier "local_88")))) (; ";")) (declaration "undefined ***local_84;" (type_identifier "undefined") (pointer_declarator "***local_84" (* "*") (pointer_declarator "**local_84" (* "*") (pointer_declarator "*local_84" (* "*") (identifier "local_84")))) (; ";")) (declaration "undefined **local_80;" (type_identifier "undefined") (pointer_declarator "**local_80" (* "*") (pointer_declarator "*local_80" (* "*") (identifier "local_80"))) (; ";")) (declaration "uint local_7c;" (type_identifier "uint") (identifier "local_7c") (; ";")) (declaration "undefined **local_78;" (type_identifier "undefined") (pointer_declarator "**local_78" (* "*") (pointer_declarator "*local_78" (* "*") (identifier "local_78"))) (; ";")) (declaration "undefined **local_74;" (type_identifier "undefined") (pointer_declarator "**local_74" (* "*") (pointer_declarator "*local_74" (* "*") (identifier "local_74"))) (; ";")) (declaration "undefined **local_70;" (type_identifier "undefined") (pointer_declarator "**local_70" (* "*") (pointer_declarator "*local_70" (* "*") (identifier "local_70"))) (; ";")) (declaration "undefined **local_6c;" (type_identifier "undefined") (pointer_declarator "**local_6c" (* "*") (pointer_declarator "*local_6c" (* "*") (identifier "local_6c"))) (; ";")) (declaration "undefined **local_68;" (type_identifier "undefined") (pointer_declarator "**local_68" (* "*") (pointer_declarator "*local_68" (* "*") (identifier "local_68"))) (; ";")) (declaration "undefined **local_64;" (type_identifier "undefined") (pointer_declarator "**local_64" (* "*") (pointer_declarator "*local_64" (* "*") (identifier "local_64"))) (; ";")) (declaration "int local_60;" (primitive_type "int") (identifier "local_60") (; ";")) (declaration "int local_5c;" (primitive_type "int") (identifier "local_5c") (; ";")) (declaration "undefined4 local_58;" (type_identifier "undefined4") (identifier "local_58") (; ";")) (declaration "undefined4 local_54;" (type_identifier "undefined4") (identifier "local_54") (; ";")) (declaration "undefined1 local_50;" (type_identifier "undefined1") (identifier "local_50") (; ";")) (declaration "byte *local_4c [2];" (type_identifier "byte") (pointer_declarator "*local_4c [2]" (* "*") (array_declarator "local_4c [2]" (identifier "local_4c") ([ "[") (number_literal "2") (] "]"))) (; ";")) (declaration "byte local_44 [16];" (type_identifier "byte") (array_declarator "local_44 [16]" (identifier "local_44") ([ "[") (number_literal "16") (] "]")) (; ";")) (declaration "undefined **local_34;" (type_identifier "undefined") (pointer_declarator "**local_34" (* "*") (pointer_declarator "*local_34" (* "*") (identifier "local_34"))) (; ";")) (declaration "undefined **local_30;" (type_identifier "undefined") (pointer_declarator "**local_30" (* "*") (pointer_declarator "*local_30" (* "*") (identifier "local_30"))) (; ";")) (declaration "undefined *local_2c;" (type_identifier "undefined") (pointer_declarator "*local_2c" (* "*") (identifier "local_2c")) (; ";")) (declaration "int local_28;" (primitive_type "int") (identifier "local_28") (; ";")) (expression_statement "bVar27 = 0;" (assignment_expression "bVar27 = 0" (identifier "bVar27") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_b8 = &__DT_PLTGOT;" (assignment_expression "local_b8 = &__DT_PLTGOT" (identifier "local_b8") (= "=") (pointer_expression "&__DT_PLTGOT" (& "&") (identifier "__DT_PLTGOT"))) (; ";")) (expression_statement "local_dc = &DAT_005ea7c8;" (assignment_expression "local_dc = &DAT_005ea7c8" (identifier "local_dc") (= "=") (pointer_expression "&DAT_005ea7c8" (& "&") (identifier "DAT_005ea7c8"))) (; ";")) (expression_statement "local_60 = 0;" (assignment_expression "local_60 = 0" (identifier "local_60") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_5c = 0;" (assignment_expression "local_5c = 0" (identifier "local_5c") (= "=") (number_literal "0")) (; ";")) (expression_statement "iVar19 = *(int *)(DAT_005ea7c8 + 8);" (assignment_expression "iVar19 = *(int *)(DAT_005ea7c8 + 8)" (identifier "iVar19") (= "=") (pointer_expression "*(int *)(DAT_005ea7c8 + 8)" (* "*") (cast_expression "(int *)(DAT_005ea7c8 + 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(DAT_005ea7c8 + 8)" (( "(") (binary_expression "DAT_005ea7c8 + 8" (identifier "DAT_005ea7c8") (+ "+") (number_literal "8")) () ")"))))) (; ";")) (expression_statement "local_58 = 0;" (assignment_expression "local_58 = 0" (identifier "local_58") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_54 = 0;" (assignment_expression "local_54 = 0" (identifier "local_54") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_50 = 0;" (assignment_expression "local_50 = 0" (identifier "local_50") (= "=") (number_literal "0")) (; ";")) (if_statement "if (iVar19 == 0) {\n    iStack_100 = iVar19;\n                    \n                    \n    FUN_002446e0("../../gold/parameters.h",0x5c,"options");\n  }" (if "if") (parenthesized_expression "(iVar19 == 0)" (( "(") (binary_expression "iVar19 == 0" (identifier "iVar19") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n    iStack_100 = iVar19;\n                    \n                    \n    FUN_002446e0("../../gold/parameters.h",0x5c,"options");\n  }" ({ "{") (expression_statement "iStack_100 = iVar19;" (assignment_expression "iStack_100 = iVar19" (identifier "iStack_100") (= "=") (identifier "iVar19")) (; ";")) (expression_statement "FUN_002446e0("../../gold/parameters.h",0x5c,"options");" (call_expression "FUN_002446e0("../../gold/parameters.h",0x5c,"options")" (identifier "FUN_002446e0") (argument_list "("../../gold/parameters.h",0x5c,"options")" (( "(") (string_literal ""../../gold/parameters.h"" (" """) (string_content "../../gold/parameters.h") (" """)) (, ",") (number_literal "0x5c") (, ",") (string_literal ""options"" (" """) (string_content "options") (" """)) () ")"))) (; ";")) (} "}"))) (if_statement "if (*(int *)(iVar19 + 0x5934) == 0) {\n    local_f8 = local_44;\n    iStack_100 = 0;\n    local_4c[0] = local_f8;\n                    \n    FUN_00072b90(local_4c,"","");\n    piVar18 = (int *)auStack_fc;\n  }\n  else {\n    unaff_ESI = &__DT_PLTGOT;\n    if (*(code **)(*param_4 + 0x40) == FUN_00106550) {\n                    \n      FUN_001063c0(local_4c,param_4 + 0x24,param_5);\n      unaff_ESI = param_4;\n    }\n    else {\n                    \n      (**(code **)(*param_4 + 0x40))(local_4c,param_4,param_5);\n    }\n    local_f8 = local_44;\n    piVar18 = &iStack_100;\n  }" (if "if") (parenthesized_expression "(*(int *)(iVar19 + 0x5934) == 0)" (( "(") (binary_expression "*(int *)(iVar19 + 0x5934) == 0" (pointer_expression "*(int *)(iVar19 + 0x5934)" (* "*") (cast_expression "(int *)(iVar19 + 0x5934)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar19 + 0x5934)" (( "(") (binary_expression "iVar19 + 0x5934" (identifier "iVar19") (+ "+") (number_literal "0x5934")) () ")")))) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n    local_f8 = local_44;\n    iStack_100 = 0;\n    local_4c[0] = local_f8;\n                    \n    FUN_00072b90(local_4c,"","");\n    piVar18 = (int *)auStack_fc;\n  }" ({ "{") (expression_statement "local_f8 = local_44;" (assignment_expression "local_f8 = local_44" (identifier "local_f8") (= "=") (identifier "local_44")) (; ";")) (expression_statement "iStack_100 = 0;" (assignment_expression "iStack_100 = 0" (identifier "iStack_100") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_4c[0] = local_f8;" (assignment_expression "local_4c[0] = local_f8" (subscript_expression "local_4c[0]" (identifier "local_4c") ([ "[") (number_literal "0") (] "]")) (= "=") (identifier "local_f8")) (; ";")) (expression_statement "FUN_00072b90(local_4c,"","");" (call_expression "FUN_00072b90(local_4c,"","")" (identifier "FUN_00072b90") (argument_list "(local_4c,"","")" (( "(") (identifier "local_4c") (, ",") (string_literal """" (" """) (" """)) (, ",") (string_literal """" (" """) (" """)) () ")"))) (; ";")) (expression_statement "piVar18 = (int *)auStack_fc;" (assignment_expression "piVar18 = (int *)auStack_fc" (identifier "piVar18") (= "=") (cast_expression "(int *)auStack_fc" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "auStack_fc"))) (; ";")) (} "}")) (else_clause "else {\n    unaff_ESI = &__DT_PLTGOT;\n    if (*(code **)(*param_4 + 0x40) == FUN_00106550) {\n                    \n      FUN_001063c0(local_4c,param_4 + 0x24,param_5);\n      unaff_ESI = param_4;\n    }\n    else {\n                    \n      (**(code **)(*param_4 + 0x40))(local_4c,param_4,param_5);\n    }\n    local_f8 = local_44;\n    piVar18 = &iStack_100;\n  }" (else "else") (compound_statement "{\n    unaff_ESI = &__DT_PLTGOT;\n    if (*(code **)(*param_4 + 0x40) == FUN_00106550) {\n                    \n      FUN_001063c0(local_4c,param_4 + 0x24,param_5);\n      unaff_ESI = param_4;\n    }\n    else {\n                    \n      (**(code **)(*param_4 + 0x40))(local_4c,param_4,param_5);\n    }\n    local_f8 = local_44;\n    piVar18 = &iStack_100;\n  }" ({ "{") (expression_statement "unaff_ESI = &__DT_PLTGOT;" (assignment_expression "unaff_ESI = &__DT_PLTGOT" (identifier "unaff_ESI") (= "=") (pointer_expression "&__DT_PLTGOT" (& "&") (identifier "__DT_PLTGOT"))) (; ";")) (if_statement "if (*(code **)(*param_4 + 0x40) == FUN_00106550) {\n                    \n      FUN_001063c0(local_4c,param_4 + 0x24,param_5);\n      unaff_ESI = param_4;\n    }\n    else {\n                    \n      (**(code **)(*param_4 + 0x40))(local_4c,param_4,param_5);\n    }" (if "if") (parenthesized_expression "(*(code **)(*param_4 + 0x40) == FUN_00106550)" (( "(") (binary_expression "*(code **)(*param_4 + 0x40) == FUN_00106550" (pointer_expression "*(code **)(*param_4 + 0x40)" (* "*") (cast_expression "(code **)(*param_4 + 0x40)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*param_4 + 0x40)" (( "(") (binary_expression "*param_4 + 0x40" (pointer_expression "*param_4" (* "*") (identifier "param_4")) (+ "+") (number_literal "0x40")) () ")")))) (== "==") (identifier "FUN_00106550")) () ")")) (compound_statement "{\n                    \n      FUN_001063c0(local_4c,param_4 + 0x24,param_5);\n      unaff_ESI = param_4;\n    }" ({ "{") (expression_statement "FUN_001063c0(local_4c,param_4 + 0x24,param_5);" (call_expression "FUN_001063c0(local_4c,param_4 + 0x24,param_5)" (identifier "FUN_001063c0") (argument_list "(local_4c,param_4 + 0x24,param_5)" (( "(") (identifier "local_4c") (, ",") (binary_expression "param_4 + 0x24" (identifier "param_4") (+ "+") (number_literal "0x24")) (, ",") (identifier "param_5") () ")"))) (; ";")) (expression_statement "unaff_ESI = param_4;" (assignment_expression "unaff_ESI = param_4" (identifier "unaff_ESI") (= "=") (identifier "param_4")) (; ";")) (} "}")) (else_clause "else {\n                    \n      (**(code **)(*param_4 + 0x40))(local_4c,param_4,param_5);\n    }" (else "else") (compound_statement "{\n                    \n      (**(code **)(*param_4 + 0x40))(local_4c,param_4,param_5);\n    }" ({ "{") (expression_statement "(**(code **)(*param_4 + 0x40))(local_4c,param_4,param_5);" (call_expression "(**(code **)(*param_4 + 0x40))(local_4c,param_4,param_5)" (parenthesized_expression "(**(code **)(*param_4 + 0x40))" (( "(") (pointer_expression "**(code **)(*param_4 + 0x40)" (* "*") (pointer_expression "*(code **)(*param_4 + 0x40)" (* "*") (cast_expression "(code **)(*param_4 + 0x40)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*param_4 + 0x40)" (( "(") (binary_expression "*param_4 + 0x40" (pointer_expression "*param_4" (* "*") (identifier "param_4")) (+ "+") (number_literal "0x40")) () ")"))))) () ")")) (argument_list "(local_4c,param_4,param_5)" (( "(") (identifier "local_4c") (, ",") (identifier "param_4") (, ",") (identifier "param_5") () ")"))) (; ";")) (} "}")))) (expression_statement "local_f8 = local_44;" (assignment_expression "local_f8 = local_44" (identifier "local_f8") (= "=") (identifier "local_44")) (; ";")) (expression_statement "piVar18 = &iStack_100;" (assignment_expression "piVar18 = &iStack_100" (identifier "piVar18") (= "=") (pointer_expression "&iStack_100" (& "&") (identifier "iStack_100"))) (; ";")) (} "}")))) (expression_statement "pbVar20 = local_4c[0];" (assignment_expression "pbVar20 = local_4c[0]" (identifier "pbVar20") (= "=") (subscript_expression "local_4c[0]" (identifier "local_4c") ([ "[") (number_literal "0") (] "]"))) (; ";")) (expression_statement "iVar19 = *local_dc;" (assignment_expression "iVar19 = *local_dc" (identifier "iVar19") (= "=") (pointer_expression "*local_dc" (* "*") (identifier "local_dc"))) (; ";")) (if_statement "if (*(int *)(iVar19 + 8) == 0) {\n    *(int *)((int)piVar18 + -4) = iVar19;\n    *(undefined ***)((int)piVar18 + -8) = local_b8 + -0x61176;\n    *(undefined4 *)((int)piVar18 + -0xc) = 0x5c;\n    *(int *)((int)piVar18 + -0x10) = (int)local_b8 + -0x1a1d93;\n                    \n    *(undefined4 *)((int)piVar18 + -0x14) = 0xd3001;\n    FUN_002446e0();\n  }" (if "if") (parenthesized_expression "(*(int *)(iVar19 + 8) == 0)" (( "(") (binary_expression "*(int *)(iVar19 + 8) == 0" (pointer_expression "*(int *)(iVar19 + 8)" (* "*") (cast_expression "(int *)(iVar19 + 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar19 + 8)" (( "(") (binary_expression "iVar19 + 8" (identifier "iVar19") (+ "+") (number_literal "8")) () ")")))) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n    *(int *)((int)piVar18 + -4) = iVar19;\n    *(undefined ***)((int)piVar18 + -8) = local_b8 + -0x61176;\n    *(undefined4 *)((int)piVar18 + -0xc) = 0x5c;\n    *(int *)((int)piVar18 + -0x10) = (int)local_b8 + -0x1a1d93;\n                    \n    *(undefined4 *)((int)piVar18 + -0x14) = 0xd3001;\n    FUN_002446e0();\n  }" ({ "{") (expression_statement "*(int *)((int)piVar18 + -4) = iVar19;" (assignment_expression "*(int *)((int)piVar18 + -4) = iVar19" (pointer_expression "*(int *)((int)piVar18 + -4)" (* "*") (cast_expression "(int *)((int)piVar18 + -4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar18 + -4)" (( "(") (binary_expression "(int)piVar18 + -4" (cast_expression "(int)piVar18" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar18")) (+ "+") (number_literal "-4")) () ")")))) (= "=") (identifier "iVar19")) (; ";")) (expression_statement "*(undefined ***)((int)piVar18 + -8) = local_b8 + -0x61176;" (assignment_expression "*(undefined ***)((int)piVar18 + -8) = local_b8 + -0x61176" (pointer_expression "*(undefined ***)((int)piVar18 + -8)" (* "*") (cast_expression "(undefined ***)((int)piVar18 + -8)" (( "(") (type_descriptor "undefined ***" (type_identifier "undefined") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "((int)piVar18 + -8)" (( "(") (binary_expression "(int)piVar18 + -8" (cast_expression "(int)piVar18" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar18")) (+ "+") (number_literal "-8")) () ")")))) (= "=") (binary_expression "local_b8 + -0x61176" (identifier "local_b8") (+ "+") (number_literal "-0x61176"))) (; ";")) (expression_statement "*(undefined4 *)((int)piVar18 + -0xc) = 0x5c;" (assignment_expression "*(undefined4 *)((int)piVar18 + -0xc) = 0x5c" (pointer_expression "*(undefined4 *)((int)piVar18 + -0xc)" (* "*") (cast_expression "(undefined4 *)((int)piVar18 + -0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar18 + -0xc)" (( "(") (binary_expression "(int)piVar18 + -0xc" (cast_expression "(int)piVar18" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar18")) (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (number_literal "0x5c")) (; ";")) (expression_statement "*(int *)((int)piVar18 + -0x10) = (int)local_b8 + -0x1a1d93;" (assignment_expression "*(int *)((int)piVar18 + -0x10) = (int)local_b8 + -0x1a1d93" (pointer_expression "*(int *)((int)piVar18 + -0x10)" (* "*") (cast_expression "(int *)((int)piVar18 + -0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar18 + -0x10)" (( "(") (binary_expression "(int)piVar18 + -0x10" (cast_expression "(int)piVar18" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar18")) (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (binary_expression "(int)local_b8 + -0x1a1d93" (cast_expression "(int)local_b8" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_b8")) (+ "+") (number_literal "-0x1a1d93"))) (; ";")) (expression_statement "*(undefined4 *)((int)piVar18 + -0x14) = 0xd3001;" (assignment_expression "*(undefined4 *)((int)piVar18 + -0x14) = 0xd3001" (pointer_expression "*(undefined4 *)((int)piVar18 + -0x14)" (* "*") (cast_expression "(undefined4 *)((int)piVar18 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar18 + -0x14)" (( "(") (binary_expression "(int)piVar18 + -0x14" (cast_expression "(int)piVar18" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar18")) (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0xd3001")) (; ";")) (expression_statement "FUN_002446e0();" (call_expression "FUN_002446e0()" (identifier "FUN_002446e0") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (if_statement "if (*(int *)(*(int *)(iVar19 + 8) + 0x5934) == 0) {\nLAB_000d22e5:\n    local_d1 = '\0';\n    local_ec = 0;\n    local_d0 = 0;\n    local_e8 = (undefined **)0x0;\n    local_cc = 0;\n    local_c8 = 0;\n  }\n  else {\n    local_b4 = &local_2c;\n    local_34 = local_b4;\n    pbVar9 = (byte *)0xffffffff;\n    if (local_4c[0] != (byte *)0x0) {\n      *(byte **)((int)piVar18 + -0x10) = local_4c[0];\n      *(undefined4 *)((int)piVar18 + -0x14) = 0xd2df7;\n      sVar6 = strlen(*(char **)((int)piVar18 + -0x10));\n      pbVar9 = pbVar20 + sVar6;\n    }\n    *(undefined4 *)((int)piVar18 + -4) = 0;\n    *(byte **)((int)piVar18 + -8) = pbVar9;\n    local_b0 = &local_34;\n    *(byte **)((int)piVar18 + -0xc) = pbVar20;\n    *(undefined ****)((int)piVar18 + -0x10) = local_b0;\n                    \n    *(undefined4 *)((int)piVar18 + -0x14) = 0xd2e0f;\n    FUN_00072b90();\n    iVar19 = 5;\n    bVar24 = (undefined1 *)0xffffffef < (undefined1 *)((int)piVar18 + -0x10);\n    bVar26 = piVar18 == (int *)0x0;\n    ppuVar14 = local_b8 + -0x67293;\n    ppuVar23 = local_34;\n    do {\n      if (iVar19 == 0) break;\n      iVar19 = iVar19 + -1;\n      bVar24 = *(byte *)ppuVar14 < *(byte *)ppuVar23;\n      bVar26 = *(byte *)ppuVar14 == *(byte *)ppuVar23;\n      ppuVar14 = (undefined **)((int)ppuVar14 + (uint)bVar27 * -2 + 1);\n      ppuVar23 = (undefined **)((int)ppuVar23 + (uint)bVar27 * -2 + 1);\n    } while (bVar26);\n    bVar25 = false;\n    bVar24 = (!bVar24 && !bVar26) == bVar24;\n    if (!bVar24) {\n      iVar19 = 0xf;\n      ppuVar14 = (undefined **)((int)local_b8 + -0x19ca46);\n      ppuVar23 = local_34;\n      do {\n        unaff_ESI = ppuVar14;\n        if (iVar19 == 0) break;\n        iVar19 = iVar19 + -1;\n        unaff_ESI = (undefined **)((int)ppuVar14 + (uint)bVar27 * -2 + 1);\n        bVar25 = *(byte *)ppuVar14 < *(byte *)ppuVar23;\n        bVar24 = *(byte *)ppuVar14 == *(byte *)ppuVar23;\n        ppuVar14 = unaff_ESI;\n        ppuVar23 = (undefined **)((int)ppuVar23 + (uint)bVar27 * -2 + 1);\n      } while (bVar24);\n      if ((!bVar25 && !bVar24) != bVar25) {\n        if (local_34 == local_b4) {\n          iVar19 = *local_dc;\n        }\n        else {\n          *(undefined ***)((int)piVar18 + -0x10) = local_34;\n          *(undefined4 *)((int)piVar18 + -0x14) = 0xd2ee3;\n          FUN_003ae080();\n          iVar19 = *local_dc;\n        }\n        goto LAB_000d22e5;\n      }\n    }\n    if (local_34 != local_b4) {\n      *(undefined ***)((int)piVar18 + -0x10) = local_34;\n      *(undefined4 *)((int)piVar18 + -0x14) = 0xd3010;\n      FUN_003ae080();\n    }\n    *(undefined ****)((int)piVar18 + -0xc) = local_b0;\n    local_34 = param_4;\n    local_30 = param_5;\n    local_b0 = *(undefined ****)(param_2 + 0x15c);\n    *(undefined ****)((int)piVar18 + -0x10) = local_b0 + 0x15;\n    *(undefined4 *)((int)piVar18 + -0x14) = 0xd2e84;\n    local_c8 = FUN_00074520();\n    local_cc = local_c8 + 0xc;\n    unaff_ESI = (undefined **)(local_c8 + 0x18);\n    local_d0 = local_c8 + 0x24;\n    local_ec = local_c8 + 0x30;\n    iVar19 = *local_dc;\n    local_d1 = '\x01';\n    local_e8 = unaff_ESI;\n  }" (if "if") (parenthesized_expression "(*(int *)(*(int *)(iVar19 + 8) + 0x5934) == 0)" (( "(") (binary_expression "*(int *)(*(int *)(iVar19 + 8) + 0x5934) == 0" (pointer_expression "*(int *)(*(int *)(iVar19 + 8) + 0x5934)" (* "*") (cast_expression "(int *)(*(int *)(iVar19 + 8) + 0x5934)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(iVar19 + 8) + 0x5934)" (( "(") (binary_expression "*(int *)(iVar19 + 8) + 0x5934" (pointer_expression "*(int *)(iVar19 + 8)" (* "*") (cast_expression "(int *)(iVar19 + 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar19 + 8)" (( "(") (binary_expression "iVar19 + 8" (identifier "iVar19") (+ "+") (number_literal "8")) () ")")))) (+ "+") (number_literal "0x5934")) () ")")))) (== "==") (number_literal "0")) () ")")) (compound_statement "{\nLAB_000d22e5:\n    local_d1 = '\0';\n    local_ec = 0;\n    local_d0 = 0;\n    local_e8 = (undefined **)0x0;\n    local_cc = 0;\n    local_c8 = 0;\n  }" ({ "{") (labeled_statement "LAB_000d22e5:\n    local_d1 = '\0';" (statement_identifier "LAB_000d22e5") (: ":") (expression_statement "local_d1 = '\0';" (assignment_expression "local_d1 = '\0'" (identifier "local_d1") (= "=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) (; ";"))) (expression_statement "local_ec = 0;" (assignment_expression "local_ec = 0" (identifier "local_ec") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_d0 = 0;" (assignment_expression "local_d0 = 0" (identifier "local_d0") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_e8 = (undefined **)0x0;" (assignment_expression "local_e8 = (undefined **)0x0" (identifier "local_e8") (= "=") (cast_expression "(undefined **)0x0" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "local_cc = 0;" (assignment_expression "local_cc = 0" (identifier "local_cc") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_c8 = 0;" (assignment_expression "local_c8 = 0" (identifier "local_c8") (= "=") (number_literal "0")) (; ";")) (} "}")) (else_clause "else {\n    local_b4 = &local_2c;\n    local_34 = local_b4;\n    pbVar9 = (byte *)0xffffffff;\n    if (local_4c[0] != (byte *)0x0) {\n      *(byte **)((int)piVar18 + -0x10) = local_4c[0];\n      *(undefined4 *)((int)piVar18 + -0x14) = 0xd2df7;\n      sVar6 = strlen(*(char **)((int)piVar18 + -0x10));\n      pbVar9 = pbVar20 + sVar6;\n    }\n    *(undefined4 *)((int)piVar18 + -4) = 0;\n    *(byte **)((int)piVar18 + -8) = pbVar9;\n    local_b0 = &local_34;\n    *(byte **)((int)piVar18 + -0xc) = pbVar20;\n    *(undefined ****)((int)piVar18 + -0x10) = local_b0;\n                    \n    *(undefined4 *)((int)piVar18 + -0x14) = 0xd2e0f;\n    FUN_00072b90();\n    iVar19 = 5;\n    bVar24 = (undefined1 *)0xffffffef < (undefined1 *)((int)piVar18 + -0x10);\n    bVar26 = piVar18 == (int *)0x0;\n    ppuVar14 = local_b8 + -0x67293;\n    ppuVar23 = local_34;\n    do {\n      if (iVar19 == 0) break;\n      iVar19 = iVar19 + -1;\n      bVar24 = *(byte *)ppuVar14 < *(byte *)ppuVar23;\n      bVar26 = *(byte *)ppuVar14 == *(byte *)ppuVar23;\n      ppuVar14 = (undefined **)((int)ppuVar14 + (uint)bVar27 * -2 + 1);\n      ppuVar23 = (undefined **)((int)ppuVar23 + (uint)bVar27 * -2 + 1);\n    } while (bVar26);\n    bVar25 = false;\n    bVar24 = (!bVar24 && !bVar26) == bVar24;\n    if (!bVar24) {\n      iVar19 = 0xf;\n      ppuVar14 = (undefined **)((int)local_b8 + -0x19ca46);\n      ppuVar23 = local_34;\n      do {\n        unaff_ESI = ppuVar14;\n        if (iVar19 == 0) break;\n        iVar19 = iVar19 + -1;\n        unaff_ESI = (undefined **)((int)ppuVar14 + (uint)bVar27 * -2 + 1);\n        bVar25 = *(byte *)ppuVar14 < *(byte *)ppuVar23;\n        bVar24 = *(byte *)ppuVar14 == *(byte *)ppuVar23;\n        ppuVar14 = unaff_ESI;\n        ppuVar23 = (undefined **)((int)ppuVar23 + (uint)bVar27 * -2 + 1);\n      } while (bVar24);\n      if ((!bVar25 && !bVar24) != bVar25) {\n        if (local_34 == local_b4) {\n          iVar19 = *local_dc;\n        }\n        else {\n          *(undefined ***)((int)piVar18 + -0x10) = local_34;\n          *(undefined4 *)((int)piVar18 + -0x14) = 0xd2ee3;\n          FUN_003ae080();\n          iVar19 = *local_dc;\n        }\n        goto LAB_000d22e5;\n      }\n    }\n    if (local_34 != local_b4) {\n      *(undefined ***)((int)piVar18 + -0x10) = local_34;\n      *(undefined4 *)((int)piVar18 + -0x14) = 0xd3010;\n      FUN_003ae080();\n    }\n    *(undefined ****)((int)piVar18 + -0xc) = local_b0;\n    local_34 = param_4;\n    local_30 = param_5;\n    local_b0 = *(undefined ****)(param_2 + 0x15c);\n    *(undefined ****)((int)piVar18 + -0x10) = local_b0 + 0x15;\n    *(undefined4 *)((int)piVar18 + -0x14) = 0xd2e84;\n    local_c8 = FUN_00074520();\n    local_cc = local_c8 + 0xc;\n    unaff_ESI = (undefined **)(local_c8 + 0x18);\n    local_d0 = local_c8 + 0x24;\n    local_ec = local_c8 + 0x30;\n    iVar19 = *local_dc;\n    local_d1 = '\x01';\n    local_e8 = unaff_ESI;\n  }" (else "else") (compound_statement "{\n    local_b4 = &local_2c;\n    local_34 = local_b4;\n    pbVar9 = (byte *)0xffffffff;\n    if (local_4c[0] != (byte *)0x0) {\n      *(byte **)((int)piVar18 + -0x10) = local_4c[0];\n      *(undefined4 *)((int)piVar18 + -0x14) = 0xd2df7;\n      sVar6 = strlen(*(char **)((int)piVar18 + -0x10));\n      pbVar9 = pbVar20 + sVar6;\n    }\n    *(undefined4 *)((int)piVar18 + -4) = 0;\n    *(byte **)((int)piVar18 + -8) = pbVar9;\n    local_b0 = &local_34;\n    *(byte **)((int)piVar18 + -0xc) = pbVar20;\n    *(undefined ****)((int)piVar18 + -0x10) = local_b0;\n                    \n    *(undefined4 *)((int)piVar18 + -0x14) = 0xd2e0f;\n    FUN_00072b90();\n    iVar19 = 5;\n    bVar24 = (undefined1 *)0xffffffef < (undefined1 *)((int)piVar18 + -0x10);\n    bVar26 = piVar18 == (int *)0x0;\n    ppuVar14 = local_b8 + -0x67293;\n    ppuVar23 = local_34;\n    do {\n      if (iVar19 == 0) break;\n      iVar19 = iVar19 + -1;\n      bVar24 = *(byte *)ppuVar14 < *(byte *)ppuVar23;\n      bVar26 = *(byte *)ppuVar14 == *(byte *)ppuVar23;\n      ppuVar14 = (undefined **)((int)ppuVar14 + (uint)bVar27 * -2 + 1);\n      ppuVar23 = (undefined **)((int)ppuVar23 + (uint)bVar27 * -2 + 1);\n    } while (bVar26);\n    bVar25 = false;\n    bVar24 = (!bVar24 && !bVar26) == bVar24;\n    if (!bVar24) {\n      iVar19 = 0xf;\n      ppuVar14 = (undefined **)((int)local_b8 + -0x19ca46);\n      ppuVar23 = local_34;\n      do {\n        unaff_ESI = ppuVar14;\n        if (iVar19 == 0) break;\n        iVar19 = iVar19 + -1;\n        unaff_ESI = (undefined **)((int)ppuVar14 + (uint)bVar27 * -2 + 1);\n        bVar25 = *(byte *)ppuVar14 < *(byte *)ppuVar23;\n        bVar24 = *(byte *)ppuVar14 == *(byte *)ppuVar23;\n        ppuVar14 = unaff_ESI;\n        ppuVar23 = (undefined **)((int)ppuVar23 + (uint)bVar27 * -2 + 1);\n      } while (bVar24);\n      if ((!bVar25 && !bVar24) != bVar25) {\n        if (local_34 == local_b4) {\n          iVar19 = *local_dc;\n        }\n        else {\n          *(undefined ***)((int)piVar18 + -0x10) = local_34;\n          *(undefined4 *)((int)piVar18 + -0x14) = 0xd2ee3;\n          FUN_003ae080();\n          iVar19 = *local_dc;\n        }\n        goto LAB_000d22e5;\n      }\n    }\n    if (local_34 != local_b4) {\n      *(undefined ***)((int)piVar18 + -0x10) = local_34;\n      *(undefined4 *)((int)piVar18 + -0x14) = 0xd3010;\n      FUN_003ae080();\n    }\n    *(undefined ****)((int)piVar18 + -0xc) = local_b0;\n    local_34 = param_4;\n    local_30 = param_5;\n    local_b0 = *(undefined ****)(param_2 + 0x15c);\n    *(undefined ****)((int)piVar18 + -0x10) = local_b0 + 0x15;\n    *(undefined4 *)((int)piVar18 + -0x14) = 0xd2e84;\n    local_c8 = FUN_00074520();\n    local_cc = local_c8 + 0xc;\n    unaff_ESI = (undefined **)(local_c8 + 0x18);\n    local_d0 = local_c8 + 0x24;\n    local_ec = local_c8 + 0x30;\n    iVar19 = *local_dc;\n    local_d1 = '\x01';\n    local_e8 = unaff_ESI;\n  }" ({ "{") (expression_statement "local_b4 = &local_2c;" (assignment_expression "local_b4 = &local_2c" (identifier "local_b4") (= "=") (pointer_expression "&local_2c" (& "&") (identifier "local_2c"))) (; ";")) (expression_statement "local_34 = local_b4;" (assignment_expression "local_34 = local_b4" (identifier "local_34") (= "=") (identifier "local_b4")) (; ";")) (expression_statement "pbVar9 = (byte *)0xffffffff;" (assignment_expression "pbVar9 = (byte *)0xffffffff" (identifier "pbVar9") (= "=") (cast_expression "(byte *)0xffffffff" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0xffffffff"))) (; ";")) (if_statement "if (local_4c[0] != (byte *)0x0) {\n      *(byte **)((int)piVar18 + -0x10) = local_4c[0];\n      *(undefined4 *)((int)piVar18 + -0x14) = 0xd2df7;\n      sVar6 = strlen(*(char **)((int)piVar18 + -0x10));\n      pbVar9 = pbVar20 + sVar6;\n    }" (if "if") (parenthesized_expression "(local_4c[0] != (byte *)0x0)" (( "(") (binary_expression "local_4c[0] != (byte *)0x0" (subscript_expression "local_4c[0]" (identifier "local_4c") ([ "[") (number_literal "0") (] "]")) (!= "!=") (cast_expression "(byte *)0x0" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n      *(byte **)((int)piVar18 + -0x10) = local_4c[0];\n      *(undefined4 *)((int)piVar18 + -0x14) = 0xd2df7;\n      sVar6 = strlen(*(char **)((int)piVar18 + -0x10));\n      pbVar9 = pbVar20 + sVar6;\n    }" ({ "{") (expression_statement "*(byte **)((int)piVar18 + -0x10) = local_4c[0];" (assignment_expression "*(byte **)((int)piVar18 + -0x10) = local_4c[0]" (pointer_expression "*(byte **)((int)piVar18 + -0x10)" (* "*") (cast_expression "(byte **)((int)piVar18 + -0x10)" (( "(") (type_descriptor "byte **" (type_identifier "byte") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)piVar18 + -0x10)" (( "(") (binary_expression "(int)piVar18 + -0x10" (cast_expression "(int)piVar18" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar18")) (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (subscript_expression "local_4c[0]" (identifier "local_4c") ([ "[") (number_literal "0") (] "]"))) (; ";")) (expression_statement "*(undefined4 *)((int)piVar18 + -0x14) = 0xd2df7;" (assignment_expression "*(undefined4 *)((int)piVar18 + -0x14) = 0xd2df7" (pointer_expression "*(undefined4 *)((int)piVar18 + -0x14)" (* "*") (cast_expression "(undefined4 *)((int)piVar18 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar18 + -0x14)" (( "(") (binary_expression "(int)piVar18 + -0x14" (cast_expression "(int)piVar18" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar18")) (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0xd2df7")) (; ";")) (expression_statement "sVar6 = strlen(*(char **)((int)piVar18 + -0x10));" (assignment_expression "sVar6 = strlen(*(char **)((int)piVar18 + -0x10))" (identifier "sVar6") (= "=") (call_expression "strlen(*(char **)((int)piVar18 + -0x10))" (identifier "strlen") (argument_list "(*(char **)((int)piVar18 + -0x10))" (( "(") (pointer_expression "*(char **)((int)piVar18 + -0x10)" (* "*") (cast_expression "(char **)((int)piVar18 + -0x10)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)piVar18 + -0x10)" (( "(") (binary_expression "(int)piVar18 + -0x10" (cast_expression "(int)piVar18" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar18")) (+ "+") (number_literal "-0x10")) () ")")))) () ")")))) (; ";")) (expression_statement "pbVar9 = pbVar20 + sVar6;" (assignment_expression "pbVar9 = pbVar20 + sVar6" (identifier "pbVar9") (= "=") (binary_expression "pbVar20 + sVar6" (identifier "pbVar20") (+ "+") (identifier "sVar6"))) (; ";")) (} "}"))) (expression_statement "*(undefined4 *)((int)piVar18 + -4) = 0;" (assignment_expression "*(undefined4 *)((int)piVar18 + -4) = 0" (pointer_expression "*(undefined4 *)((int)piVar18 + -4)" (* "*") (cast_expression "(undefined4 *)((int)piVar18 + -4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar18 + -4)" (( "(") (binary_expression "(int)piVar18 + -4" (cast_expression "(int)piVar18" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar18")) (+ "+") (number_literal "-4")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(byte **)((int)piVar18 + -8) = pbVar9;" (assignment_expression "*(byte **)((int)piVar18 + -8) = pbVar9" (pointer_expression "*(byte **)((int)piVar18 + -8)" (* "*") (cast_expression "(byte **)((int)piVar18 + -8)" (( "(") (type_descriptor "byte **" (type_identifier "byte") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)piVar18 + -8)" (( "(") (binary_expression "(int)piVar18 + -8" (cast_expression "(int)piVar18" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar18")) (+ "+") (number_literal "-8")) () ")")))) (= "=") (identifier "pbVar9")) (; ";")) (expression_statement "local_b0 = &local_34;" (assignment_expression "local_b0 = &local_34" (identifier "local_b0") (= "=") (pointer_expression "&local_34" (& "&") (identifier "local_34"))) (; ";")) (expression_statement "*(byte **)((int)piVar18 + -0xc) = pbVar20;" (assignment_expression "*(byte **)((int)piVar18 + -0xc) = pbVar20" (pointer_expression "*(byte **)((int)piVar18 + -0xc)" (* "*") (cast_expression "(byte **)((int)piVar18 + -0xc)" (( "(") (type_descriptor "byte **" (type_identifier "byte") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)piVar18 + -0xc)" (( "(") (binary_expression "(int)piVar18 + -0xc" (cast_expression "(int)piVar18" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar18")) (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (identifier "pbVar20")) (; ";")) (expression_statement "*(undefined ****)((int)piVar18 + -0x10) = local_b0;" (assignment_expression "*(undefined ****)((int)piVar18 + -0x10) = local_b0" (pointer_expression "*(undefined ****)((int)piVar18 + -0x10)" (* "*") (cast_expression "(undefined ****)((int)piVar18 + -0x10)" (( "(") (type_descriptor "undefined ****" (type_identifier "undefined") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))) () ")") (parenthesized_expression "((int)piVar18 + -0x10)" (( "(") (binary_expression "(int)piVar18 + -0x10" (cast_expression "(int)piVar18" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar18")) (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "local_b0")) (; ";")) (expression_statement "*(undefined4 *)((int)piVar18 + -0x14) = 0xd2e0f;" (assignment_expression "*(undefined4 *)((int)piVar18 + -0x14) = 0xd2e0f" (pointer_expression "*(undefined4 *)((int)piVar18 + -0x14)" (* "*") (cast_expression "(undefined4 *)((int)piVar18 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar18 + -0x14)" (( "(") (binary_expression "(int)piVar18 + -0x14" (cast_expression "(int)piVar18" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar18")) (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0xd2e0f")) (; ";")) (expression_statement "FUN_00072b90();" (call_expression "FUN_00072b90()" (identifier "FUN_00072b90") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "iVar19 = 5;" (assignment_expression "iVar19 = 5" (identifier "iVar19") (= "=") (number_literal "5")) (; ";")) (expression_statement "bVar24 = (undefined1 *)0xffffffef < (undefined1 *)((int)piVar18 + -0x10);" (assignment_expression "bVar24 = (undefined1 *)0xffffffef < (undefined1 *)((int)piVar18 + -0x10)" (identifier "bVar24") (= "=") (binary_expression "(undefined1 *)0xffffffef < (undefined1 *)((int)piVar18 + -0x10)" (cast_expression "(undefined1 *)0xffffffef" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0xffffffef")) (< "<") (cast_expression "(undefined1 *)((int)piVar18 + -0x10)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar18 + -0x10)" (( "(") (binary_expression "(int)piVar18 + -0x10" (cast_expression "(int)piVar18" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar18")) (+ "+") (number_literal "-0x10")) () ")"))))) (; ";")) (expression_statement "bVar26 = piVar18 == (int *)0x0;" (assignment_expression "bVar26 = piVar18 == (int *)0x0" (identifier "bVar26") (= "=") (binary_expression "piVar18 == (int *)0x0" (identifier "piVar18") (== "==") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0")))) (; ";")) (expression_statement "ppuVar14 = local_b8 + -0x67293;" (assignment_expression "ppuVar14 = local_b8 + -0x67293" (identifier "ppuVar14") (= "=") (binary_expression "local_b8 + -0x67293" (identifier "local_b8") (+ "+") (number_literal "-0x67293"))) (; ";")) (expression_statement "ppuVar23 = local_34;" (assignment_expression "ppuVar23 = local_34" (identifier "ppuVar23") (= "=") (identifier "local_34")) (; ";")) (do_statement "do {\n      if (iVar19 == 0) break;\n      iVar19 = iVar19 + -1;\n      bVar24 = *(byte *)ppuVar14 < *(byte *)ppuVar23;\n      bVar26 = *(byte *)ppuVar14 == *(byte *)ppuVar23;\n      ppuVar14 = (undefined **)((int)ppuVar14 + (uint)bVar27 * -2 + 1);\n      ppuVar23 = (undefined **)((int)ppuVar23 + (uint)bVar27 * -2 + 1);\n    } while (bVar26);" (do "do") (compound_statement "{\n      if (iVar19 == 0) break;\n      iVar19 = iVar19 + -1;\n      bVar24 = *(byte *)ppuVar14 < *(byte *)ppuVar23;\n      bVar26 = *(byte *)ppuVar14 == *(byte *)ppuVar23;\n      ppuVar14 = (undefined **)((int)ppuVar14 + (uint)bVar27 * -2 + 1);\n      ppuVar23 = (undefined **)((int)ppuVar23 + (uint)bVar27 * -2 + 1);\n    }" ({ "{") (if_statement "if (iVar19 == 0) break;" (if "if") (parenthesized_expression "(iVar19 == 0)" (( "(") (binary_expression "iVar19 == 0" (identifier "iVar19") (== "==") (number_literal "0")) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "iVar19 = iVar19 + -1;" (assignment_expression "iVar19 = iVar19 + -1" (identifier "iVar19") (= "=") (binary_expression "iVar19 + -1" (identifier "iVar19") (+ "+") (number_literal "-1"))) (; ";")) (expression_statement "bVar24 = *(byte *)ppuVar14 < *(byte *)ppuVar23;" (assignment_expression "bVar24 = *(byte *)ppuVar14 < *(byte *)ppuVar23" (identifier "bVar24") (= "=") (binary_expression "*(byte *)ppuVar14 < *(byte *)ppuVar23" (pointer_expression "*(byte *)ppuVar14" (* "*") (cast_expression "(byte *)ppuVar14" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "ppuVar14"))) (< "<") (pointer_expression "*(byte *)ppuVar23" (* "*") (cast_expression "(byte *)ppuVar23" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "ppuVar23"))))) (; ";")) (expression_statement "bVar26 = *(byte *)ppuVar14 == *(byte *)ppuVar23;" (assignment_expression "bVar26 = *(byte *)ppuVar14 == *(byte *)ppuVar23" (identifier "bVar26") (= "=") (binary_expression "*(byte *)ppuVar14 == *(byte *)ppuVar23" (pointer_expression "*(byte *)ppuVar14" (* "*") (cast_expression "(byte *)ppuVar14" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "ppuVar14"))) (== "==") (pointer_expression "*(byte *)ppuVar23" (* "*") (cast_expression "(byte *)ppuVar23" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "ppuVar23"))))) (; ";")) (expression_statement "ppuVar14 = (undefined **)((int)ppuVar14 + (uint)bVar27 * -2 + 1);" (assignment_expression "ppuVar14 = (undefined **)((int)ppuVar14 + (uint)bVar27 * -2 + 1)" (identifier "ppuVar14") (= "=") (cast_expression "(undefined **)((int)ppuVar14 + (uint)bVar27 * -2 + 1)" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)ppuVar14 + (uint)bVar27 * -2 + 1)" (( "(") (binary_expression "(int)ppuVar14 + (uint)bVar27 * -2 + 1" (binary_expression "(int)ppuVar14 + (uint)bVar27 * -2" (cast_expression "(int)ppuVar14" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppuVar14")) (+ "+") (binary_expression "(uint)bVar27 * -2" (cast_expression "(uint)bVar27" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar27")) (* "*") (number_literal "-2"))) (+ "+") (number_literal "1")) () ")")))) (; ";")) (expression_statement "ppuVar23 = (undefined **)((int)ppuVar23 + (uint)bVar27 * -2 + 1);" (assignment_expression "ppuVar23 = (undefined **)((int)ppuVar23 + (uint)bVar27 * -2 + 1)" (identifier "ppuVar23") (= "=") (cast_expression "(undefined **)((int)ppuVar23 + (uint)bVar27 * -2 + 1)" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)ppuVar23 + (uint)bVar27 * -2 + 1)" (( "(") (binary_expression "(int)ppuVar23 + (uint)bVar27 * -2 + 1" (binary_expression "(int)ppuVar23 + (uint)bVar27 * -2" (cast_expression "(int)ppuVar23" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppuVar23")) (+ "+") (binary_expression "(uint)bVar27 * -2" (cast_expression "(uint)bVar27" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar27")) (* "*") (number_literal "-2"))) (+ "+") (number_literal "1")) () ")")))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(bVar26)" (( "(") (identifier "bVar26") () ")")) (; ";")) (expression_statement "bVar25 = false;" (assignment_expression "bVar25 = false" (identifier "bVar25") (= "=") (false "false")) (; ";")) (expression_statement "bVar24 = (!bVar24 && !bVar26) == bVar24;" (assignment_expression "bVar24 = (!bVar24 && !bVar26) == bVar24" (identifier "bVar24") (= "=") (binary_expression "(!bVar24 && !bVar26) == bVar24" (parenthesized_expression "(!bVar24 && !bVar26)" (( "(") (binary_expression "!bVar24 && !bVar26" (unary_expression "!bVar24" (! "!") (identifier "bVar24")) (&& "&&") (unary_expression "!bVar26" (! "!") (identifier "bVar26"))) () ")")) (== "==") (identifier "bVar24"))) (; ";")) (if_statement "if (!bVar24) {\n      iVar19 = 0xf;\n      ppuVar14 = (undefined **)((int)local_b8 + -0x19ca46);\n      ppuVar23 = local_34;\n      do {\n        unaff_ESI = ppuVar14;\n        if (iVar19 == 0) break;\n        iVar19 = iVar19 + -1;\n        unaff_ESI = (undefined **)((int)ppuVar14 + (uint)bVar27 * -2 + 1);\n        bVar25 = *(byte *)ppuVar14 < *(byte *)ppuVar23;\n        bVar24 = *(byte *)ppuVar14 == *(byte *)ppuVar23;\n        ppuVar14 = unaff_ESI;\n        ppuVar23 = (undefined **)((int)ppuVar23 + (uint)bVar27 * -2 + 1);\n      } while (bVar24);\n      if ((!bVar25 && !bVar24) != bVar25) {\n        if (local_34 == local_b4) {\n          iVar19 = *local_dc;\n        }\n        else {\n          *(undefined ***)((int)piVar18 + -0x10) = local_34;\n          *(undefined4 *)((int)piVar18 + -0x14) = 0xd2ee3;\n          FUN_003ae080();\n          iVar19 = *local_dc;\n        }\n        goto LAB_000d22e5;\n      }\n    }" (if "if") (parenthesized_expression "(!bVar24)" (( "(") (unary_expression "!bVar24" (! "!") (identifier "bVar24")) () ")")) (compound_statement "{\n      iVar19 = 0xf;\n      ppuVar14 = (undefined **)((int)local_b8 + -0x19ca46);\n      ppuVar23 = local_34;\n      do {\n        unaff_ESI = ppuVar14;\n        if (iVar19 == 0) break;\n        iVar19 = iVar19 + -1;\n        unaff_ESI = (undefined **)((int)ppuVar14 + (uint)bVar27 * -2 + 1);\n        bVar25 = *(byte *)ppuVar14 < *(byte *)ppuVar23;\n        bVar24 = *(byte *)ppuVar14 == *(byte *)ppuVar23;\n        ppuVar14 = unaff_ESI;\n        ppuVar23 = (undefined **)((int)ppuVar23 + (uint)bVar27 * -2 + 1);\n      } while (bVar24);\n      if ((!bVar25 && !bVar24) != bVar25) {\n        if (local_34 == local_b4) {\n          iVar19 = *local_dc;\n        }\n        else {\n          *(undefined ***)((int)piVar18 + -0x10) = local_34;\n          *(undefined4 *)((int)piVar18 + -0x14) = 0xd2ee3;\n          FUN_003ae080();\n          iVar19 = *local_dc;\n        }\n        goto LAB_000d22e5;\n      }\n    }" ({ "{") (expression_statement "iVar19 = 0xf;" (assignment_expression "iVar19 = 0xf" (identifier "iVar19") (= "=") (number_literal "0xf")) (; ";")) (expression_statement "ppuVar14 = (undefined **)((int)local_b8 + -0x19ca46);" (assignment_expression "ppuVar14 = (undefined **)((int)local_b8 + -0x19ca46)" (identifier "ppuVar14") (= "=") (cast_expression "(undefined **)((int)local_b8 + -0x19ca46)" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)local_b8 + -0x19ca46)" (( "(") (binary_expression "(int)local_b8 + -0x19ca46" (cast_expression "(int)local_b8" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_b8")) (+ "+") (number_literal "-0x19ca46")) () ")")))) (; ";")) (expression_statement "ppuVar23 = local_34;" (assignment_expression "ppuVar23 = local_34" (identifier "ppuVar23") (= "=") (identifier "local_34")) (; ";")) (do_statement "do {\n        unaff_ESI = ppuVar14;\n        if (iVar19 == 0) break;\n        iVar19 = iVar19 + -1;\n        unaff_ESI = (undefined **)((int)ppuVar14 + (uint)bVar27 * -2 + 1);\n        bVar25 = *(byte *)ppuVar14 < *(byte *)ppuVar23;\n        bVar24 = *(byte *)ppuVar14 == *(byte *)ppuVar23;\n        ppuVar14 = unaff_ESI;\n        ppuVar23 = (undefined **)((int)ppuVar23 + (uint)bVar27 * -2 + 1);\n      } while (bVar24);" (do "do") (compound_statement "{\n        unaff_ESI = ppuVar14;\n        if (iVar19 == 0) break;\n        iVar19 = iVar19 + -1;\n        unaff_ESI = (undefined **)((int)ppuVar14 + (uint)bVar27 * -2 + 1);\n        bVar25 = *(byte *)ppuVar14 < *(byte *)ppuVar23;\n        bVar24 = *(byte *)ppuVar14 == *(byte *)ppuVar23;\n        ppuVar14 = unaff_ESI;\n        ppuVar23 = (undefined **)((int)ppuVar23 + (uint)bVar27 * -2 + 1);\n      }" ({ "{") (expression_statement "unaff_ESI = ppuVar14;" (assignment_expression "unaff_ESI = ppuVar14" (identifier "unaff_ESI") (= "=") (identifier "ppuVar14")) (; ";")) (if_statement "if (iVar19 == 0) break;" (if "if") (parenthesized_expression "(iVar19 == 0)" (( "(") (binary_expression "iVar19 == 0" (identifier "iVar19") (== "==") (number_literal "0")) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "iVar19 = iVar19 + -1;" (assignment_expression "iVar19 = iVar19 + -1" (identifier "iVar19") (= "=") (binary_expression "iVar19 + -1" (identifier "iVar19") (+ "+") (number_literal "-1"))) (; ";")) (expression_statement "unaff_ESI = (undefined **)((int)ppuVar14 + (uint)bVar27 * -2 + 1);" (assignment_expression "unaff_ESI = (undefined **)((int)ppuVar14 + (uint)bVar27 * -2 + 1)" (identifier "unaff_ESI") (= "=") (cast_expression "(undefined **)((int)ppuVar14 + (uint)bVar27 * -2 + 1)" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)ppuVar14 + (uint)bVar27 * -2 + 1)" (( "(") (binary_expression "(int)ppuVar14 + (uint)bVar27 * -2 + 1" (binary_expression "(int)ppuVar14 + (uint)bVar27 * -2" (cast_expression "(int)ppuVar14" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppuVar14")) (+ "+") (binary_expression "(uint)bVar27 * -2" (cast_expression "(uint)bVar27" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar27")) (* "*") (number_literal "-2"))) (+ "+") (number_literal "1")) () ")")))) (; ";")) (expression_statement "bVar25 = *(byte *)ppuVar14 < *(byte *)ppuVar23;" (assignment_expression "bVar25 = *(byte *)ppuVar14 < *(byte *)ppuVar23" (identifier "bVar25") (= "=") (binary_expression "*(byte *)ppuVar14 < *(byte *)ppuVar23" (pointer_expression "*(byte *)ppuVar14" (* "*") (cast_expression "(byte *)ppuVar14" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "ppuVar14"))) (< "<") (pointer_expression "*(byte *)ppuVar23" (* "*") (cast_expression "(byte *)ppuVar23" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "ppuVar23"))))) (; ";")) (expression_statement "bVar24 = *(byte *)ppuVar14 == *(byte *)ppuVar23;" (assignment_expression "bVar24 = *(byte *)ppuVar14 == *(byte *)ppuVar23" (identifier "bVar24") (= "=") (binary_expression "*(byte *)ppuVar14 == *(byte *)ppuVar23" (pointer_expression "*(byte *)ppuVar14" (* "*") (cast_expression "(byte *)ppuVar14" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "ppuVar14"))) (== "==") (pointer_expression "*(byte *)ppuVar23" (* "*") (cast_expression "(byte *)ppuVar23" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "ppuVar23"))))) (; ";")) (expression_statement "ppuVar14 = unaff_ESI;" (assignment_expression "ppuVar14 = unaff_ESI" (identifier "ppuVar14") (= "=") (identifier "unaff_ESI")) (; ";")) (expression_statement "ppuVar23 = (undefined **)((int)ppuVar23 + (uint)bVar27 * -2 + 1);" (assignment_expression "ppuVar23 = (undefined **)((int)ppuVar23 + (uint)bVar27 * -2 + 1)" (identifier "ppuVar23") (= "=") (cast_expression "(undefined **)((int)ppuVar23 + (uint)bVar27 * -2 + 1)" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)ppuVar23 + (uint)bVar27 * -2 + 1)" (( "(") (binary_expression "(int)ppuVar23 + (uint)bVar27 * -2 + 1" (binary_expression "(int)ppuVar23 + (uint)bVar27 * -2" (cast_expression "(int)ppuVar23" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppuVar23")) (+ "+") (binary_expression "(uint)bVar27 * -2" (cast_expression "(uint)bVar27" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar27")) (* "*") (number_literal "-2"))) (+ "+") (number_literal "1")) () ")")))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(bVar24)" (( "(") (identifier "bVar24") () ")")) (; ";")) (if_statement "if ((!bVar25 && !bVar24) != bVar25) {\n        if (local_34 == local_b4) {\n          iVar19 = *local_dc;\n        }\n        else {\n          *(undefined ***)((int)piVar18 + -0x10) = local_34;\n          *(undefined4 *)((int)piVar18 + -0x14) = 0xd2ee3;\n          FUN_003ae080();\n          iVar19 = *local_dc;\n        }\n        goto LAB_000d22e5;\n      }" (if "if") (parenthesized_expression "((!bVar25 && !bVar24) != bVar25)" (( "(") (binary_expression "(!bVar25 && !bVar24) != bVar25" (parenthesized_expression "(!bVar25 && !bVar24)" (( "(") (binary_expression "!bVar25 && !bVar24" (unary_expression "!bVar25" (! "!") (identifier "bVar25")) (&& "&&") (unary_expression "!bVar24" (! "!") (identifier "bVar24"))) () ")")) (!= "!=") (identifier "bVar25")) () ")")) (compound_statement "{\n        if (local_34 == local_b4) {\n          iVar19 = *local_dc;\n        }\n        else {\n          *(undefined ***)((int)piVar18 + -0x10) = local_34;\n          *(undefined4 *)((int)piVar18 + -0x14) = 0xd2ee3;\n          FUN_003ae080();\n          iVar19 = *local_dc;\n        }\n        goto LAB_000d22e5;\n      }" ({ "{") (if_statement "if (local_34 == local_b4) {\n          iVar19 = *local_dc;\n        }\n        else {\n          *(undefined ***)((int)piVar18 + -0x10) = local_34;\n          *(undefined4 *)((int)piVar18 + -0x14) = 0xd2ee3;\n          FUN_003ae080();\n          iVar19 = *local_dc;\n        }" (if "if") (parenthesized_expression "(local_34 == local_b4)" (( "(") (binary_expression "local_34 == local_b4" (identifier "local_34") (== "==") (identifier "local_b4")) () ")")) (compound_statement "{\n          iVar19 = *local_dc;\n        }" ({ "{") (expression_statement "iVar19 = *local_dc;" (assignment_expression "iVar19 = *local_dc" (identifier "iVar19") (= "=") (pointer_expression "*local_dc" (* "*") (identifier "local_dc"))) (; ";")) (} "}")) (else_clause "else {\n          *(undefined ***)((int)piVar18 + -0x10) = local_34;\n          *(undefined4 *)((int)piVar18 + -0x14) = 0xd2ee3;\n          FUN_003ae080();\n          iVar19 = *local_dc;\n        }" (else "else") (compound_statement "{\n          *(undefined ***)((int)piVar18 + -0x10) = local_34;\n          *(undefined4 *)((int)piVar18 + -0x14) = 0xd2ee3;\n          FUN_003ae080();\n          iVar19 = *local_dc;\n        }" ({ "{") (expression_statement "*(undefined ***)((int)piVar18 + -0x10) = local_34;" (assignment_expression "*(undefined ***)((int)piVar18 + -0x10) = local_34" (pointer_expression "*(undefined ***)((int)piVar18 + -0x10)" (* "*") (cast_expression "(undefined ***)((int)piVar18 + -0x10)" (( "(") (type_descriptor "undefined ***" (type_identifier "undefined") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "((int)piVar18 + -0x10)" (( "(") (binary_expression "(int)piVar18 + -0x10" (cast_expression "(int)piVar18" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar18")) (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "local_34")) (; ";")) (expression_statement "*(undefined4 *)((int)piVar18 + -0x14) = 0xd2ee3;" (assignment_expression "*(undefined4 *)((int)piVar18 + -0x14) = 0xd2ee3" (pointer_expression "*(undefined4 *)((int)piVar18 + -0x14)" (* "*") (cast_expression "(undefined4 *)((int)piVar18 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar18 + -0x14)" (( "(") (binary_expression "(int)piVar18 + -0x14" (cast_expression "(int)piVar18" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar18")) (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0xd2ee3")) (; ";")) (expression_statement "FUN_003ae080();" (call_expression "FUN_003ae080()" (identifier "FUN_003ae080") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "iVar19 = *local_dc;" (assignment_expression "iVar19 = *local_dc" (identifier "iVar19") (= "=") (pointer_expression "*local_dc" (* "*") (identifier "local_dc"))) (; ";")) (} "}")))) (goto_statement "goto LAB_000d22e5;" (goto "goto") (statement_identifier "LAB_000d22e5") (; ";")) (} "}"))) (} "}"))) (if_statement "if (local_34 != local_b4) {\n      *(undefined ***)((int)piVar18 + -0x10) = local_34;\n      *(undefined4 *)((int)piVar18 + -0x14) = 0xd3010;\n      FUN_003ae080();\n    }" (if "if") (parenthesized_expression "(local_34 != local_b4)" (( "(") (binary_expression "local_34 != local_b4" (identifier "local_34") (!= "!=") (identifier "local_b4")) () ")")) (compound_statement "{\n      *(undefined ***)((int)piVar18 + -0x10) = local_34;\n      *(undefined4 *)((int)piVar18 + -0x14) = 0xd3010;\n      FUN_003ae080();\n    }" ({ "{") (expression_statement "*(undefined ***)((int)piVar18 + -0x10) = local_34;" (assignment_expression "*(undefined ***)((int)piVar18 + -0x10) = local_34" (pointer_expression "*(undefined ***)((int)piVar18 + -0x10)" (* "*") (cast_expression "(undefined ***)((int)piVar18 + -0x10)" (( "(") (type_descriptor "undefined ***" (type_identifier "undefined") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "((int)piVar18 + -0x10)" (( "(") (binary_expression "(int)piVar18 + -0x10" (cast_expression "(int)piVar18" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar18")) (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "local_34")) (; ";")) (expression_statement "*(undefined4 *)((int)piVar18 + -0x14) = 0xd3010;" (assignment_expression "*(undefined4 *)((int)piVar18 + -0x14) = 0xd3010" (pointer_expression "*(undefined4 *)((int)piVar18 + -0x14)" (* "*") (cast_expression "(undefined4 *)((int)piVar18 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar18 + -0x14)" (( "(") (binary_expression "(int)piVar18 + -0x14" (cast_expression "(int)piVar18" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar18")) (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0xd3010")) (; ";")) (expression_statement "FUN_003ae080();" (call_expression "FUN_003ae080()" (identifier "FUN_003ae080") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (expression_statement "*(undefined ****)((int)piVar18 + -0xc) = local_b0;" (assignment_expression "*(undefined ****)((int)piVar18 + -0xc) = local_b0" (pointer_expression "*(undefined ****)((int)piVar18 + -0xc)" (* "*") (cast_expression "(undefined ****)((int)piVar18 + -0xc)" (( "(") (type_descriptor "undefined ****" (type_identifier "undefined") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))) () ")") (parenthesized_expression "((int)piVar18 + -0xc)" (( "(") (binary_expression "(int)piVar18 + -0xc" (cast_expression "(int)piVar18" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar18")) (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (identifier "local_b0")) (; ";")) (expression_statement "local_34 = param_4;" (assignment_expression "local_34 = param_4" (identifier "local_34") (= "=") (identifier "param_4")) (; ";")) (expression_statement "local_30 = param_5;" (assignment_expression "local_30 = param_5" (identifier "local_30") (= "=") (identifier "param_5")) (; ";")) (expression_statement "local_b0 = *(undefined ****)(param_2 + 0x15c);" (assignment_expression "local_b0 = *(undefined ****)(param_2 + 0x15c)" (identifier "local_b0") (= "=") (pointer_expression "*(undefined ****)(param_2 + 0x15c)" (* "*") (cast_expression "(undefined ****)(param_2 + 0x15c)" (( "(") (type_descriptor "undefined ****" (type_identifier "undefined") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))) () ")") (parenthesized_expression "(param_2 + 0x15c)" (( "(") (binary_expression "param_2 + 0x15c" (identifier "param_2") (+ "+") (number_literal "0x15c")) () ")"))))) (; ";")) (expression_statement "*(undefined ****)((int)piVar18 + -0x10) = local_b0 + 0x15;" (assignment_expression "*(undefined ****)((int)piVar18 + -0x10) = local_b0 + 0x15" (pointer_expression "*(undefined ****)((int)piVar18 + -0x10)" (* "*") (cast_expression "(undefined ****)((int)piVar18 + -0x10)" (( "(") (type_descriptor "undefined ****" (type_identifier "undefined") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))) () ")") (parenthesized_expression "((int)piVar18 + -0x10)" (( "(") (binary_expression "(int)piVar18 + -0x10" (cast_expression "(int)piVar18" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar18")) (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (binary_expression "local_b0 + 0x15" (identifier "local_b0") (+ "+") (number_literal "0x15"))) (; ";")) (expression_statement "*(undefined4 *)((int)piVar18 + -0x14) = 0xd2e84;" (assignment_expression "*(undefined4 *)((int)piVar18 + -0x14) = 0xd2e84" (pointer_expression "*(undefined4 *)((int)piVar18 + -0x14)" (* "*") (cast_expression "(undefined4 *)((int)piVar18 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar18 + -0x14)" (( "(") (binary_expression "(int)piVar18 + -0x14" (cast_expression "(int)piVar18" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar18")) (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0xd2e84")) (; ";")) (expression_statement "local_c8 = FUN_00074520();" (assignment_expression "local_c8 = FUN_00074520()" (identifier "local_c8") (= "=") (call_expression "FUN_00074520()" (identifier "FUN_00074520") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "local_cc = local_c8 + 0xc;" (assignment_expression "local_cc = local_c8 + 0xc" (identifier "local_cc") (= "=") (binary_expression "local_c8 + 0xc" (identifier "local_c8") (+ "+") (number_literal "0xc"))) (; ";")) (expression_statement "unaff_ESI = (undefined **)(local_c8 + 0x18);" (assignment_expression "unaff_ESI = (undefined **)(local_c8 + 0x18)" (identifier "unaff_ESI") (= "=") (cast_expression "(undefined **)(local_c8 + 0x18)" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(local_c8 + 0x18)" (( "(") (binary_expression "local_c8 + 0x18" (identifier "local_c8") (+ "+") (number_literal "0x18")) () ")")))) (; ";")) (expression_statement "local_d0 = local_c8 + 0x24;" (assignment_expression "local_d0 = local_c8 + 0x24" (identifier "local_d0") (= "=") (binary_expression "local_c8 + 0x24" (identifier "local_c8") (+ "+") (number_literal "0x24"))) (; ";")) (expression_statement "local_ec = local_c8 + 0x30;" (assignment_expression "local_ec = local_c8 + 0x30" (identifier "local_ec") (= "=") (binary_expression "local_c8 + 0x30" (identifier "local_c8") (+ "+") (number_literal "0x30"))) (; ";")) (expression_statement "iVar19 = *local_dc;" (assignment_expression "iVar19 = *local_dc" (identifier "iVar19") (= "=") (pointer_expression "*local_dc" (* "*") (identifier "local_dc"))) (; ";")) (expression_statement "local_d1 = '\x01';" (assignment_expression "local_d1 = '\x01'" (identifier "local_d1") (= "=") (char_literal "'\x01'" (' "'") (escape_sequence "\x01") (' "'"))) (; ";")) (expression_statement "local_e8 = unaff_ESI;" (assignment_expression "local_e8 = unaff_ESI" (identifier "local_e8") (= "=") (identifier "unaff_ESI")) (; ";")) (} "}")))) (if_statement "if (*(int *)(iVar19 + 8) == 0) {\n    *(undefined ***)((int)piVar18 + -4) = unaff_ESI;\n    *(undefined ***)((int)piVar18 + -8) = local_b8 + -0x61176;\n    *(undefined4 *)((int)piVar18 + -0xc) = 0x5c;\n    *(int *)((int)piVar18 + -0x10) = (int)local_b8 + -0x1a1d93;\n                    \n                    \n    *(undefined4 *)((int)piVar18 + -0x14) = 0xd2fe5;\n    FUN_002446e0();\n  }" (if "if") (parenthesized_expression "(*(int *)(iVar19 + 8) == 0)" (( "(") (binary_expression "*(int *)(iVar19 + 8) == 0" (pointer_expression "*(int *)(iVar19 + 8)" (* "*") (cast_expression "(int *)(iVar19 + 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar19 + 8)" (( "(") (binary_expression "iVar19 + 8" (identifier "iVar19") (+ "+") (number_literal "8")) () ")")))) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n    *(undefined ***)((int)piVar18 + -4) = unaff_ESI;\n    *(undefined ***)((int)piVar18 + -8) = local_b8 + -0x61176;\n    *(undefined4 *)((int)piVar18 + -0xc) = 0x5c;\n    *(int *)((int)piVar18 + -0x10) = (int)local_b8 + -0x1a1d93;\n                    \n                    \n    *(undefined4 *)((int)piVar18 + -0x14) = 0xd2fe5;\n    FUN_002446e0();\n  }" ({ "{") (expression_statement "*(undefined ***)((int)piVar18 + -4) = unaff_ESI;" (assignment_expression "*(undefined ***)((int)piVar18 + -4) = unaff_ESI" (pointer_expression "*(undefined ***)((int)piVar18 + -4)" (* "*") (cast_expression "(undefined ***)((int)piVar18 + -4)" (( "(") (type_descriptor "undefined ***" (type_identifier "undefined") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "((int)piVar18 + -4)" (( "(") (binary_expression "(int)piVar18 + -4" (cast_expression "(int)piVar18" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar18")) (+ "+") (number_literal "-4")) () ")")))) (= "=") (identifier "unaff_ESI")) (; ";")) (expression_statement "*(undefined ***)((int)piVar18 + -8) = local_b8 + -0x61176;" (assignment_expression "*(undefined ***)((int)piVar18 + -8) = local_b8 + -0x61176" (pointer_expression "*(undefined ***)((int)piVar18 + -8)" (* "*") (cast_expression "(undefined ***)((int)piVar18 + -8)" (( "(") (type_descriptor "undefined ***" (type_identifier "undefined") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "((int)piVar18 + -8)" (( "(") (binary_expression "(int)piVar18 + -8" (cast_expression "(int)piVar18" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar18")) (+ "+") (number_literal "-8")) () ")")))) (= "=") (binary_expression "local_b8 + -0x61176" (identifier "local_b8") (+ "+") (number_literal "-0x61176"))) (; ";")) (expression_statement "*(undefined4 *)((int)piVar18 + -0xc) = 0x5c;" (assignment_expression "*(undefined4 *)((int)piVar18 + -0xc) = 0x5c" (pointer_expression "*(undefined4 *)((int)piVar18 + -0xc)" (* "*") (cast_expression "(undefined4 *)((int)piVar18 + -0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar18 + -0xc)" (( "(") (binary_expression "(int)piVar18 + -0xc" (cast_expression "(int)piVar18" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar18")) (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (number_literal "0x5c")) (; ";")) (expression_statement "*(int *)((int)piVar18 + -0x10) = (int)local_b8 + -0x1a1d93;" (assignment_expression "*(int *)((int)piVar18 + -0x10) = (int)local_b8 + -0x1a1d93" (pointer_expression "*(int *)((int)piVar18 + -0x10)" (* "*") (cast_expression "(int *)((int)piVar18 + -0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar18 + -0x10)" (( "(") (binary_expression "(int)piVar18 + -0x10" (cast_expression "(int)piVar18" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar18")) (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (binary_expression "(int)local_b8 + -0x1a1d93" (cast_expression "(int)local_b8" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_b8")) (+ "+") (number_literal "-0x1a1d93"))) (; ";")) (expression_statement "*(undefined4 *)((int)piVar18 + -0x14) = 0xd2fe5;" (assignment_expression "*(undefined4 *)((int)piVar18 + -0x14) = 0xd2fe5" (pointer_expression "*(undefined4 *)((int)piVar18 + -0x14)" (* "*") (cast_expression "(undefined4 *)((int)piVar18 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar18 + -0x14)" (( "(") (binary_expression "(int)piVar18 + -0x14" (cast_expression "(int)piVar18" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar18")) (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0xd2fe5")) (; ";")) (expression_statement "FUN_002446e0();" (call_expression "FUN_002446e0()" (identifier "FUN_002446e0") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (expression_statement "local_d2 = '\0';" (assignment_expression "local_d2 = '\0'" (identifier "local_d2") (= "=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) (; ";")) (if_statement "if (*(int *)(*(int *)(iVar19 + 8) + 0x5934) == 2) {\n    *(undefined4 *)((int)piVar18 + -0x10) = param_1;\n    *(undefined4 *)((int)piVar18 + -0x14) = 0xd2ceb;\n    local_d2 = FUN_000aaa70();\n    bVar24 = false;\n    bVar26 = local_d2 == '\0';\n    if (!bVar26) {\n      iVar19 = 0xc;\n      local_d2 = '\0';\n      ppuVar14 = local_b8 + -0x66894;\n      pbVar20 = local_4c[0];\n      do {\n        if (iVar19 == 0) break;\n        iVar19 = iVar19 + -1;\n        bVar24 = *(byte *)ppuVar14 < *pbVar20;\n        bVar26 = *(byte *)ppuVar14 == *pbVar20;\n        ppuVar14 = (undefined **)((int)ppuVar14 + (uint)bVar27 * -2 + 1);\n        pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n      } while (bVar26);\n      bVar25 = false;\n      bVar24 = (!bVar24 && !bVar26) == bVar24;\n      if (!bVar24) {\n        iVar19 = 0x11;\n        pbVar20 = (byte *)((int)local_b8 + -0x19a243);\n        pbVar9 = local_4c[0];\n        do {\n          if (iVar19 == 0) break;\n          iVar19 = iVar19 + -1;\n          bVar25 = *pbVar20 < *pbVar9;\n          bVar24 = *pbVar20 == *pbVar9;\n          pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n          pbVar9 = pbVar9 + (uint)bVar27 * -2 + 1;\n        } while (bVar24);\n        bVar26 = false;\n        bVar24 = (!bVar25 && !bVar24) == bVar25;\n        if (!bVar24) {\n          iVar19 = 0xc;\n          pbVar20 = (byte *)((int)local_b8 + -0x19a231);\n          pbVar9 = local_4c[0];\n          do {\n            if (iVar19 == 0) break;\n            iVar19 = iVar19 + -1;\n            bVar26 = *pbVar20 < *pbVar9;\n            bVar24 = *pbVar20 == *pbVar9;\n            pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n            pbVar9 = pbVar9 + (uint)bVar27 * -2 + 1;\n          } while (bVar24);\n          bVar25 = false;\n          bVar24 = (!bVar26 && !bVar24) == bVar26;\n          if (!bVar24) {\n            iVar19 = 0x11;\n            ppuVar14 = local_b8 + -0x66889;\n            pbVar20 = local_4c[0];\n            do {\n              if (iVar19 == 0) break;\n              iVar19 = iVar19 + -1;\n              bVar25 = *(byte *)ppuVar14 < *pbVar20;\n              bVar24 = *(byte *)ppuVar14 == *pbVar20;\n              ppuVar14 = (undefined **)((int)ppuVar14 + (uint)bVar27 * -2 + 1);\n              pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n            } while (bVar24);\n            bVar26 = false;\n            bVar24 = (!bVar25 && !bVar24) == bVar25;\n            if (!bVar24) {\n              iVar19 = 9;\n              pbVar20 = (byte *)((int)local_b8 + -0x19a212);\n              pbVar9 = local_4c[0];\n              do {\n                if (iVar19 == 0) break;\n                iVar19 = iVar19 + -1;\n                bVar26 = *pbVar20 < *pbVar9;\n                bVar24 = *pbVar20 == *pbVar9;\n                pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n                pbVar9 = pbVar9 + (uint)bVar27 * -2 + 1;\n              } while (bVar24);\n              local_d2 = (!bVar26 && !bVar24) != bVar26;\n            }\n          }\n        }\n      }\n    }\n  }" (if "if") (parenthesized_expression "(*(int *)(*(int *)(iVar19 + 8) + 0x5934) == 2)" (( "(") (binary_expression "*(int *)(*(int *)(iVar19 + 8) + 0x5934) == 2" (pointer_expression "*(int *)(*(int *)(iVar19 + 8) + 0x5934)" (* "*") (cast_expression "(int *)(*(int *)(iVar19 + 8) + 0x5934)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(iVar19 + 8) + 0x5934)" (( "(") (binary_expression "*(int *)(iVar19 + 8) + 0x5934" (pointer_expression "*(int *)(iVar19 + 8)" (* "*") (cast_expression "(int *)(iVar19 + 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar19 + 8)" (( "(") (binary_expression "iVar19 + 8" (identifier "iVar19") (+ "+") (number_literal "8")) () ")")))) (+ "+") (number_literal "0x5934")) () ")")))) (== "==") (number_literal "2")) () ")")) (compound_statement "{\n    *(undefined4 *)((int)piVar18 + -0x10) = param_1;\n    *(undefined4 *)((int)piVar18 + -0x14) = 0xd2ceb;\n    local_d2 = FUN_000aaa70();\n    bVar24 = false;\n    bVar26 = local_d2 == '\0';\n    if (!bVar26) {\n      iVar19 = 0xc;\n      local_d2 = '\0';\n      ppuVar14 = local_b8 + -0x66894;\n      pbVar20 = local_4c[0];\n      do {\n        if (iVar19 == 0) break;\n        iVar19 = iVar19 + -1;\n        bVar24 = *(byte *)ppuVar14 < *pbVar20;\n        bVar26 = *(byte *)ppuVar14 == *pbVar20;\n        ppuVar14 = (undefined **)((int)ppuVar14 + (uint)bVar27 * -2 + 1);\n        pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n      } while (bVar26);\n      bVar25 = false;\n      bVar24 = (!bVar24 && !bVar26) == bVar24;\n      if (!bVar24) {\n        iVar19 = 0x11;\n        pbVar20 = (byte *)((int)local_b8 + -0x19a243);\n        pbVar9 = local_4c[0];\n        do {\n          if (iVar19 == 0) break;\n          iVar19 = iVar19 + -1;\n          bVar25 = *pbVar20 < *pbVar9;\n          bVar24 = *pbVar20 == *pbVar9;\n          pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n          pbVar9 = pbVar9 + (uint)bVar27 * -2 + 1;\n        } while (bVar24);\n        bVar26 = false;\n        bVar24 = (!bVar25 && !bVar24) == bVar25;\n        if (!bVar24) {\n          iVar19 = 0xc;\n          pbVar20 = (byte *)((int)local_b8 + -0x19a231);\n          pbVar9 = local_4c[0];\n          do {\n            if (iVar19 == 0) break;\n            iVar19 = iVar19 + -1;\n            bVar26 = *pbVar20 < *pbVar9;\n            bVar24 = *pbVar20 == *pbVar9;\n            pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n            pbVar9 = pbVar9 + (uint)bVar27 * -2 + 1;\n          } while (bVar24);\n          bVar25 = false;\n          bVar24 = (!bVar26 && !bVar24) == bVar26;\n          if (!bVar24) {\n            iVar19 = 0x11;\n            ppuVar14 = local_b8 + -0x66889;\n            pbVar20 = local_4c[0];\n            do {\n              if (iVar19 == 0) break;\n              iVar19 = iVar19 + -1;\n              bVar25 = *(byte *)ppuVar14 < *pbVar20;\n              bVar24 = *(byte *)ppuVar14 == *pbVar20;\n              ppuVar14 = (undefined **)((int)ppuVar14 + (uint)bVar27 * -2 + 1);\n              pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n            } while (bVar24);\n            bVar26 = false;\n            bVar24 = (!bVar25 && !bVar24) == bVar25;\n            if (!bVar24) {\n              iVar19 = 9;\n              pbVar20 = (byte *)((int)local_b8 + -0x19a212);\n              pbVar9 = local_4c[0];\n              do {\n                if (iVar19 == 0) break;\n                iVar19 = iVar19 + -1;\n                bVar26 = *pbVar20 < *pbVar9;\n                bVar24 = *pbVar20 == *pbVar9;\n                pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n                pbVar9 = pbVar9 + (uint)bVar27 * -2 + 1;\n              } while (bVar24);\n              local_d2 = (!bVar26 && !bVar24) != bVar26;\n            }\n          }\n        }\n      }\n    }\n  }" ({ "{") (expression_statement "*(undefined4 *)((int)piVar18 + -0x10) = param_1;" (assignment_expression "*(undefined4 *)((int)piVar18 + -0x10) = param_1" (pointer_expression "*(undefined4 *)((int)piVar18 + -0x10)" (* "*") (cast_expression "(undefined4 *)((int)piVar18 + -0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar18 + -0x10)" (( "(") (binary_expression "(int)piVar18 + -0x10" (cast_expression "(int)piVar18" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar18")) (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "param_1")) (; ";")) (expression_statement "*(undefined4 *)((int)piVar18 + -0x14) = 0xd2ceb;" (assignment_expression "*(undefined4 *)((int)piVar18 + -0x14) = 0xd2ceb" (pointer_expression "*(undefined4 *)((int)piVar18 + -0x14)" (* "*") (cast_expression "(undefined4 *)((int)piVar18 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar18 + -0x14)" (( "(") (binary_expression "(int)piVar18 + -0x14" (cast_expression "(int)piVar18" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar18")) (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0xd2ceb")) (; ";")) (expression_statement "local_d2 = FUN_000aaa70();" (assignment_expression "local_d2 = FUN_000aaa70()" (identifier "local_d2") (= "=") (call_expression "FUN_000aaa70()" (identifier "FUN_000aaa70") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "bVar24 = false;" (assignment_expression "bVar24 = false" (identifier "bVar24") (= "=") (false "false")) (; ";")) (expression_statement "bVar26 = local_d2 == '\0';" (assignment_expression "bVar26 = local_d2 == '\0'" (identifier "bVar26") (= "=") (binary_expression "local_d2 == '\0'" (identifier "local_d2") (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'")))) (; ";")) (if_statement "if (!bVar26) {\n      iVar19 = 0xc;\n      local_d2 = '\0';\n      ppuVar14 = local_b8 + -0x66894;\n      pbVar20 = local_4c[0];\n      do {\n        if (iVar19 == 0) break;\n        iVar19 = iVar19 + -1;\n        bVar24 = *(byte *)ppuVar14 < *pbVar20;\n        bVar26 = *(byte *)ppuVar14 == *pbVar20;\n        ppuVar14 = (undefined **)((int)ppuVar14 + (uint)bVar27 * -2 + 1);\n        pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n      } while (bVar26);\n      bVar25 = false;\n      bVar24 = (!bVar24 && !bVar26) == bVar24;\n      if (!bVar24) {\n        iVar19 = 0x11;\n        pbVar20 = (byte *)((int)local_b8 + -0x19a243);\n        pbVar9 = local_4c[0];\n        do {\n          if (iVar19 == 0) break;\n          iVar19 = iVar19 + -1;\n          bVar25 = *pbVar20 < *pbVar9;\n          bVar24 = *pbVar20 == *pbVar9;\n          pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n          pbVar9 = pbVar9 + (uint)bVar27 * -2 + 1;\n        } while (bVar24);\n        bVar26 = false;\n        bVar24 = (!bVar25 && !bVar24) == bVar25;\n        if (!bVar24) {\n          iVar19 = 0xc;\n          pbVar20 = (byte *)((int)local_b8 + -0x19a231);\n          pbVar9 = local_4c[0];\n          do {\n            if (iVar19 == 0) break;\n            iVar19 = iVar19 + -1;\n            bVar26 = *pbVar20 < *pbVar9;\n            bVar24 = *pbVar20 == *pbVar9;\n            pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n            pbVar9 = pbVar9 + (uint)bVar27 * -2 + 1;\n          } while (bVar24);\n          bVar25 = false;\n          bVar24 = (!bVar26 && !bVar24) == bVar26;\n          if (!bVar24) {\n            iVar19 = 0x11;\n            ppuVar14 = local_b8 + -0x66889;\n            pbVar20 = local_4c[0];\n            do {\n              if (iVar19 == 0) break;\n              iVar19 = iVar19 + -1;\n              bVar25 = *(byte *)ppuVar14 < *pbVar20;\n              bVar24 = *(byte *)ppuVar14 == *pbVar20;\n              ppuVar14 = (undefined **)((int)ppuVar14 + (uint)bVar27 * -2 + 1);\n              pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n            } while (bVar24);\n            bVar26 = false;\n            bVar24 = (!bVar25 && !bVar24) == bVar25;\n            if (!bVar24) {\n              iVar19 = 9;\n              pbVar20 = (byte *)((int)local_b8 + -0x19a212);\n              pbVar9 = local_4c[0];\n              do {\n                if (iVar19 == 0) break;\n                iVar19 = iVar19 + -1;\n                bVar26 = *pbVar20 < *pbVar9;\n                bVar24 = *pbVar20 == *pbVar9;\n                pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n                pbVar9 = pbVar9 + (uint)bVar27 * -2 + 1;\n              } while (bVar24);\n              local_d2 = (!bVar26 && !bVar24) != bVar26;\n            }\n          }\n        }\n      }\n    }" (if "if") (parenthesized_expression "(!bVar26)" (( "(") (unary_expression "!bVar26" (! "!") (identifier "bVar26")) () ")")) (compound_statement "{\n      iVar19 = 0xc;\n      local_d2 = '\0';\n      ppuVar14 = local_b8 + -0x66894;\n      pbVar20 = local_4c[0];\n      do {\n        if (iVar19 == 0) break;\n        iVar19 = iVar19 + -1;\n        bVar24 = *(byte *)ppuVar14 < *pbVar20;\n        bVar26 = *(byte *)ppuVar14 == *pbVar20;\n        ppuVar14 = (undefined **)((int)ppuVar14 + (uint)bVar27 * -2 + 1);\n        pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n      } while (bVar26);\n      bVar25 = false;\n      bVar24 = (!bVar24 && !bVar26) == bVar24;\n      if (!bVar24) {\n        iVar19 = 0x11;\n        pbVar20 = (byte *)((int)local_b8 + -0x19a243);\n        pbVar9 = local_4c[0];\n        do {\n          if (iVar19 == 0) break;\n          iVar19 = iVar19 + -1;\n          bVar25 = *pbVar20 < *pbVar9;\n          bVar24 = *pbVar20 == *pbVar9;\n          pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n          pbVar9 = pbVar9 + (uint)bVar27 * -2 + 1;\n        } while (bVar24);\n        bVar26 = false;\n        bVar24 = (!bVar25 && !bVar24) == bVar25;\n        if (!bVar24) {\n          iVar19 = 0xc;\n          pbVar20 = (byte *)((int)local_b8 + -0x19a231);\n          pbVar9 = local_4c[0];\n          do {\n            if (iVar19 == 0) break;\n            iVar19 = iVar19 + -1;\n            bVar26 = *pbVar20 < *pbVar9;\n            bVar24 = *pbVar20 == *pbVar9;\n            pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n            pbVar9 = pbVar9 + (uint)bVar27 * -2 + 1;\n          } while (bVar24);\n          bVar25 = false;\n          bVar24 = (!bVar26 && !bVar24) == bVar26;\n          if (!bVar24) {\n            iVar19 = 0x11;\n            ppuVar14 = local_b8 + -0x66889;\n            pbVar20 = local_4c[0];\n            do {\n              if (iVar19 == 0) break;\n              iVar19 = iVar19 + -1;\n              bVar25 = *(byte *)ppuVar14 < *pbVar20;\n              bVar24 = *(byte *)ppuVar14 == *pbVar20;\n              ppuVar14 = (undefined **)((int)ppuVar14 + (uint)bVar27 * -2 + 1);\n              pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n            } while (bVar24);\n            bVar26 = false;\n            bVar24 = (!bVar25 && !bVar24) == bVar25;\n            if (!bVar24) {\n              iVar19 = 9;\n              pbVar20 = (byte *)((int)local_b8 + -0x19a212);\n              pbVar9 = local_4c[0];\n              do {\n                if (iVar19 == 0) break;\n                iVar19 = iVar19 + -1;\n                bVar26 = *pbVar20 < *pbVar9;\n                bVar24 = *pbVar20 == *pbVar9;\n                pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n                pbVar9 = pbVar9 + (uint)bVar27 * -2 + 1;\n              } while (bVar24);\n              local_d2 = (!bVar26 && !bVar24) != bVar26;\n            }\n          }\n        }\n      }\n    }" ({ "{") (expression_statement "iVar19 = 0xc;" (assignment_expression "iVar19 = 0xc" (identifier "iVar19") (= "=") (number_literal "0xc")) (; ";")) (expression_statement "local_d2 = '\0';" (assignment_expression "local_d2 = '\0'" (identifier "local_d2") (= "=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) (; ";")) (expression_statement "ppuVar14 = local_b8 + -0x66894;" (assignment_expression "ppuVar14 = local_b8 + -0x66894" (identifier "ppuVar14") (= "=") (binary_expression "local_b8 + -0x66894" (identifier "local_b8") (+ "+") (number_literal "-0x66894"))) (; ";")) (expression_statement "pbVar20 = local_4c[0];" (assignment_expression "pbVar20 = local_4c[0]" (identifier "pbVar20") (= "=") (subscript_expression "local_4c[0]" (identifier "local_4c") ([ "[") (number_literal "0") (] "]"))) (; ";")) (do_statement "do {\n        if (iVar19 == 0) break;\n        iVar19 = iVar19 + -1;\n        bVar24 = *(byte *)ppuVar14 < *pbVar20;\n        bVar26 = *(byte *)ppuVar14 == *pbVar20;\n        ppuVar14 = (undefined **)((int)ppuVar14 + (uint)bVar27 * -2 + 1);\n        pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n      } while (bVar26);" (do "do") (compound_statement "{\n        if (iVar19 == 0) break;\n        iVar19 = iVar19 + -1;\n        bVar24 = *(byte *)ppuVar14 < *pbVar20;\n        bVar26 = *(byte *)ppuVar14 == *pbVar20;\n        ppuVar14 = (undefined **)((int)ppuVar14 + (uint)bVar27 * -2 + 1);\n        pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n      }" ({ "{") (if_statement "if (iVar19 == 0) break;" (if "if") (parenthesized_expression "(iVar19 == 0)" (( "(") (binary_expression "iVar19 == 0" (identifier "iVar19") (== "==") (number_literal "0")) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "iVar19 = iVar19 + -1;" (assignment_expression "iVar19 = iVar19 + -1" (identifier "iVar19") (= "=") (binary_expression "iVar19 + -1" (identifier "iVar19") (+ "+") (number_literal "-1"))) (; ";")) (expression_statement "bVar24 = *(byte *)ppuVar14 < *pbVar20;" (assignment_expression "bVar24 = *(byte *)ppuVar14 < *pbVar20" (identifier "bVar24") (= "=") (binary_expression "*(byte *)ppuVar14 < *pbVar20" (pointer_expression "*(byte *)ppuVar14" (* "*") (cast_expression "(byte *)ppuVar14" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "ppuVar14"))) (< "<") (pointer_expression "*pbVar20" (* "*") (identifier "pbVar20")))) (; ";")) (expression_statement "bVar26 = *(byte *)ppuVar14 == *pbVar20;" (assignment_expression "bVar26 = *(byte *)ppuVar14 == *pbVar20" (identifier "bVar26") (= "=") (binary_expression "*(byte *)ppuVar14 == *pbVar20" (pointer_expression "*(byte *)ppuVar14" (* "*") (cast_expression "(byte *)ppuVar14" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "ppuVar14"))) (== "==") (pointer_expression "*pbVar20" (* "*") (identifier "pbVar20")))) (; ";")) (expression_statement "ppuVar14 = (undefined **)((int)ppuVar14 + (uint)bVar27 * -2 + 1);" (assignment_expression "ppuVar14 = (undefined **)((int)ppuVar14 + (uint)bVar27 * -2 + 1)" (identifier "ppuVar14") (= "=") (cast_expression "(undefined **)((int)ppuVar14 + (uint)bVar27 * -2 + 1)" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)ppuVar14 + (uint)bVar27 * -2 + 1)" (( "(") (binary_expression "(int)ppuVar14 + (uint)bVar27 * -2 + 1" (binary_expression "(int)ppuVar14 + (uint)bVar27 * -2" (cast_expression "(int)ppuVar14" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppuVar14")) (+ "+") (binary_expression "(uint)bVar27 * -2" (cast_expression "(uint)bVar27" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar27")) (* "*") (number_literal "-2"))) (+ "+") (number_literal "1")) () ")")))) (; ";")) (expression_statement "pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;" (assignment_expression "pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1" (identifier "pbVar20") (= "=") (binary_expression "pbVar20 + (uint)bVar27 * -2 + 1" (binary_expression "pbVar20 + (uint)bVar27 * -2" (identifier "pbVar20") (+ "+") (binary_expression "(uint)bVar27 * -2" (cast_expression "(uint)bVar27" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar27")) (* "*") (number_literal "-2"))) (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(bVar26)" (( "(") (identifier "bVar26") () ")")) (; ";")) (expression_statement "bVar25 = false;" (assignment_expression "bVar25 = false" (identifier "bVar25") (= "=") (false "false")) (; ";")) (expression_statement "bVar24 = (!bVar24 && !bVar26) == bVar24;" (assignment_expression "bVar24 = (!bVar24 && !bVar26) == bVar24" (identifier "bVar24") (= "=") (binary_expression "(!bVar24 && !bVar26) == bVar24" (parenthesized_expression "(!bVar24 && !bVar26)" (( "(") (binary_expression "!bVar24 && !bVar26" (unary_expression "!bVar24" (! "!") (identifier "bVar24")) (&& "&&") (unary_expression "!bVar26" (! "!") (identifier "bVar26"))) () ")")) (== "==") (identifier "bVar24"))) (; ";")) (if_statement "if (!bVar24) {\n        iVar19 = 0x11;\n        pbVar20 = (byte *)((int)local_b8 + -0x19a243);\n        pbVar9 = local_4c[0];\n        do {\n          if (iVar19 == 0) break;\n          iVar19 = iVar19 + -1;\n          bVar25 = *pbVar20 < *pbVar9;\n          bVar24 = *pbVar20 == *pbVar9;\n          pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n          pbVar9 = pbVar9 + (uint)bVar27 * -2 + 1;\n        } while (bVar24);\n        bVar26 = false;\n        bVar24 = (!bVar25 && !bVar24) == bVar25;\n        if (!bVar24) {\n          iVar19 = 0xc;\n          pbVar20 = (byte *)((int)local_b8 + -0x19a231);\n          pbVar9 = local_4c[0];\n          do {\n            if (iVar19 == 0) break;\n            iVar19 = iVar19 + -1;\n            bVar26 = *pbVar20 < *pbVar9;\n            bVar24 = *pbVar20 == *pbVar9;\n            pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n            pbVar9 = pbVar9 + (uint)bVar27 * -2 + 1;\n          } while (bVar24);\n          bVar25 = false;\n          bVar24 = (!bVar26 && !bVar24) == bVar26;\n          if (!bVar24) {\n            iVar19 = 0x11;\n            ppuVar14 = local_b8 + -0x66889;\n            pbVar20 = local_4c[0];\n            do {\n              if (iVar19 == 0) break;\n              iVar19 = iVar19 + -1;\n              bVar25 = *(byte *)ppuVar14 < *pbVar20;\n              bVar24 = *(byte *)ppuVar14 == *pbVar20;\n              ppuVar14 = (undefined **)((int)ppuVar14 + (uint)bVar27 * -2 + 1);\n              pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n            } while (bVar24);\n            bVar26 = false;\n            bVar24 = (!bVar25 && !bVar24) == bVar25;\n            if (!bVar24) {\n              iVar19 = 9;\n              pbVar20 = (byte *)((int)local_b8 + -0x19a212);\n              pbVar9 = local_4c[0];\n              do {\n                if (iVar19 == 0) break;\n                iVar19 = iVar19 + -1;\n                bVar26 = *pbVar20 < *pbVar9;\n                bVar24 = *pbVar20 == *pbVar9;\n                pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n                pbVar9 = pbVar9 + (uint)bVar27 * -2 + 1;\n              } while (bVar24);\n              local_d2 = (!bVar26 && !bVar24) != bVar26;\n            }\n          }\n        }\n      }" (if "if") (parenthesized_expression "(!bVar24)" (( "(") (unary_expression "!bVar24" (! "!") (identifier "bVar24")) () ")")) (compound_statement "{\n        iVar19 = 0x11;\n        pbVar20 = (byte *)((int)local_b8 + -0x19a243);\n        pbVar9 = local_4c[0];\n        do {\n          if (iVar19 == 0) break;\n          iVar19 = iVar19 + -1;\n          bVar25 = *pbVar20 < *pbVar9;\n          bVar24 = *pbVar20 == *pbVar9;\n          pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n          pbVar9 = pbVar9 + (uint)bVar27 * -2 + 1;\n        } while (bVar24);\n        bVar26 = false;\n        bVar24 = (!bVar25 && !bVar24) == bVar25;\n        if (!bVar24) {\n          iVar19 = 0xc;\n          pbVar20 = (byte *)((int)local_b8 + -0x19a231);\n          pbVar9 = local_4c[0];\n          do {\n            if (iVar19 == 0) break;\n            iVar19 = iVar19 + -1;\n            bVar26 = *pbVar20 < *pbVar9;\n            bVar24 = *pbVar20 == *pbVar9;\n            pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n            pbVar9 = pbVar9 + (uint)bVar27 * -2 + 1;\n          } while (bVar24);\n          bVar25 = false;\n          bVar24 = (!bVar26 && !bVar24) == bVar26;\n          if (!bVar24) {\n            iVar19 = 0x11;\n            ppuVar14 = local_b8 + -0x66889;\n            pbVar20 = local_4c[0];\n            do {\n              if (iVar19 == 0) break;\n              iVar19 = iVar19 + -1;\n              bVar25 = *(byte *)ppuVar14 < *pbVar20;\n              bVar24 = *(byte *)ppuVar14 == *pbVar20;\n              ppuVar14 = (undefined **)((int)ppuVar14 + (uint)bVar27 * -2 + 1);\n              pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n            } while (bVar24);\n            bVar26 = false;\n            bVar24 = (!bVar25 && !bVar24) == bVar25;\n            if (!bVar24) {\n              iVar19 = 9;\n              pbVar20 = (byte *)((int)local_b8 + -0x19a212);\n              pbVar9 = local_4c[0];\n              do {\n                if (iVar19 == 0) break;\n                iVar19 = iVar19 + -1;\n                bVar26 = *pbVar20 < *pbVar9;\n                bVar24 = *pbVar20 == *pbVar9;\n                pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n                pbVar9 = pbVar9 + (uint)bVar27 * -2 + 1;\n              } while (bVar24);\n              local_d2 = (!bVar26 && !bVar24) != bVar26;\n            }\n          }\n        }\n      }" ({ "{") (expression_statement "iVar19 = 0x11;" (assignment_expression "iVar19 = 0x11" (identifier "iVar19") (= "=") (number_literal "0x11")) (; ";")) (expression_statement "pbVar20 = (byte *)((int)local_b8 + -0x19a243);" (assignment_expression "pbVar20 = (byte *)((int)local_b8 + -0x19a243)" (identifier "pbVar20") (= "=") (cast_expression "(byte *)((int)local_b8 + -0x19a243)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)local_b8 + -0x19a243)" (( "(") (binary_expression "(int)local_b8 + -0x19a243" (cast_expression "(int)local_b8" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_b8")) (+ "+") (number_literal "-0x19a243")) () ")")))) (; ";")) (expression_statement "pbVar9 = local_4c[0];" (assignment_expression "pbVar9 = local_4c[0]" (identifier "pbVar9") (= "=") (subscript_expression "local_4c[0]" (identifier "local_4c") ([ "[") (number_literal "0") (] "]"))) (; ";")) (do_statement "do {\n          if (iVar19 == 0) break;\n          iVar19 = iVar19 + -1;\n          bVar25 = *pbVar20 < *pbVar9;\n          bVar24 = *pbVar20 == *pbVar9;\n          pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n          pbVar9 = pbVar9 + (uint)bVar27 * -2 + 1;\n        } while (bVar24);" (do "do") (compound_statement "{\n          if (iVar19 == 0) break;\n          iVar19 = iVar19 + -1;\n          bVar25 = *pbVar20 < *pbVar9;\n          bVar24 = *pbVar20 == *pbVar9;\n          pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n          pbVar9 = pbVar9 + (uint)bVar27 * -2 + 1;\n        }" ({ "{") (if_statement "if (iVar19 == 0) break;" (if "if") (parenthesized_expression "(iVar19 == 0)" (( "(") (binary_expression "iVar19 == 0" (identifier "iVar19") (== "==") (number_literal "0")) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "iVar19 = iVar19 + -1;" (assignment_expression "iVar19 = iVar19 + -1" (identifier "iVar19") (= "=") (binary_expression "iVar19 + -1" (identifier "iVar19") (+ "+") (number_literal "-1"))) (; ";")) (expression_statement "bVar25 = *pbVar20 < *pbVar9;" (assignment_expression "bVar25 = *pbVar20 < *pbVar9" (identifier "bVar25") (= "=") (binary_expression "*pbVar20 < *pbVar9" (pointer_expression "*pbVar20" (* "*") (identifier "pbVar20")) (< "<") (pointer_expression "*pbVar9" (* "*") (identifier "pbVar9")))) (; ";")) (expression_statement "bVar24 = *pbVar20 == *pbVar9;" (assignment_expression "bVar24 = *pbVar20 == *pbVar9" (identifier "bVar24") (= "=") (binary_expression "*pbVar20 == *pbVar9" (pointer_expression "*pbVar20" (* "*") (identifier "pbVar20")) (== "==") (pointer_expression "*pbVar9" (* "*") (identifier "pbVar9")))) (; ";")) (expression_statement "pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;" (assignment_expression "pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1" (identifier "pbVar20") (= "=") (binary_expression "pbVar20 + (uint)bVar27 * -2 + 1" (binary_expression "pbVar20 + (uint)bVar27 * -2" (identifier "pbVar20") (+ "+") (binary_expression "(uint)bVar27 * -2" (cast_expression "(uint)bVar27" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar27")) (* "*") (number_literal "-2"))) (+ "+") (number_literal "1"))) (; ";")) (expression_statement "pbVar9 = pbVar9 + (uint)bVar27 * -2 + 1;" (assignment_expression "pbVar9 = pbVar9 + (uint)bVar27 * -2 + 1" (identifier "pbVar9") (= "=") (binary_expression "pbVar9 + (uint)bVar27 * -2 + 1" (binary_expression "pbVar9 + (uint)bVar27 * -2" (identifier "pbVar9") (+ "+") (binary_expression "(uint)bVar27 * -2" (cast_expression "(uint)bVar27" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar27")) (* "*") (number_literal "-2"))) (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(bVar24)" (( "(") (identifier "bVar24") () ")")) (; ";")) (expression_statement "bVar26 = false;" (assignment_expression "bVar26 = false" (identifier "bVar26") (= "=") (false "false")) (; ";")) (expression_statement "bVar24 = (!bVar25 && !bVar24) == bVar25;" (assignment_expression "bVar24 = (!bVar25 && !bVar24) == bVar25" (identifier "bVar24") (= "=") (binary_expression "(!bVar25 && !bVar24) == bVar25" (parenthesized_expression "(!bVar25 && !bVar24)" (( "(") (binary_expression "!bVar25 && !bVar24" (unary_expression "!bVar25" (! "!") (identifier "bVar25")) (&& "&&") (unary_expression "!bVar24" (! "!") (identifier "bVar24"))) () ")")) (== "==") (identifier "bVar25"))) (; ";")) (if_statement "if (!bVar24) {\n          iVar19 = 0xc;\n          pbVar20 = (byte *)((int)local_b8 + -0x19a231);\n          pbVar9 = local_4c[0];\n          do {\n            if (iVar19 == 0) break;\n            iVar19 = iVar19 + -1;\n            bVar26 = *pbVar20 < *pbVar9;\n            bVar24 = *pbVar20 == *pbVar9;\n            pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n            pbVar9 = pbVar9 + (uint)bVar27 * -2 + 1;\n          } while (bVar24);\n          bVar25 = false;\n          bVar24 = (!bVar26 && !bVar24) == bVar26;\n          if (!bVar24) {\n            iVar19 = 0x11;\n            ppuVar14 = local_b8 + -0x66889;\n            pbVar20 = local_4c[0];\n            do {\n              if (iVar19 == 0) break;\n              iVar19 = iVar19 + -1;\n              bVar25 = *(byte *)ppuVar14 < *pbVar20;\n              bVar24 = *(byte *)ppuVar14 == *pbVar20;\n              ppuVar14 = (undefined **)((int)ppuVar14 + (uint)bVar27 * -2 + 1);\n              pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n            } while (bVar24);\n            bVar26 = false;\n            bVar24 = (!bVar25 && !bVar24) == bVar25;\n            if (!bVar24) {\n              iVar19 = 9;\n              pbVar20 = (byte *)((int)local_b8 + -0x19a212);\n              pbVar9 = local_4c[0];\n              do {\n                if (iVar19 == 0) break;\n                iVar19 = iVar19 + -1;\n                bVar26 = *pbVar20 < *pbVar9;\n                bVar24 = *pbVar20 == *pbVar9;\n                pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n                pbVar9 = pbVar9 + (uint)bVar27 * -2 + 1;\n              } while (bVar24);\n              local_d2 = (!bVar26 && !bVar24) != bVar26;\n            }\n          }\n        }" (if "if") (parenthesized_expression "(!bVar24)" (( "(") (unary_expression "!bVar24" (! "!") (identifier "bVar24")) () ")")) (compound_statement "{\n          iVar19 = 0xc;\n          pbVar20 = (byte *)((int)local_b8 + -0x19a231);\n          pbVar9 = local_4c[0];\n          do {\n            if (iVar19 == 0) break;\n            iVar19 = iVar19 + -1;\n            bVar26 = *pbVar20 < *pbVar9;\n            bVar24 = *pbVar20 == *pbVar9;\n            pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n            pbVar9 = pbVar9 + (uint)bVar27 * -2 + 1;\n          } while (bVar24);\n          bVar25 = false;\n          bVar24 = (!bVar26 && !bVar24) == bVar26;\n          if (!bVar24) {\n            iVar19 = 0x11;\n            ppuVar14 = local_b8 + -0x66889;\n            pbVar20 = local_4c[0];\n            do {\n              if (iVar19 == 0) break;\n              iVar19 = iVar19 + -1;\n              bVar25 = *(byte *)ppuVar14 < *pbVar20;\n              bVar24 = *(byte *)ppuVar14 == *pbVar20;\n              ppuVar14 = (undefined **)((int)ppuVar14 + (uint)bVar27 * -2 + 1);\n              pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n            } while (bVar24);\n            bVar26 = false;\n            bVar24 = (!bVar25 && !bVar24) == bVar25;\n            if (!bVar24) {\n              iVar19 = 9;\n              pbVar20 = (byte *)((int)local_b8 + -0x19a212);\n              pbVar9 = local_4c[0];\n              do {\n                if (iVar19 == 0) break;\n                iVar19 = iVar19 + -1;\n                bVar26 = *pbVar20 < *pbVar9;\n                bVar24 = *pbVar20 == *pbVar9;\n                pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n                pbVar9 = pbVar9 + (uint)bVar27 * -2 + 1;\n              } while (bVar24);\n              local_d2 = (!bVar26 && !bVar24) != bVar26;\n            }\n          }\n        }" ({ "{") (expression_statement "iVar19 = 0xc;" (assignment_expression "iVar19 = 0xc" (identifier "iVar19") (= "=") (number_literal "0xc")) (; ";")) (expression_statement "pbVar20 = (byte *)((int)local_b8 + -0x19a231);" (assignment_expression "pbVar20 = (byte *)((int)local_b8 + -0x19a231)" (identifier "pbVar20") (= "=") (cast_expression "(byte *)((int)local_b8 + -0x19a231)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)local_b8 + -0x19a231)" (( "(") (binary_expression "(int)local_b8 + -0x19a231" (cast_expression "(int)local_b8" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_b8")) (+ "+") (number_literal "-0x19a231")) () ")")))) (; ";")) (expression_statement "pbVar9 = local_4c[0];" (assignment_expression "pbVar9 = local_4c[0]" (identifier "pbVar9") (= "=") (subscript_expression "local_4c[0]" (identifier "local_4c") ([ "[") (number_literal "0") (] "]"))) (; ";")) (do_statement "do {\n            if (iVar19 == 0) break;\n            iVar19 = iVar19 + -1;\n            bVar26 = *pbVar20 < *pbVar9;\n            bVar24 = *pbVar20 == *pbVar9;\n            pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n            pbVar9 = pbVar9 + (uint)bVar27 * -2 + 1;\n          } while (bVar24);" (do "do") (compound_statement "{\n            if (iVar19 == 0) break;\n            iVar19 = iVar19 + -1;\n            bVar26 = *pbVar20 < *pbVar9;\n            bVar24 = *pbVar20 == *pbVar9;\n            pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n            pbVar9 = pbVar9 + (uint)bVar27 * -2 + 1;\n          }" ({ "{") (if_statement "if (iVar19 == 0) break;" (if "if") (parenthesized_expression "(iVar19 == 0)" (( "(") (binary_expression "iVar19 == 0" (identifier "iVar19") (== "==") (number_literal "0")) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "iVar19 = iVar19 + -1;" (assignment_expression "iVar19 = iVar19 + -1" (identifier "iVar19") (= "=") (binary_expression "iVar19 + -1" (identifier "iVar19") (+ "+") (number_literal "-1"))) (; ";")) (expression_statement "bVar26 = *pbVar20 < *pbVar9;" (assignment_expression "bVar26 = *pbVar20 < *pbVar9" (identifier "bVar26") (= "=") (binary_expression "*pbVar20 < *pbVar9" (pointer_expression "*pbVar20" (* "*") (identifier "pbVar20")) (< "<") (pointer_expression "*pbVar9" (* "*") (identifier "pbVar9")))) (; ";")) (expression_statement "bVar24 = *pbVar20 == *pbVar9;" (assignment_expression "bVar24 = *pbVar20 == *pbVar9" (identifier "bVar24") (= "=") (binary_expression "*pbVar20 == *pbVar9" (pointer_expression "*pbVar20" (* "*") (identifier "pbVar20")) (== "==") (pointer_expression "*pbVar9" (* "*") (identifier "pbVar9")))) (; ";")) (expression_statement "pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;" (assignment_expression "pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1" (identifier "pbVar20") (= "=") (binary_expression "pbVar20 + (uint)bVar27 * -2 + 1" (binary_expression "pbVar20 + (uint)bVar27 * -2" (identifier "pbVar20") (+ "+") (binary_expression "(uint)bVar27 * -2" (cast_expression "(uint)bVar27" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar27")) (* "*") (number_literal "-2"))) (+ "+") (number_literal "1"))) (; ";")) (expression_statement "pbVar9 = pbVar9 + (uint)bVar27 * -2 + 1;" (assignment_expression "pbVar9 = pbVar9 + (uint)bVar27 * -2 + 1" (identifier "pbVar9") (= "=") (binary_expression "pbVar9 + (uint)bVar27 * -2 + 1" (binary_expression "pbVar9 + (uint)bVar27 * -2" (identifier "pbVar9") (+ "+") (binary_expression "(uint)bVar27 * -2" (cast_expression "(uint)bVar27" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar27")) (* "*") (number_literal "-2"))) (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(bVar24)" (( "(") (identifier "bVar24") () ")")) (; ";")) (expression_statement "bVar25 = false;" (assignment_expression "bVar25 = false" (identifier "bVar25") (= "=") (false "false")) (; ";")) (expression_statement "bVar24 = (!bVar26 && !bVar24) == bVar26;" (assignment_expression "bVar24 = (!bVar26 && !bVar24) == bVar26" (identifier "bVar24") (= "=") (binary_expression "(!bVar26 && !bVar24) == bVar26" (parenthesized_expression "(!bVar26 && !bVar24)" (( "(") (binary_expression "!bVar26 && !bVar24" (unary_expression "!bVar26" (! "!") (identifier "bVar26")) (&& "&&") (unary_expression "!bVar24" (! "!") (identifier "bVar24"))) () ")")) (== "==") (identifier "bVar26"))) (; ";")) (if_statement "if (!bVar24) {\n            iVar19 = 0x11;\n            ppuVar14 = local_b8 + -0x66889;\n            pbVar20 = local_4c[0];\n            do {\n              if (iVar19 == 0) break;\n              iVar19 = iVar19 + -1;\n              bVar25 = *(byte *)ppuVar14 < *pbVar20;\n              bVar24 = *(byte *)ppuVar14 == *pbVar20;\n              ppuVar14 = (undefined **)((int)ppuVar14 + (uint)bVar27 * -2 + 1);\n              pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n            } while (bVar24);\n            bVar26 = false;\n            bVar24 = (!bVar25 && !bVar24) == bVar25;\n            if (!bVar24) {\n              iVar19 = 9;\n              pbVar20 = (byte *)((int)local_b8 + -0x19a212);\n              pbVar9 = local_4c[0];\n              do {\n                if (iVar19 == 0) break;\n                iVar19 = iVar19 + -1;\n                bVar26 = *pbVar20 < *pbVar9;\n                bVar24 = *pbVar20 == *pbVar9;\n                pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n                pbVar9 = pbVar9 + (uint)bVar27 * -2 + 1;\n              } while (bVar24);\n              local_d2 = (!bVar26 && !bVar24) != bVar26;\n            }\n          }" (if "if") (parenthesized_expression "(!bVar24)" (( "(") (unary_expression "!bVar24" (! "!") (identifier "bVar24")) () ")")) (compound_statement "{\n            iVar19 = 0x11;\n            ppuVar14 = local_b8 + -0x66889;\n            pbVar20 = local_4c[0];\n            do {\n              if (iVar19 == 0) break;\n              iVar19 = iVar19 + -1;\n              bVar25 = *(byte *)ppuVar14 < *pbVar20;\n              bVar24 = *(byte *)ppuVar14 == *pbVar20;\n              ppuVar14 = (undefined **)((int)ppuVar14 + (uint)bVar27 * -2 + 1);\n              pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n            } while (bVar24);\n            bVar26 = false;\n            bVar24 = (!bVar25 && !bVar24) == bVar25;\n            if (!bVar24) {\n              iVar19 = 9;\n              pbVar20 = (byte *)((int)local_b8 + -0x19a212);\n              pbVar9 = local_4c[0];\n              do {\n                if (iVar19 == 0) break;\n                iVar19 = iVar19 + -1;\n                bVar26 = *pbVar20 < *pbVar9;\n                bVar24 = *pbVar20 == *pbVar9;\n                pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n                pbVar9 = pbVar9 + (uint)bVar27 * -2 + 1;\n              } while (bVar24);\n              local_d2 = (!bVar26 && !bVar24) != bVar26;\n            }\n          }" ({ "{") (expression_statement "iVar19 = 0x11;" (assignment_expression "iVar19 = 0x11" (identifier "iVar19") (= "=") (number_literal "0x11")) (; ";")) (expression_statement "ppuVar14 = local_b8 + -0x66889;" (assignment_expression "ppuVar14 = local_b8 + -0x66889" (identifier "ppuVar14") (= "=") (binary_expression "local_b8 + -0x66889" (identifier "local_b8") (+ "+") (number_literal "-0x66889"))) (; ";")) (expression_statement "pbVar20 = local_4c[0];" (assignment_expression "pbVar20 = local_4c[0]" (identifier "pbVar20") (= "=") (subscript_expression "local_4c[0]" (identifier "local_4c") ([ "[") (number_literal "0") (] "]"))) (; ";")) (do_statement "do {\n              if (iVar19 == 0) break;\n              iVar19 = iVar19 + -1;\n              bVar25 = *(byte *)ppuVar14 < *pbVar20;\n              bVar24 = *(byte *)ppuVar14 == *pbVar20;\n              ppuVar14 = (undefined **)((int)ppuVar14 + (uint)bVar27 * -2 + 1);\n              pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n            } while (bVar24);" (do "do") (compound_statement "{\n              if (iVar19 == 0) break;\n              iVar19 = iVar19 + -1;\n              bVar25 = *(byte *)ppuVar14 < *pbVar20;\n              bVar24 = *(byte *)ppuVar14 == *pbVar20;\n              ppuVar14 = (undefined **)((int)ppuVar14 + (uint)bVar27 * -2 + 1);\n              pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n            }" ({ "{") (if_statement "if (iVar19 == 0) break;" (if "if") (parenthesized_expression "(iVar19 == 0)" (( "(") (binary_expression "iVar19 == 0" (identifier "iVar19") (== "==") (number_literal "0")) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "iVar19 = iVar19 + -1;" (assignment_expression "iVar19 = iVar19 + -1" (identifier "iVar19") (= "=") (binary_expression "iVar19 + -1" (identifier "iVar19") (+ "+") (number_literal "-1"))) (; ";")) (expression_statement "bVar25 = *(byte *)ppuVar14 < *pbVar20;" (assignment_expression "bVar25 = *(byte *)ppuVar14 < *pbVar20" (identifier "bVar25") (= "=") (binary_expression "*(byte *)ppuVar14 < *pbVar20" (pointer_expression "*(byte *)ppuVar14" (* "*") (cast_expression "(byte *)ppuVar14" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "ppuVar14"))) (< "<") (pointer_expression "*pbVar20" (* "*") (identifier "pbVar20")))) (; ";")) (expression_statement "bVar24 = *(byte *)ppuVar14 == *pbVar20;" (assignment_expression "bVar24 = *(byte *)ppuVar14 == *pbVar20" (identifier "bVar24") (= "=") (binary_expression "*(byte *)ppuVar14 == *pbVar20" (pointer_expression "*(byte *)ppuVar14" (* "*") (cast_expression "(byte *)ppuVar14" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "ppuVar14"))) (== "==") (pointer_expression "*pbVar20" (* "*") (identifier "pbVar20")))) (; ";")) (expression_statement "ppuVar14 = (undefined **)((int)ppuVar14 + (uint)bVar27 * -2 + 1);" (assignment_expression "ppuVar14 = (undefined **)((int)ppuVar14 + (uint)bVar27 * -2 + 1)" (identifier "ppuVar14") (= "=") (cast_expression "(undefined **)((int)ppuVar14 + (uint)bVar27 * -2 + 1)" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)ppuVar14 + (uint)bVar27 * -2 + 1)" (( "(") (binary_expression "(int)ppuVar14 + (uint)bVar27 * -2 + 1" (binary_expression "(int)ppuVar14 + (uint)bVar27 * -2" (cast_expression "(int)ppuVar14" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppuVar14")) (+ "+") (binary_expression "(uint)bVar27 * -2" (cast_expression "(uint)bVar27" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar27")) (* "*") (number_literal "-2"))) (+ "+") (number_literal "1")) () ")")))) (; ";")) (expression_statement "pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;" (assignment_expression "pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1" (identifier "pbVar20") (= "=") (binary_expression "pbVar20 + (uint)bVar27 * -2 + 1" (binary_expression "pbVar20 + (uint)bVar27 * -2" (identifier "pbVar20") (+ "+") (binary_expression "(uint)bVar27 * -2" (cast_expression "(uint)bVar27" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar27")) (* "*") (number_literal "-2"))) (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(bVar24)" (( "(") (identifier "bVar24") () ")")) (; ";")) (expression_statement "bVar26 = false;" (assignment_expression "bVar26 = false" (identifier "bVar26") (= "=") (false "false")) (; ";")) (expression_statement "bVar24 = (!bVar25 && !bVar24) == bVar25;" (assignment_expression "bVar24 = (!bVar25 && !bVar24) == bVar25" (identifier "bVar24") (= "=") (binary_expression "(!bVar25 && !bVar24) == bVar25" (parenthesized_expression "(!bVar25 && !bVar24)" (( "(") (binary_expression "!bVar25 && !bVar24" (unary_expression "!bVar25" (! "!") (identifier "bVar25")) (&& "&&") (unary_expression "!bVar24" (! "!") (identifier "bVar24"))) () ")")) (== "==") (identifier "bVar25"))) (; ";")) (if_statement "if (!bVar24) {\n              iVar19 = 9;\n              pbVar20 = (byte *)((int)local_b8 + -0x19a212);\n              pbVar9 = local_4c[0];\n              do {\n                if (iVar19 == 0) break;\n                iVar19 = iVar19 + -1;\n                bVar26 = *pbVar20 < *pbVar9;\n                bVar24 = *pbVar20 == *pbVar9;\n                pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n                pbVar9 = pbVar9 + (uint)bVar27 * -2 + 1;\n              } while (bVar24);\n              local_d2 = (!bVar26 && !bVar24) != bVar26;\n            }" (if "if") (parenthesized_expression "(!bVar24)" (( "(") (unary_expression "!bVar24" (! "!") (identifier "bVar24")) () ")")) (compound_statement "{\n              iVar19 = 9;\n              pbVar20 = (byte *)((int)local_b8 + -0x19a212);\n              pbVar9 = local_4c[0];\n              do {\n                if (iVar19 == 0) break;\n                iVar19 = iVar19 + -1;\n                bVar26 = *pbVar20 < *pbVar9;\n                bVar24 = *pbVar20 == *pbVar9;\n                pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n                pbVar9 = pbVar9 + (uint)bVar27 * -2 + 1;\n              } while (bVar24);\n              local_d2 = (!bVar26 && !bVar24) != bVar26;\n            }" ({ "{") (expression_statement "iVar19 = 9;" (assignment_expression "iVar19 = 9" (identifier "iVar19") (= "=") (number_literal "9")) (; ";")) (expression_statement "pbVar20 = (byte *)((int)local_b8 + -0x19a212);" (assignment_expression "pbVar20 = (byte *)((int)local_b8 + -0x19a212)" (identifier "pbVar20") (= "=") (cast_expression "(byte *)((int)local_b8 + -0x19a212)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)local_b8 + -0x19a212)" (( "(") (binary_expression "(int)local_b8 + -0x19a212" (cast_expression "(int)local_b8" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_b8")) (+ "+") (number_literal "-0x19a212")) () ")")))) (; ";")) (expression_statement "pbVar9 = local_4c[0];" (assignment_expression "pbVar9 = local_4c[0]" (identifier "pbVar9") (= "=") (subscript_expression "local_4c[0]" (identifier "local_4c") ([ "[") (number_literal "0") (] "]"))) (; ";")) (do_statement "do {\n                if (iVar19 == 0) break;\n                iVar19 = iVar19 + -1;\n                bVar26 = *pbVar20 < *pbVar9;\n                bVar24 = *pbVar20 == *pbVar9;\n                pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n                pbVar9 = pbVar9 + (uint)bVar27 * -2 + 1;\n              } while (bVar24);" (do "do") (compound_statement "{\n                if (iVar19 == 0) break;\n                iVar19 = iVar19 + -1;\n                bVar26 = *pbVar20 < *pbVar9;\n                bVar24 = *pbVar20 == *pbVar9;\n                pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;\n                pbVar9 = pbVar9 + (uint)bVar27 * -2 + 1;\n              }" ({ "{") (if_statement "if (iVar19 == 0) break;" (if "if") (parenthesized_expression "(iVar19 == 0)" (( "(") (binary_expression "iVar19 == 0" (identifier "iVar19") (== "==") (number_literal "0")) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "iVar19 = iVar19 + -1;" (assignment_expression "iVar19 = iVar19 + -1" (identifier "iVar19") (= "=") (binary_expression "iVar19 + -1" (identifier "iVar19") (+ "+") (number_literal "-1"))) (; ";")) (expression_statement "bVar26 = *pbVar20 < *pbVar9;" (assignment_expression "bVar26 = *pbVar20 < *pbVar9" (identifier "bVar26") (= "=") (binary_expression "*pbVar20 < *pbVar9" (pointer_expression "*pbVar20" (* "*") (identifier "pbVar20")) (< "<") (pointer_expression "*pbVar9" (* "*") (identifier "pbVar9")))) (; ";")) (expression_statement "bVar24 = *pbVar20 == *pbVar9;" (assignment_expression "bVar24 = *pbVar20 == *pbVar9" (identifier "bVar24") (= "=") (binary_expression "*pbVar20 == *pbVar9" (pointer_expression "*pbVar20" (* "*") (identifier "pbVar20")) (== "==") (pointer_expression "*pbVar9" (* "*") (identifier "pbVar9")))) (; ";")) (expression_statement "pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;" (assignment_expression "pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1" (identifier "pbVar20") (= "=") (binary_expression "pbVar20 + (uint)bVar27 * -2 + 1" (binary_expression "pbVar20 + (uint)bVar27 * -2" (identifier "pbVar20") (+ "+") (binary_expression "(uint)bVar27 * -2" (cast_expression "(uint)bVar27" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar27")) (* "*") (number_literal "-2"))) (+ "+") (number_literal "1"))) (; ";")) (expression_statement "pbVar9 = pbVar9 + (uint)bVar27 * -2 + 1;" (assignment_expression "pbVar9 = pbVar9 + (uint)bVar27 * -2 + 1" (identifier "pbVar9") (= "=") (binary_expression "pbVar9 + (uint)bVar27 * -2 + 1" (binary_expression "pbVar9 + (uint)bVar27 * -2" (identifier "pbVar9") (+ "+") (binary_expression "(uint)bVar27 * -2" (cast_expression "(uint)bVar27" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar27")) (* "*") (number_literal "-2"))) (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(bVar24)" (( "(") (identifier "bVar24") () ")")) (; ";")) (expression_statement "local_d2 = (!bVar26 && !bVar24) != bVar26;" (assignment_expression "local_d2 = (!bVar26 && !bVar24) != bVar26" (identifier "local_d2") (= "=") (binary_expression "(!bVar26 && !bVar24) != bVar26" (parenthesized_expression "(!bVar26 && !bVar24)" (( "(") (binary_expression "!bVar26 && !bVar24" (unary_expression "!bVar26" (! "!") (identifier "bVar26")) (&& "&&") (unary_expression "!bVar24" (! "!") (identifier "bVar24"))) () ")")) (!= "!=") (identifier "bVar26"))) (; ";")) (} "}"))) (} "}"))) (} "}"))) (} "}"))) (} "}"))) (} "}"))) (if_statement "if (param_8 != 0) {\n    local_d8 = (byte *)0x0;\n    local_e0 = local_a4;\n    local_f4 = &local_8c;\n    local_e4 = 0;\n    do {\n      uVar2 = param_7[1];\n      uVar21 = uVar2 & 0xff;\n      puVar15 = (undefined *)(uVar2 >> 8);\n      local_bc = (undefined *)param_7[2];\n      if (puVar15 < param_11) {\n        if (param_12 == 0) {\n          *(undefined ***)((int)piVar18 + -8) = local_b8 + -0x615ed;\n          *(undefined4 *)((int)piVar18 + -0xc) = 0xea;\n          *(int *)((int)piVar18 + -0x10) = (int)local_b8 + -0x19ca36;\n                    \n                    \n          *(undefined **)((int)piVar18 + -0x14) = &UNK_000d2f49;\n          FUN_002446e0();\n        }\n        iVar19 = (int)puVar15 * 0x10 + param_12;\n        local_b4 = (undefined **)(uint)*(ushort *)(iVar19 + 0xe);\n        if (local_b4 < (undefined **)0xff00) {\nLAB_000d24ee:\n          ppuVar14 = *(undefined ***)(iVar19 + 4);\n          local_c4 = local_bc + (int)ppuVar14;\n          if (local_d1 != '\0') {\n            local_34 = param_4;\n            local_30 = local_b4;\n            local_b0 = &local_34;\n            *(undefined ****)((int)piVar18 + -0xc) = local_b0;\n            *(int *)((int)piVar18 + -0x10) = local_c8;\n            *(undefined4 *)((int)piVar18 + -0x14) = 0xd2533;\n            FUN_00073b00();\n            local_c0 = (undefined **)CONCAT31(local_c0._1_3_,1);\n            if ((*(byte *)(iVar19 + 0xc) & 0xf) == 3) goto LAB_000d254c;\nLAB_000d23e8:\n            *(undefined ****)((int)piVar18 + -0xc) = local_b0;\n            *(int *)((int)piVar18 + -0x10) = local_cc;\n            local_34 = (undefined **)0x0;\n            *(undefined4 *)((int)piVar18 + -0x14) = 0xd2403;\n            FUN_00073ca0();\n            goto LAB_000d2403;\n          }\n        }\n        else {\n          if (local_b4 == (undefined **)0xffff) {\n            puVar7 = param_4[0xc];\n            if (puVar7 == (undefined *)0x0) {\n              puVar7 = *param_4;\n              *(undefined ***)((int)piVar18 + -0x10) = param_4;\n              pcVar4 = *(code **)(puVar7 + 0x6c);\n              *(undefined4 *)((int)piVar18 + -0x14) = 0xd2a4e;\n              puVar7 = (undefined *)(*pcVar4)();\n              param_4[0xc] = puVar7;\n            }\n            *(undefined **)((int)piVar18 + -8) = puVar15;\n            *(undefined ***)((int)piVar18 + -0xc) = param_4;\n            *(undefined **)((int)piVar18 + -0x10) = puVar7;\n            *(undefined4 *)((int)piVar18 + -0x14) = 0xd2591;\n            local_b4 = (undefined **)FUN_0028b7d0();\n            goto LAB_000d24ee;\n          }\n          ppuVar14 = *(undefined ***)(iVar19 + 4);\n          local_c4 = local_bc + (int)ppuVar14;\n          if (local_d1 == '\0') goto LAB_000d2489;\n          local_b0 = &local_34;\n          local_34 = (undefined **)0x0;\n          *(undefined ****)((int)piVar18 + -0xc) = local_b0;\n          *(int *)((int)piVar18 + -0x10) = local_c8;\n          local_30 = (undefined **)0x0;\n                    \n          *(undefined4 *)((int)piVar18 + -0x14) = 0xd23cf;\n          FUN_00073b00();\n          local_c0 = (undefined **)((uint)local_c0 & 0xffffff00);\n          if ((*(byte *)(iVar19 + 0xc) & 0xf) != 3) goto LAB_000d23e8;\nLAB_000d254c:\n          *(undefined ****)((int)piVar18 + -0xc) = local_b0;\n          *(int *)((int)piVar18 + -0x10) = local_cc;\n          local_34 = (undefined **)0xffffffff;\n          *(undefined4 *)((int)piVar18 + -0x14) = 0xd2567;\n          FUN_00073ca0();\nLAB_000d2403:\n          *(undefined ****)((int)piVar18 + -0xc) = local_b0;\n          *(undefined ***)((int)piVar18 + -0x10) = local_e8;\n          local_2c = local_bc;\n          local_28 = (int)local_bc >> 0x1f;\n          local_30 = (undefined **)0x0;\n          *(undefined4 *)((int)piVar18 + -0x14) = 0xd2433;\n          local_34 = ppuVar14;\n          FUN_00073e70();\n          local_30 = (undefined **)0x0;\n          local_34 = (undefined **)*param_7;\n          puVar1 = *(undefined4 **)(local_d0 + 4);\n          if (puVar1 == *(undefined4 **)(local_d0 + 8)) {\n            *(undefined ****)((int)piVar18 + -8) = local_b0;\n            *(undefined4 **)((int)piVar18 + -0xc) = puVar1;\n            *(int *)((int)piVar18 + -0x10) = local_d0;\n            *(undefined4 *)((int)piVar18 + -0x14) = 0xd2b0d;\n            FUN_00072a40();\n          }\n          else {\n            *puVar1 = local_34;\n            puVar1[1] = 0;\n            *(undefined4 **)(local_d0 + 4) = puVar1 + 2;\n          }\n          local_68 = (undefined **)0x0;\n          *(undefined ****)((int)piVar18 + -0xc) = &local_68;\n          *(int *)((int)piVar18 + -0x10) = local_ec;\n          *(undefined4 *)((int)piVar18 + -0x14) = 0xd2479;\n          FUN_00074020();\n          if ((char)local_c0 == '\0') goto LAB_000d2489;\n        }\n        if (((local_d2 != '\0') && ((*(byte *)(iVar19 + 0xc) & 0xf) != 1)) &&\n           ((0x17 < uVar21 || ((0x843f84U >> (uVar2 & 0x1f) & 1) == 0)))) {\n          local_b0 = *(undefined ****)(param_2 + 0x15c);\n          local_80 = param_4;\n          local_7c = (uint)*(ushort *)(iVar19 + 0xe);\n          *(undefined4 *)((int)piVar18 + -0xc) = 1;\n          *(undefined4 *)((int)piVar18 + -0x10) = 0;\n          local_98 = local_b0 + 0xd;\n          *(undefined *****)((int)piVar18 + -0x14) = &local_98;\n          *(undefined ****)((int)piVar18 + -0x18) = &local_80;\n          *(undefined ****)((int)piVar18 + -0x1c) = local_98;\n          *(undefined1 **)((int)piVar18 + -0x20) = local_e0;\n          *(undefined4 *)((int)piVar18 + -0x24) = 0xd2ad1;\n          FUN_00074280();\n          piVar18 = (int *)((int)piVar18 + -4);\n        }\n        if (param_5 != local_b4) {\n          local_c0 = param_4;\n          puVar17 = (undefined1 *)piVar18;\nLAB_000d275e:\n          if (*(int *)(*local_dc + 8) == 0) {\n            *(undefined ***)(puVar17 + -8) = local_b8 + -0x61176;\n            *(undefined4 *)(puVar17 + -0xc) = 0x5c;\n            *(int *)(puVar17 + -0x10) = (int)local_b8 + -0x1a1d93;\n                    \n            *(undefined4 *)(puVar17 + -0x14) = 0xd2f6e;\n            FUN_002446e0();\n          }\n          piVar18 = (int *)puVar17;\n          if (*(char *)(*(int *)(*local_dc + 8) + 0x18b1) != '\0') {\n            local_70 = param_4;\n            iVar19 = *(int *)(param_2 + 0x158) + 0x14;\n            local_6c = param_5;\n            local_68 = local_c0;\n            local_64 = local_b4;\n            iVar3 = *(int *)(*(int *)(param_2 + 0x158) + 0x18);\n            iVar10 = iVar19;\n            if (iVar3 == 0) {\nLAB_000d27f0:\n              local_88 = &local_70;\n              *(undefined *****)(puVar17 + -0x10) = &local_88;\n              *(undefined4 *)(puVar17 + -0x14) = 0xd2811;\n              FUN_000c5e40();\n              iVar11 = local_a8;\n            }\n            else {\n              do {\n                while ((iVar11 = iVar3, *(undefined ***)(iVar11 + 0x10) < param_4 ||\n                       ((param_4 == *(undefined ***)(iVar11 + 0x10) &&\n                        (*(undefined ***)(iVar11 + 0x14) < param_5))))) {\n                  piVar18 = (int *)(iVar11 + 0xc);\n                  iVar3 = *piVar18;\n                  iVar11 = iVar10;\n                  if (*piVar18 == 0) goto LAB_000d27da;\n                }\n                iVar3 = *(int *)(iVar11 + 8);\n                iVar10 = iVar11;\n              } while (*(int *)(iVar11 + 8) != 0);\nLAB_000d27da:\n              if (((iVar19 == iVar11) || (param_4 < *(undefined ***)(iVar11 + 0x10))) ||\n                 ((param_4 == *(undefined ***)(iVar11 + 0x10) &&\n                  (param_5 < *(undefined ***)(iVar11 + 0x14))))) goto LAB_000d27f0;\n            }\n            local_8c = iVar11 + 0x18;\n            *(undefined4 *)(puVar17 + -0xc) = 1;\n            *(undefined4 *)(puVar17 + -0x10) = 0;\n            *(int **)(puVar17 + -0x14) = local_f4;\n            *(undefined ****)(puVar17 + -0x18) = &local_68;\n            *(int *)(puVar17 + -0x1c) = local_8c;\n            *(undefined1 **)(puVar17 + -0x20) = local_e0;\n            *(undefined4 *)(puVar17 + -0x24) = 0xd2840;\n            FUN_00074340();\n            piVar18 = *(int **)(*local_dc + 0xc);\n            if (piVar18 == (int *)0x0) {\n              *(undefined ***)(puVar17 + -0xc) = local_b8 + -0x615c4;\n              *(undefined4 *)(puVar17 + -0x10) = 0x73;\n              *(int *)(puVar17 + -0x14) = (int)local_b8 + -0x1a1d93;\n                    \n              *(undefined4 *)(puVar17 + -0x18) = 0xd2fad;\n              FUN_002446e0();\n            }\n            iVar19 = *piVar18;\n            *(undefined **)(puVar17 + -0xc) = local_c4;\n            *(undefined ***)(puVar17 + -0x10) = local_b4;\n            *(undefined ***)(puVar17 + -0x14) = local_c0;\n            *(undefined ***)(puVar17 + -0x18) = param_5;\n            *(undefined ***)(puVar17 + -0x1c) = param_4;\n            *(int *)(puVar17 + -0x20) = param_2;\n            *(int **)(puVar17 + -0x24) = piVar18;\n            pcVar4 = *(code **)(iVar19 + 0x104);\n            *(undefined4 *)(puVar17 + -0x28) = 0xd287d;\n            (*pcVar4)();\n            pbVar20 = local_d8;\n            piVar18 = (int *)(puVar17 + -4);\n            if (local_d8 != (byte *)0x0) {\n              local_b4 = &local_2c;\n              local_b0 = &local_34;\n              iVar19 = *(int *)(param_2 + 0x158);\n              *(byte **)(puVar17 + -0x14) = local_d8;\n              local_34 = local_b4;\n              *(undefined4 *)(puVar17 + -0x18) = 0xd28bd;\n              sVar6 = strlen(*(char **)(puVar17 + -0x14));\n              pppuVar5 = local_b0;\n              *(undefined4 *)(puVar17 + -8) = 0;\n              *(byte **)(puVar17 + -0xc) = pbVar20 + sVar6;\n              *(byte **)(puVar17 + -0x10) = pbVar20;\n              *(undefined ****)(puVar17 + -0x14) = local_b0;\n              *(undefined4 *)(puVar17 + -0x18) = 0xd28d2;\n              FUN_00072b90();\n              *(undefined ****)(puVar17 + -0xc) = pppuVar5;\n              *(int *)(puVar17 + -0x10) = iVar19 + 0x44;\n              *(int **)(puVar17 + -0x14) = &local_ac;\n              *(undefined4 *)(puVar17 + -0x18) = 0xd28e6;\n              FUN_00094bd0();\n              iVar19 = local_ac;\n              if (local_34 != local_b4) {\n                *(undefined ***)(puVar17 + -0x18) = local_34;\n                *(undefined4 *)(puVar17 + -0x1c) = 0xd2909;\n                FUN_003ae080();\n              }\n              piVar18 = (int *)(puVar17 + -8);\n              iVar3 = *(int *)(param_2 + 0x158);\n              if (iVar19 != iVar3 + 0x48) {\n                local_34 = param_4;\n                local_30 = param_5;\n                iVar10 = *(int *)(iVar3 + 0x18);\n                iVar11 = iVar3 + 0x14;\n                if (*(int *)(iVar3 + 0x18) == 0) {\nLAB_000d2bd8:\n                  *(undefined *****)(puVar17 + -0x18) = &local_84;\n                  local_84 = local_b0;\n                  *(undefined4 *)(puVar17 + -0x1c) = 0xd2bf6;\n                  FUN_000c5e40();\n                  iVar12 = local_a8;\n                }\n                else {\n                  do {\n                    while ((iVar12 = iVar10, *(undefined ***)(iVar12 + 0x10) < param_4 ||\n                           ((param_4 == *(undefined ***)(iVar12 + 0x10) &&\n                            (*(undefined ***)(iVar12 + 0x14) < param_5))))) {\n                      piVar18 = (int *)(iVar12 + 0xc);\n                      iVar10 = *piVar18;\n                      iVar12 = iVar11;\n                      if (*piVar18 == 0) goto LAB_000d2962;\n                    }\n                    iVar10 = *(int *)(iVar12 + 8);\n                    iVar11 = iVar12;\n                  } while (*(int *)(iVar12 + 8) != 0);\nLAB_000d2962:\n                  if (((iVar12 == iVar3 + 0x14) || (param_4 < *(undefined ***)(iVar12 + 0x10))) ||\n                     ((param_4 == *(undefined ***)(iVar12 + 0x10) &&\n                      (param_5 < *(undefined ***)(iVar12 + 0x14))))) goto LAB_000d2bd8;\n                }\n                piVar18 = (int *)(puVar17 + -8);\n                puVar17 = puVar17 + -8;\n                for (puVar1 = *(undefined4 **)(iVar19 + 0x30); puVar1 != (undefined4 *)0x0;\n                    puVar1 = (undefined4 *)*puVar1) {\n                  *(undefined4 *)(puVar17 + -0xc) = 1;\n                  *(undefined4 *)(puVar17 + -0x10) = 0;\n                  *(int **)(puVar17 + -0x14) = &local_90;\n                  *(undefined4 **)(puVar17 + -0x18) = puVar1 + 1;\n                  *(int *)(puVar17 + -0x1c) = iVar12 + 0x18;\n                  *(undefined1 **)(puVar17 + -0x20) = local_e0;\n                  *(undefined4 *)(puVar17 + -0x24) = 0xd29ae;\n                  local_90 = iVar12 + 0x18;\n                  FUN_00074340();\n                  piVar18 = (int *)(puVar17 + -4);\n                  puVar17 = puVar17 + -4;\n                }\n              }\n            }\n          }\n        }\n      }\n      else {\n        if (puVar15 < param_4[0x2c]) {\n          local_70 = (undefined **)0x0;\nLAB_000d2a1f:\n          *(undefined ***)((int)piVar18 + -8) = local_b8 + -0x615ed;\n          *(undefined4 *)((int)piVar18 + -0xc) = 0x11c;\n          *(int *)((int)piVar18 + -0x10) = (int)local_b8 + -0x19ca36;\n                    \n          *(undefined4 *)((int)piVar18 + -0x14) = 0xd2a40;\n          FUN_002446e0();\n        }\n        uVar16 = (int)puVar15 - (int)param_4[0x2c];\n        local_b0 = (undefined ***)param_4[0x30];\n        if ((uint)((int)local_b0 - (int)param_4[0x2f] >> 2) <= uVar16) {\n          *(undefined ***)((int)piVar18 + -8) = local_b8 + -0x6156c;\n          *(undefined4 *)((int)piVar18 + -0xc) = 0x8ad;\n          *(int *)((int)piVar18 + -0x10) = (int)local_b8 + -0x19cc7b;\n                    \n          *(undefined4 *)((int)piVar18 + -0x14) = 0xd2f8f;\n          FUN_002446e0();\n        }\n        local_70 = *(undefined ***)(param_4[0x2f] + uVar16 * 4);\n        if (local_70 == (undefined **)0x0) goto LAB_000d2a1f;\n        if ((*(byte *)((int)local_70 + 0x2a) & 0x10) == 0) {\n          if ((*(byte *)((int)local_70 + 0x2a) & 7) == 0) goto LAB_000d25f7;\nLAB_000d29e2:\n          local_f0 = (undefined **)local_70[0xc];\n          bVar13 = 0;\n          local_b4 = (undefined **)0x0;\n          local_c0 = (undefined **)0x0;\n          bVar24 = CARRY4((uint)local_bc,(uint)local_f0);\n          local_c4 = local_bc + (int)local_f0;\n          bVar26 = local_c4 == (undefined *)0x0;\n        }\n        else {\n          *(undefined ***)((int)piVar18 + -0xc) = local_70;\n          *(int *)((int)piVar18 + -0x10) = param_2;\n          *(undefined4 *)((int)piVar18 + -0x14) = 0xd29d2;\n          local_70 = (undefined **)FUN_0034cd90();\n          if ((*(byte *)((int)local_70 + 0x2a) & 7) != 0) goto LAB_000d29e2;\nLAB_000d25f7:\n          local_f0 = (undefined **)local_70[0xc];\n          local_c0 = (undefined **)local_70[2];\n          local_c4 = local_bc + (int)local_f0;\n          if (((uint)local_c0[0xb] & 1) == 0) {\n            local_b4 = (undefined **)local_70[3];\n            bVar13 = *(byte *)((int)local_70 + 0x2b) >> 5 & 1;\n            bVar24 = (*(byte *)(local_70 + 10) & 0xf) < 2;\n            bVar26 = (*(byte *)(local_70 + 10) & 0xf) == 2;\n            if (bVar26) {\n              bVar24 = false;\n              bVar26 = local_d2 == '\0';\n              if ((!bVar26) &&\n                 (((bVar13 == 0 || (bVar26 = uVar21 == 0x17, 0x17 < uVar21)) ||\n                  (bVar24 = (0x843f84U >> (uVar2 & 0x1f) & 1) != 0, !bVar24)))) {\n                local_b0 = *(undefined ****)(param_2 + 0x15c);\n                *(undefined4 *)((int)piVar18 + -0xc) = 1;\n                *(undefined4 *)((int)piVar18 + -0x10) = 0;\n                *(undefined *****)((int)piVar18 + -0x14) = &local_94;\n                *(undefined ****)((int)piVar18 + -0x18) = &local_78;\n                local_94 = local_b0 + 0xd;\n                *(undefined ****)((int)piVar18 + -0x1c) = local_94;\n                *(undefined1 **)((int)piVar18 + -0x20) = local_e0;\n                    \n                *(undefined4 *)((int)piVar18 + -0x24) = 0xd2ccb;\n                local_78 = local_c0;\n                local_74 = local_b4;\n                FUN_00074280();\n                bVar24 = (undefined1 *)0xffffffe3 < (undefined1 *)((int)piVar18 + -0x20);\n                bVar26 = piVar18 == (int *)0x4;\n                piVar18 = (int *)((int)piVar18 + -4);\n              }\n            }\n          }\n          else {\n            local_b4 = (undefined **)0x0;\n            bVar24 = false;\n            bVar13 = 0;\n            bVar26 = true;\n            local_c0 = (undefined **)0x0;\n          }\n        }\n        pbVar20 = *local_70;\n        iVar19 = 8;\n        pbVar9 = (byte *)((int)local_b8 + -0x19ca26);\n        pbVar22 = pbVar20;\n        do {\n          if (iVar19 == 0) break;\n          iVar19 = iVar19 + -1;\n          bVar24 = *pbVar9 < *pbVar22;\n          bVar26 = *pbVar9 == *pbVar22;\n          pbVar9 = pbVar9 + (uint)bVar27 * -2 + 1;\n          pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n        } while (bVar26);\n        bVar25 = false;\n        bVar24 = (!bVar24 && !bVar26) == bVar24;\n        if (bVar24) {\n          pbVar20 = pbVar20 + 8;\n        }\n        else {\n          iVar19 = 7;\n          pbVar9 = (byte *)((int)local_b8 + -0x19ca1d);\n          pbVar22 = pbVar20;\n          do {\n            if (iVar19 == 0) break;\n            iVar19 = iVar19 + -1;\n            bVar25 = *pbVar9 < *pbVar22;\n            bVar24 = *pbVar9 == *pbVar22;\n            pbVar9 = pbVar9 + (uint)bVar27 * -2 + 1;\n            pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n          } while (bVar24);\n          pbVar20 = pbVar20 + 7;\n          if ((!bVar25 && !bVar24) != bVar25) {\n            pbVar20 = local_d8;\n          }\n        }\n        local_d8 = pbVar20;\n        if (local_d1 != '\0') {\n          if (bVar13 == 0) {\n            local_34 = (undefined **)0x0;\n            local_30 = (undefined **)0x0;\n          }\n          else {\n            local_34 = local_c0;\n            local_30 = local_b4;\n          }\n          local_b0 = &local_34;\n          *(undefined ****)((int)piVar18 + -0xc) = local_b0;\n          *(int *)((int)piVar18 + -0x10) = local_c8;\n          *(undefined4 *)((int)piVar18 + -0x14) = 0xd26b9;\n          FUN_00073b00();\n          puVar1 = *(undefined4 **)(local_cc + 4);\n          if (puVar1 == *(undefined4 **)(local_cc + 8)) {\n            *(undefined ****)((int)piVar18 + -8) = &local_70;\n            *(undefined4 **)((int)piVar18 + -0xc) = puVar1;\n            *(int *)((int)piVar18 + -0x10) = local_cc;\n            *(undefined4 *)((int)piVar18 + -0x14) = 0xd2b4b;\n            FUN_000726c0();\n          }\n          else {\n            *puVar1 = local_70;\n            *(undefined4 **)(local_cc + 4) = puVar1 + 1;\n          }\n          *(undefined ****)((int)piVar18 + -0xc) = local_b0;\n          *(undefined ***)((int)piVar18 + -0x10) = local_e8;\n          local_34 = local_f0;\n          local_30 = (undefined **)0x0;\n          local_2c = local_bc;\n          local_28 = (int)local_bc >> 0x1f;\n          *(undefined4 *)((int)piVar18 + -0x14) = 0xd270d;\n          FUN_00073e70();\n          local_30 = (undefined **)0x0;\n          local_34 = (undefined **)*param_7;\n          puVar1 = *(undefined4 **)(local_d0 + 4);\n          if (puVar1 == *(undefined4 **)(local_d0 + 8)) {\n            *(undefined ****)((int)piVar18 + -8) = local_b0;\n            *(undefined4 **)((int)piVar18 + -0xc) = puVar1;\n            *(int *)((int)piVar18 + -0x10) = local_d0;\n            *(undefined4 *)((int)piVar18 + -0x14) = 0xd2bbd;\n            FUN_00072a40();\n          }\n          else {\n            *puVar1 = local_34;\n            puVar1[1] = 0;\n            *(undefined4 **)(local_d0 + 4) = puVar1 + 2;\n          }\n          local_68 = (undefined **)0x0;\n          *(undefined ****)((int)piVar18 + -0xc) = &local_68;\n          *(int *)((int)piVar18 + -0x10) = local_ec;\n          *(undefined4 *)((int)piVar18 + -0x14) = 0xd2753;\n          FUN_00074020();\n        }\n        puVar17 = (undefined1 *)piVar18;\n        if (bVar13 != 0) goto LAB_000d275e;\n      }\nLAB_000d2489:\n      local_e4 = local_e4 + 1;\n      param_7 = param_7 + 3;\n    } while (param_8 != local_e4);\n  }" (if "if") (parenthesized_expression "(param_8 != 0)" (( "(") (binary_expression "param_8 != 0" (identifier "param_8") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n    local_d8 = (byte *)0x0;\n    local_e0 = local_a4;\n    local_f4 = &local_8c;\n    local_e4 = 0;\n    do {\n      uVar2 = param_7[1];\n      uVar21 = uVar2 & 0xff;\n      puVar15 = (undefined *)(uVar2 >> 8);\n      local_bc = (undefined *)param_7[2];\n      if (puVar15 < param_11) {\n        if (param_12 == 0) {\n          *(undefined ***)((int)piVar18 + -8) = local_b8 + -0x615ed;\n          *(undefined4 *)((int)piVar18 + -0xc) = 0xea;\n          *(int *)((int)piVar18 + -0x10) = (int)local_b8 + -0x19ca36;\n                    \n                    \n          *(undefined **)((int)piVar18 + -0x14) = &UNK_000d2f49;\n          FUN_002446e0();\n        }\n        iVar19 = (int)puVar15 * 0x10 + param_12;\n        local_b4 = (undefined **)(uint)*(ushort *)(iVar19 + 0xe);\n        if (local_b4 < (undefined **)0xff00) {\nLAB_000d24ee:\n          ppuVar14 = *(undefined ***)(iVar19 + 4);\n          local_c4 = local_bc + (int)ppuVar14;\n          if (local_d1 != '\0') {\n            local_34 = param_4;\n            local_30 = local_b4;\n            local_b0 = &local_34;\n            *(undefined ****)((int)piVar18 + -0xc) = local_b0;\n            *(int *)((int)piVar18 + -0x10) = local_c8;\n            *(undefined4 *)((int)piVar18 + -0x14) = 0xd2533;\n            FUN_00073b00();\n            local_c0 = (undefined **)CONCAT31(local_c0._1_3_,1);\n            if ((*(byte *)(iVar19 + 0xc) & 0xf) == 3) goto LAB_000d254c;\nLAB_000d23e8:\n            *(undefined ****)((int)piVar18 + -0xc) = local_b0;\n            *(int *)((int)piVar18 + -0x10) = local_cc;\n            local_34 = (undefined **)0x0;\n            *(undefined4 *)((int)piVar18 + -0x14) = 0xd2403;\n            FUN_00073ca0();\n            goto LAB_000d2403;\n          }\n        }\n        else {\n          if (local_b4 == (undefined **)0xffff) {\n            puVar7 = param_4[0xc];\n            if (puVar7 == (undefined *)0x0) {\n              puVar7 = *param_4;\n              *(undefined ***)((int)piVar18 + -0x10) = param_4;\n              pcVar4 = *(code **)(puVar7 + 0x6c);\n              *(undefined4 *)((int)piVar18 + -0x14) = 0xd2a4e;\n              puVar7 = (undefined *)(*pcVar4)();\n              param_4[0xc] = puVar7;\n            }\n            *(undefined **)((int)piVar18 + -8) = puVar15;\n            *(undefined ***)((int)piVar18 + -0xc) = param_4;\n            *(undefined **)((int)piVar18 + -0x10) = puVar7;\n            *(undefined4 *)((int)piVar18 + -0x14) = 0xd2591;\n            local_b4 = (undefined **)FUN_0028b7d0();\n            goto LAB_000d24ee;\n          }\n          ppuVar14 = *(undefined ***)(iVar19 + 4);\n          local_c4 = local_bc + (int)ppuVar14;\n          if (local_d1 == '\0') goto LAB_000d2489;\n          local_b0 = &local_34;\n          local_34 = (undefined **)0x0;\n          *(undefined ****)((int)piVar18 + -0xc) = local_b0;\n          *(int *)((int)piVar18 + -0x10) = local_c8;\n          local_30 = (undefined **)0x0;\n                    \n          *(undefined4 *)((int)piVar18 + -0x14) = 0xd23cf;\n          FUN_00073b00();\n          local_c0 = (undefined **)((uint)local_c0 & 0xffffff00);\n          if ((*(byte *)(iVar19 + 0xc) & 0xf) != 3) goto LAB_000d23e8;\nLAB_000d254c:\n          *(undefined ****)((int)piVar18 + -0xc) = local_b0;\n          *(int *)((int)piVar18 + -0x10) = local_cc;\n          local_34 = (undefined **)0xffffffff;\n          *(undefined4 *)((int)piVar18 + -0x14) = 0xd2567;\n          FUN_00073ca0();\nLAB_000d2403:\n          *(undefined ****)((int)piVar18 + -0xc) = local_b0;\n          *(undefined ***)((int)piVar18 + -0x10) = local_e8;\n          local_2c = local_bc;\n          local_28 = (int)local_bc >> 0x1f;\n          local_30 = (undefined **)0x0;\n          *(undefined4 *)((int)piVar18 + -0x14) = 0xd2433;\n          local_34 = ppuVar14;\n          FUN_00073e70();\n          local_30 = (undefined **)0x0;\n          local_34 = (undefined **)*param_7;\n          puVar1 = *(undefined4 **)(local_d0 + 4);\n          if (puVar1 == *(undefined4 **)(local_d0 + 8)) {\n            *(undefined ****)((int)piVar18 + -8) = local_b0;\n            *(undefined4 **)((int)piVar18 + -0xc) = puVar1;\n            *(int *)((int)piVar18 + -0x10) = local_d0;\n            *(undefined4 *)((int)piVar18 + -0x14) = 0xd2b0d;\n            FUN_00072a40();\n          }\n          else {\n            *puVar1 = local_34;\n            puVar1[1] = 0;\n            *(undefined4 **)(local_d0 + 4) = puVar1 + 2;\n          }\n          local_68 = (undefined **)0x0;\n          *(undefined ****)((int)piVar18 + -0xc) = &local_68;\n          *(int *)((int)piVar18 + -0x10) = local_ec;\n          *(undefined4 *)((int)piVar18 + -0x14) = 0xd2479;\n          FUN_00074020();\n          if ((char)local_c0 == '\0') goto LAB_000d2489;\n        }\n        if (((local_d2 != '\0') && ((*(byte *)(iVar19 + 0xc) & 0xf) != 1)) &&\n           ((0x17 < uVar21 || ((0x843f84U >> (uVar2 & 0x1f) & 1) == 0)))) {\n          local_b0 = *(undefined ****)(param_2 + 0x15c);\n          local_80 = param_4;\n          local_7c = (uint)*(ushort *)(iVar19 + 0xe);\n          *(undefined4 *)((int)piVar18 + -0xc) = 1;\n          *(undefined4 *)((int)piVar18 + -0x10) = 0;\n          local_98 = local_b0 + 0xd;\n          *(undefined *****)((int)piVar18 + -0x14) = &local_98;\n          *(undefined ****)((int)piVar18 + -0x18) = &local_80;\n          *(undefined ****)((int)piVar18 + -0x1c) = local_98;\n          *(undefined1 **)((int)piVar18 + -0x20) = local_e0;\n          *(undefined4 *)((int)piVar18 + -0x24) = 0xd2ad1;\n          FUN_00074280();\n          piVar18 = (int *)((int)piVar18 + -4);\n        }\n        if (param_5 != local_b4) {\n          local_c0 = param_4;\n          puVar17 = (undefined1 *)piVar18;\nLAB_000d275e:\n          if (*(int *)(*local_dc + 8) == 0) {\n            *(undefined ***)(puVar17 + -8) = local_b8 + -0x61176;\n            *(undefined4 *)(puVar17 + -0xc) = 0x5c;\n            *(int *)(puVar17 + -0x10) = (int)local_b8 + -0x1a1d93;\n                    \n            *(undefined4 *)(puVar17 + -0x14) = 0xd2f6e;\n            FUN_002446e0();\n          }\n          piVar18 = (int *)puVar17;\n          if (*(char *)(*(int *)(*local_dc + 8) + 0x18b1) != '\0') {\n            local_70 = param_4;\n            iVar19 = *(int *)(param_2 + 0x158) + 0x14;\n            local_6c = param_5;\n            local_68 = local_c0;\n            local_64 = local_b4;\n            iVar3 = *(int *)(*(int *)(param_2 + 0x158) + 0x18);\n            iVar10 = iVar19;\n            if (iVar3 == 0) {\nLAB_000d27f0:\n              local_88 = &local_70;\n              *(undefined *****)(puVar17 + -0x10) = &local_88;\n              *(undefined4 *)(puVar17 + -0x14) = 0xd2811;\n              FUN_000c5e40();\n              iVar11 = local_a8;\n            }\n            else {\n              do {\n                while ((iVar11 = iVar3, *(undefined ***)(iVar11 + 0x10) < param_4 ||\n                       ((param_4 == *(undefined ***)(iVar11 + 0x10) &&\n                        (*(undefined ***)(iVar11 + 0x14) < param_5))))) {\n                  piVar18 = (int *)(iVar11 + 0xc);\n                  iVar3 = *piVar18;\n                  iVar11 = iVar10;\n                  if (*piVar18 == 0) goto LAB_000d27da;\n                }\n                iVar3 = *(int *)(iVar11 + 8);\n                iVar10 = iVar11;\n              } while (*(int *)(iVar11 + 8) != 0);\nLAB_000d27da:\n              if (((iVar19 == iVar11) || (param_4 < *(undefined ***)(iVar11 + 0x10))) ||\n                 ((param_4 == *(undefined ***)(iVar11 + 0x10) &&\n                  (param_5 < *(undefined ***)(iVar11 + 0x14))))) goto LAB_000d27f0;\n            }\n            local_8c = iVar11 + 0x18;\n            *(undefined4 *)(puVar17 + -0xc) = 1;\n            *(undefined4 *)(puVar17 + -0x10) = 0;\n            *(int **)(puVar17 + -0x14) = local_f4;\n            *(undefined ****)(puVar17 + -0x18) = &local_68;\n            *(int *)(puVar17 + -0x1c) = local_8c;\n            *(undefined1 **)(puVar17 + -0x20) = local_e0;\n            *(undefined4 *)(puVar17 + -0x24) = 0xd2840;\n            FUN_00074340();\n            piVar18 = *(int **)(*local_dc + 0xc);\n            if (piVar18 == (int *)0x0) {\n              *(undefined ***)(puVar17 + -0xc) = local_b8 + -0x615c4;\n              *(undefined4 *)(puVar17 + -0x10) = 0x73;\n              *(int *)(puVar17 + -0x14) = (int)local_b8 + -0x1a1d93;\n                    \n              *(undefined4 *)(puVar17 + -0x18) = 0xd2fad;\n              FUN_002446e0();\n            }\n            iVar19 = *piVar18;\n            *(undefined **)(puVar17 + -0xc) = local_c4;\n            *(undefined ***)(puVar17 + -0x10) = local_b4;\n            *(undefined ***)(puVar17 + -0x14) = local_c0;\n            *(undefined ***)(puVar17 + -0x18) = param_5;\n            *(undefined ***)(puVar17 + -0x1c) = param_4;\n            *(int *)(puVar17 + -0x20) = param_2;\n            *(int **)(puVar17 + -0x24) = piVar18;\n            pcVar4 = *(code **)(iVar19 + 0x104);\n            *(undefined4 *)(puVar17 + -0x28) = 0xd287d;\n            (*pcVar4)();\n            pbVar20 = local_d8;\n            piVar18 = (int *)(puVar17 + -4);\n            if (local_d8 != (byte *)0x0) {\n              local_b4 = &local_2c;\n              local_b0 = &local_34;\n              iVar19 = *(int *)(param_2 + 0x158);\n              *(byte **)(puVar17 + -0x14) = local_d8;\n              local_34 = local_b4;\n              *(undefined4 *)(puVar17 + -0x18) = 0xd28bd;\n              sVar6 = strlen(*(char **)(puVar17 + -0x14));\n              pppuVar5 = local_b0;\n              *(undefined4 *)(puVar17 + -8) = 0;\n              *(byte **)(puVar17 + -0xc) = pbVar20 + sVar6;\n              *(byte **)(puVar17 + -0x10) = pbVar20;\n              *(undefined ****)(puVar17 + -0x14) = local_b0;\n              *(undefined4 *)(puVar17 + -0x18) = 0xd28d2;\n              FUN_00072b90();\n              *(undefined ****)(puVar17 + -0xc) = pppuVar5;\n              *(int *)(puVar17 + -0x10) = iVar19 + 0x44;\n              *(int **)(puVar17 + -0x14) = &local_ac;\n              *(undefined4 *)(puVar17 + -0x18) = 0xd28e6;\n              FUN_00094bd0();\n              iVar19 = local_ac;\n              if (local_34 != local_b4) {\n                *(undefined ***)(puVar17 + -0x18) = local_34;\n                *(undefined4 *)(puVar17 + -0x1c) = 0xd2909;\n                FUN_003ae080();\n              }\n              piVar18 = (int *)(puVar17 + -8);\n              iVar3 = *(int *)(param_2 + 0x158);\n              if (iVar19 != iVar3 + 0x48) {\n                local_34 = param_4;\n                local_30 = param_5;\n                iVar10 = *(int *)(iVar3 + 0x18);\n                iVar11 = iVar3 + 0x14;\n                if (*(int *)(iVar3 + 0x18) == 0) {\nLAB_000d2bd8:\n                  *(undefined *****)(puVar17 + -0x18) = &local_84;\n                  local_84 = local_b0;\n                  *(undefined4 *)(puVar17 + -0x1c) = 0xd2bf6;\n                  FUN_000c5e40();\n                  iVar12 = local_a8;\n                }\n                else {\n                  do {\n                    while ((iVar12 = iVar10, *(undefined ***)(iVar12 + 0x10) < param_4 ||\n                           ((param_4 == *(undefined ***)(iVar12 + 0x10) &&\n                            (*(undefined ***)(iVar12 + 0x14) < param_5))))) {\n                      piVar18 = (int *)(iVar12 + 0xc);\n                      iVar10 = *piVar18;\n                      iVar12 = iVar11;\n                      if (*piVar18 == 0) goto LAB_000d2962;\n                    }\n                    iVar10 = *(int *)(iVar12 + 8);\n                    iVar11 = iVar12;\n                  } while (*(int *)(iVar12 + 8) != 0);\nLAB_000d2962:\n                  if (((iVar12 == iVar3 + 0x14) || (param_4 < *(undefined ***)(iVar12 + 0x10))) ||\n                     ((param_4 == *(undefined ***)(iVar12 + 0x10) &&\n                      (param_5 < *(undefined ***)(iVar12 + 0x14))))) goto LAB_000d2bd8;\n                }\n                piVar18 = (int *)(puVar17 + -8);\n                puVar17 = puVar17 + -8;\n                for (puVar1 = *(undefined4 **)(iVar19 + 0x30); puVar1 != (undefined4 *)0x0;\n                    puVar1 = (undefined4 *)*puVar1) {\n                  *(undefined4 *)(puVar17 + -0xc) = 1;\n                  *(undefined4 *)(puVar17 + -0x10) = 0;\n                  *(int **)(puVar17 + -0x14) = &local_90;\n                  *(undefined4 **)(puVar17 + -0x18) = puVar1 + 1;\n                  *(int *)(puVar17 + -0x1c) = iVar12 + 0x18;\n                  *(undefined1 **)(puVar17 + -0x20) = local_e0;\n                  *(undefined4 *)(puVar17 + -0x24) = 0xd29ae;\n                  local_90 = iVar12 + 0x18;\n                  FUN_00074340();\n                  piVar18 = (int *)(puVar17 + -4);\n                  puVar17 = puVar17 + -4;\n                }\n              }\n            }\n          }\n        }\n      }\n      else {\n        if (puVar15 < param_4[0x2c]) {\n          local_70 = (undefined **)0x0;\nLAB_000d2a1f:\n          *(undefined ***)((int)piVar18 + -8) = local_b8 + -0x615ed;\n          *(undefined4 *)((int)piVar18 + -0xc) = 0x11c;\n          *(int *)((int)piVar18 + -0x10) = (int)local_b8 + -0x19ca36;\n                    \n          *(undefined4 *)((int)piVar18 + -0x14) = 0xd2a40;\n          FUN_002446e0();\n        }\n        uVar16 = (int)puVar15 - (int)param_4[0x2c];\n        local_b0 = (undefined ***)param_4[0x30];\n        if ((uint)((int)local_b0 - (int)param_4[0x2f] >> 2) <= uVar16) {\n          *(undefined ***)((int)piVar18 + -8) = local_b8 + -0x6156c;\n          *(undefined4 *)((int)piVar18 + -0xc) = 0x8ad;\n          *(int *)((int)piVar18 + -0x10) = (int)local_b8 + -0x19cc7b;\n                    \n          *(undefined4 *)((int)piVar18 + -0x14) = 0xd2f8f;\n          FUN_002446e0();\n        }\n        local_70 = *(undefined ***)(param_4[0x2f] + uVar16 * 4);\n        if (local_70 == (undefined **)0x0) goto LAB_000d2a1f;\n        if ((*(byte *)((int)local_70 + 0x2a) & 0x10) == 0) {\n          if ((*(byte *)((int)local_70 + 0x2a) & 7) == 0) goto LAB_000d25f7;\nLAB_000d29e2:\n          local_f0 = (undefined **)local_70[0xc];\n          bVar13 = 0;\n          local_b4 = (undefined **)0x0;\n          local_c0 = (undefined **)0x0;\n          bVar24 = CARRY4((uint)local_bc,(uint)local_f0);\n          local_c4 = local_bc + (int)local_f0;\n          bVar26 = local_c4 == (undefined *)0x0;\n        }\n        else {\n          *(undefined ***)((int)piVar18 + -0xc) = local_70;\n          *(int *)((int)piVar18 + -0x10) = param_2;\n          *(undefined4 *)((int)piVar18 + -0x14) = 0xd29d2;\n          local_70 = (undefined **)FUN_0034cd90();\n          if ((*(byte *)((int)local_70 + 0x2a) & 7) != 0) goto LAB_000d29e2;\nLAB_000d25f7:\n          local_f0 = (undefined **)local_70[0xc];\n          local_c0 = (undefined **)local_70[2];\n          local_c4 = local_bc + (int)local_f0;\n          if (((uint)local_c0[0xb] & 1) == 0) {\n            local_b4 = (undefined **)local_70[3];\n            bVar13 = *(byte *)((int)local_70 + 0x2b) >> 5 & 1;\n            bVar24 = (*(byte *)(local_70 + 10) & 0xf) < 2;\n            bVar26 = (*(byte *)(local_70 + 10) & 0xf) == 2;\n            if (bVar26) {\n              bVar24 = false;\n              bVar26 = local_d2 == '\0';\n              if ((!bVar26) &&\n                 (((bVar13 == 0 || (bVar26 = uVar21 == 0x17, 0x17 < uVar21)) ||\n                  (bVar24 = (0x843f84U >> (uVar2 & 0x1f) & 1) != 0, !bVar24)))) {\n                local_b0 = *(undefined ****)(param_2 + 0x15c);\n                *(undefined4 *)((int)piVar18 + -0xc) = 1;\n                *(undefined4 *)((int)piVar18 + -0x10) = 0;\n                *(undefined *****)((int)piVar18 + -0x14) = &local_94;\n                *(undefined ****)((int)piVar18 + -0x18) = &local_78;\n                local_94 = local_b0 + 0xd;\n                *(undefined ****)((int)piVar18 + -0x1c) = local_94;\n                *(undefined1 **)((int)piVar18 + -0x20) = local_e0;\n                    \n                *(undefined4 *)((int)piVar18 + -0x24) = 0xd2ccb;\n                local_78 = local_c0;\n                local_74 = local_b4;\n                FUN_00074280();\n                bVar24 = (undefined1 *)0xffffffe3 < (undefined1 *)((int)piVar18 + -0x20);\n                bVar26 = piVar18 == (int *)0x4;\n                piVar18 = (int *)((int)piVar18 + -4);\n              }\n            }\n          }\n          else {\n            local_b4 = (undefined **)0x0;\n            bVar24 = false;\n            bVar13 = 0;\n            bVar26 = true;\n            local_c0 = (undefined **)0x0;\n          }\n        }\n        pbVar20 = *local_70;\n        iVar19 = 8;\n        pbVar9 = (byte *)((int)local_b8 + -0x19ca26);\n        pbVar22 = pbVar20;\n        do {\n          if (iVar19 == 0) break;\n          iVar19 = iVar19 + -1;\n          bVar24 = *pbVar9 < *pbVar22;\n          bVar26 = *pbVar9 == *pbVar22;\n          pbVar9 = pbVar9 + (uint)bVar27 * -2 + 1;\n          pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n        } while (bVar26);\n        bVar25 = false;\n        bVar24 = (!bVar24 && !bVar26) == bVar24;\n        if (bVar24) {\n          pbVar20 = pbVar20 + 8;\n        }\n        else {\n          iVar19 = 7;\n          pbVar9 = (byte *)((int)local_b8 + -0x19ca1d);\n          pbVar22 = pbVar20;\n          do {\n            if (iVar19 == 0) break;\n            iVar19 = iVar19 + -1;\n            bVar25 = *pbVar9 < *pbVar22;\n            bVar24 = *pbVar9 == *pbVar22;\n            pbVar9 = pbVar9 + (uint)bVar27 * -2 + 1;\n            pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n          } while (bVar24);\n          pbVar20 = pbVar20 + 7;\n          if ((!bVar25 && !bVar24) != bVar25) {\n            pbVar20 = local_d8;\n          }\n        }\n        local_d8 = pbVar20;\n        if (local_d1 != '\0') {\n          if (bVar13 == 0) {\n            local_34 = (undefined **)0x0;\n            local_30 = (undefined **)0x0;\n          }\n          else {\n            local_34 = local_c0;\n            local_30 = local_b4;\n          }\n          local_b0 = &local_34;\n          *(undefined ****)((int)piVar18 + -0xc) = local_b0;\n          *(int *)((int)piVar18 + -0x10) = local_c8;\n          *(undefined4 *)((int)piVar18 + -0x14) = 0xd26b9;\n          FUN_00073b00();\n          puVar1 = *(undefined4 **)(local_cc + 4);\n          if (puVar1 == *(undefined4 **)(local_cc + 8)) {\n            *(undefined ****)((int)piVar18 + -8) = &local_70;\n            *(undefined4 **)((int)piVar18 + -0xc) = puVar1;\n            *(int *)((int)piVar18 + -0x10) = local_cc;\n            *(undefined4 *)((int)piVar18 + -0x14) = 0xd2b4b;\n            FUN_000726c0();\n          }\n          else {\n            *puVar1 = local_70;\n            *(undefined4 **)(local_cc + 4) = puVar1 + 1;\n          }\n          *(undefined ****)((int)piVar18 + -0xc) = local_b0;\n          *(undefined ***)((int)piVar18 + -0x10) = local_e8;\n          local_34 = local_f0;\n          local_30 = (undefined **)0x0;\n          local_2c = local_bc;\n          local_28 = (int)local_bc >> 0x1f;\n          *(undefined4 *)((int)piVar18 + -0x14) = 0xd270d;\n          FUN_00073e70();\n          local_30 = (undefined **)0x0;\n          local_34 = (undefined **)*param_7;\n          puVar1 = *(undefined4 **)(local_d0 + 4);\n          if (puVar1 == *(undefined4 **)(local_d0 + 8)) {\n            *(undefined ****)((int)piVar18 + -8) = local_b0;\n            *(undefined4 **)((int)piVar18 + -0xc) = puVar1;\n            *(int *)((int)piVar18 + -0x10) = local_d0;\n            *(undefined4 *)((int)piVar18 + -0x14) = 0xd2bbd;\n            FUN_00072a40();\n          }\n          else {\n            *puVar1 = local_34;\n            puVar1[1] = 0;\n            *(undefined4 **)(local_d0 + 4) = puVar1 + 2;\n          }\n          local_68 = (undefined **)0x0;\n          *(undefined ****)((int)piVar18 + -0xc) = &local_68;\n          *(int *)((int)piVar18 + -0x10) = local_ec;\n          *(undefined4 *)((int)piVar18 + -0x14) = 0xd2753;\n          FUN_00074020();\n        }\n        puVar17 = (undefined1 *)piVar18;\n        if (bVar13 != 0) goto LAB_000d275e;\n      }\nLAB_000d2489:\n      local_e4 = local_e4 + 1;\n      param_7 = param_7 + 3;\n    } while (param_8 != local_e4);\n  }" ({ "{") (expression_statement "local_d8 = (byte *)0x0;" (assignment_expression "local_d8 = (byte *)0x0" (identifier "local_d8") (= "=") (cast_expression "(byte *)0x0" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "local_e0 = local_a4;" (assignment_expression "local_e0 = local_a4" (identifier "local_e0") (= "=") (identifier "local_a4")) (; ";")) (expression_statement "local_f4 = &local_8c;" (assignment_expression "local_f4 = &local_8c" (identifier "local_f4") (= "=") (pointer_expression "&local_8c" (& "&") (identifier "local_8c"))) (; ";")) (expression_statement "local_e4 = 0;" (assignment_expression "local_e4 = 0" (identifier "local_e4") (= "=") (number_literal "0")) (; ";")) (do_statement "do {\n      uVar2 = param_7[1];\n      uVar21 = uVar2 & 0xff;\n      puVar15 = (undefined *)(uVar2 >> 8);\n      local_bc = (undefined *)param_7[2];\n      if (puVar15 < param_11) {\n        if (param_12 == 0) {\n          *(undefined ***)((int)piVar18 + -8) = local_b8 + -0x615ed;\n          *(undefined4 *)((int)piVar18 + -0xc) = 0xea;\n          *(int *)((int)piVar18 + -0x10) = (int)local_b8 + -0x19ca36;\n                    \n                    \n          *(undefined **)((int)piVar18 + -0x14) = &UNK_000d2f49;\n          FUN_002446e0();\n        }\n        iVar19 = (int)puVar15 * 0x10 + param_12;\n        local_b4 = (undefined **)(uint)*(ushort *)(iVar19 + 0xe);\n        if (local_b4 < (undefined **)0xff00) {\nLAB_000d24ee:\n          ppuVar14 = *(undefined ***)(iVar19 + 4);\n          local_c4 = local_bc + (int)ppuVar14;\n          if (local_d1 != '\0') {\n            local_34 = param_4;\n            local_30 = local_b4;\n            local_b0 = &local_34;\n            *(undefined ****)((int)piVar18 + -0xc) = local_b0;\n            *(int *)((int)piVar18 + -0x10) = local_c8;\n            *(undefined4 *)((int)piVar18 + -0x14) = 0xd2533;\n            FUN_00073b00();\n            local_c0 = (undefined **)CONCAT31(local_c0._1_3_,1);\n            if ((*(byte *)(iVar19 + 0xc) & 0xf) == 3) goto LAB_000d254c;\nLAB_000d23e8:\n            *(undefined ****)((int)piVar18 + -0xc) = local_b0;\n            *(int *)((int)piVar18 + -0x10) = local_cc;\n            local_34 = (undefined **)0x0;\n            *(undefined4 *)((int)piVar18 + -0x14) = 0xd2403;\n            FUN_00073ca0();\n            goto LAB_000d2403;\n          }\n        }\n        else {\n          if (local_b4 == (undefined **)0xffff) {\n            puVar7 = param_4[0xc];\n            if (puVar7 == (undefined *)0x0) {\n              puVar7 = *param_4;\n              *(undefined ***)((int)piVar18 + -0x10) = param_4;\n              pcVar4 = *(code **)(puVar7 + 0x6c);\n              *(undefined4 *)((int)piVar18 + -0x14) = 0xd2a4e;\n              puVar7 = (undefined *)(*pcVar4)();\n              param_4[0xc] = puVar7;\n            }\n            *(undefined **)((int)piVar18 + -8) = puVar15;\n            *(undefined ***)((int)piVar18 + -0xc) = param_4;\n            *(undefined **)((int)piVar18 + -0x10) = puVar7;\n            *(undefined4 *)((int)piVar18 + -0x14) = 0xd2591;\n            local_b4 = (undefined **)FUN_0028b7d0();\n            goto LAB_000d24ee;\n          }\n          ppuVar14 = *(undefined ***)(iVar19 + 4);\n          local_c4 = local_bc + (int)ppuVar14;\n          if (local_d1 == '\0') goto LAB_000d2489;\n          local_b0 = &local_34;\n          local_34 = (undefined **)0x0;\n          *(undefined ****)((int)piVar18 + -0xc) = local_b0;\n          *(int *)((int)piVar18 + -0x10) = local_c8;\n          local_30 = (undefined **)0x0;\n                    \n          *(undefined4 *)((int)piVar18 + -0x14) = 0xd23cf;\n          FUN_00073b00();\n          local_c0 = (undefined **)((uint)local_c0 & 0xffffff00);\n          if ((*(byte *)(iVar19 + 0xc) & 0xf) != 3) goto LAB_000d23e8;\nLAB_000d254c:\n          *(undefined ****)((int)piVar18 + -0xc) = local_b0;\n          *(int *)((int)piVar18 + -0x10) = local_cc;\n          local_34 = (undefined **)0xffffffff;\n          *(undefined4 *)((int)piVar18 + -0x14) = 0xd2567;\n          FUN_00073ca0();\nLAB_000d2403:\n          *(undefined ****)((int)piVar18 + -0xc) = local_b0;\n          *(undefined ***)((int)piVar18 + -0x10) = local_e8;\n          local_2c = local_bc;\n          local_28 = (int)local_bc >> 0x1f;\n          local_30 = (undefined **)0x0;\n          *(undefined4 *)((int)piVar18 + -0x14) = 0xd2433;\n          local_34 = ppuVar14;\n          FUN_00073e70();\n          local_30 = (undefined **)0x0;\n          local_34 = (undefined **)*param_7;\n          puVar1 = *(undefined4 **)(local_d0 + 4);\n          if (puVar1 == *(undefined4 **)(local_d0 + 8)) {\n            *(undefined ****)((int)piVar18 + -8) = local_b0;\n            *(undefined4 **)((int)piVar18 + -0xc) = puVar1;\n            *(int *)((int)piVar18 + -0x10) = local_d0;\n            *(undefined4 *)((int)piVar18 + -0x14) = 0xd2b0d;\n            FUN_00072a40();\n          }\n          else {\n            *puVar1 = local_34;\n            puVar1[1] = 0;\n            *(undefined4 **)(local_d0 + 4) = puVar1 + 2;\n          }\n          local_68 = (undefined **)0x0;\n          *(undefined ****)((int)piVar18 + -0xc) = &local_68;\n          *(int *)((int)piVar18 + -0x10) = local_ec;\n          *(undefined4 *)((int)piVar18 + -0x14) = 0xd2479;\n          FUN_00074020();\n          if ((char)local_c0 == '\0') goto LAB_000d2489;\n        }\n        if (((local_d2 != '\0') && ((*(byte *)(iVar19 + 0xc) & 0xf) != 1)) &&\n           ((0x17 < uVar21 || ((0x843f84U >> (uVar2 & 0x1f) & 1) == 0)))) {\n          local_b0 = *(undefined ****)(param_2 + 0x15c);\n          local_80 = param_4;\n          local_7c = (uint)*(ushort *)(iVar19 + 0xe);\n          *(undefined4 *)((int)piVar18 + -0xc) = 1;\n          *(undefined4 *)((int)piVar18 + -0x10) = 0;\n          local_98 = local_b0 + 0xd;\n          *(undefined *****)((int)piVar18 + -0x14) = &local_98;\n          *(undefined ****)((int)piVar18 + -0x18) = &local_80;\n          *(undefined ****)((int)piVar18 + -0x1c) = local_98;\n          *(undefined1 **)((int)piVar18 + -0x20) = local_e0;\n          *(undefined4 *)((int)piVar18 + -0x24) = 0xd2ad1;\n          FUN_00074280();\n          piVar18 = (int *)((int)piVar18 + -4);\n        }\n        if (param_5 != local_b4) {\n          local_c0 = param_4;\n          puVar17 = (undefined1 *)piVar18;\nLAB_000d275e:\n          if (*(int *)(*local_dc + 8) == 0) {\n            *(undefined ***)(puVar17 + -8) = local_b8 + -0x61176;\n            *(undefined4 *)(puVar17 + -0xc) = 0x5c;\n            *(int *)(puVar17 + -0x10) = (int)local_b8 + -0x1a1d93;\n                    \n            *(undefined4 *)(puVar17 + -0x14) = 0xd2f6e;\n            FUN_002446e0();\n          }\n          piVar18 = (int *)puVar17;\n          if (*(char *)(*(int *)(*local_dc + 8) + 0x18b1) != '\0') {\n            local_70 = param_4;\n            iVar19 = *(int *)(param_2 + 0x158) + 0x14;\n            local_6c = param_5;\n            local_68 = local_c0;\n            local_64 = local_b4;\n            iVar3 = *(int *)(*(int *)(param_2 + 0x158) + 0x18);\n            iVar10 = iVar19;\n            if (iVar3 == 0) {\nLAB_000d27f0:\n              local_88 = &local_70;\n              *(undefined *****)(puVar17 + -0x10) = &local_88;\n              *(undefined4 *)(puVar17 + -0x14) = 0xd2811;\n              FUN_000c5e40();\n              iVar11 = local_a8;\n            }\n            else {\n              do {\n                while ((iVar11 = iVar3, *(undefined ***)(iVar11 + 0x10) < param_4 ||\n                       ((param_4 == *(undefined ***)(iVar11 + 0x10) &&\n                        (*(undefined ***)(iVar11 + 0x14) < param_5))))) {\n                  piVar18 = (int *)(iVar11 + 0xc);\n                  iVar3 = *piVar18;\n                  iVar11 = iVar10;\n                  if (*piVar18 == 0) goto LAB_000d27da;\n                }\n                iVar3 = *(int *)(iVar11 + 8);\n                iVar10 = iVar11;\n              } while (*(int *)(iVar11 + 8) != 0);\nLAB_000d27da:\n              if (((iVar19 == iVar11) || (param_4 < *(undefined ***)(iVar11 + 0x10))) ||\n                 ((param_4 == *(undefined ***)(iVar11 + 0x10) &&\n                  (param_5 < *(undefined ***)(iVar11 + 0x14))))) goto LAB_000d27f0;\n            }\n            local_8c = iVar11 + 0x18;\n            *(undefined4 *)(puVar17 + -0xc) = 1;\n            *(undefined4 *)(puVar17 + -0x10) = 0;\n            *(int **)(puVar17 + -0x14) = local_f4;\n            *(undefined ****)(puVar17 + -0x18) = &local_68;\n            *(int *)(puVar17 + -0x1c) = local_8c;\n            *(undefined1 **)(puVar17 + -0x20) = local_e0;\n            *(undefined4 *)(puVar17 + -0x24) = 0xd2840;\n            FUN_00074340();\n            piVar18 = *(int **)(*local_dc + 0xc);\n            if (piVar18 == (int *)0x0) {\n              *(undefined ***)(puVar17 + -0xc) = local_b8 + -0x615c4;\n              *(undefined4 *)(puVar17 + -0x10) = 0x73;\n              *(int *)(puVar17 + -0x14) = (int)local_b8 + -0x1a1d93;\n                    \n              *(undefined4 *)(puVar17 + -0x18) = 0xd2fad;\n              FUN_002446e0();\n            }\n            iVar19 = *piVar18;\n            *(undefined **)(puVar17 + -0xc) = local_c4;\n            *(undefined ***)(puVar17 + -0x10) = local_b4;\n            *(undefined ***)(puVar17 + -0x14) = local_c0;\n            *(undefined ***)(puVar17 + -0x18) = param_5;\n            *(undefined ***)(puVar17 + -0x1c) = param_4;\n            *(int *)(puVar17 + -0x20) = param_2;\n            *(int **)(puVar17 + -0x24) = piVar18;\n            pcVar4 = *(code **)(iVar19 + 0x104);\n            *(undefined4 *)(puVar17 + -0x28) = 0xd287d;\n            (*pcVar4)();\n            pbVar20 = local_d8;\n            piVar18 = (int *)(puVar17 + -4);\n            if (local_d8 != (byte *)0x0) {\n              local_b4 = &local_2c;\n              local_b0 = &local_34;\n              iVar19 = *(int *)(param_2 + 0x158);\n              *(byte **)(puVar17 + -0x14) = local_d8;\n              local_34 = local_b4;\n              *(undefined4 *)(puVar17 + -0x18) = 0xd28bd;\n              sVar6 = strlen(*(char **)(puVar17 + -0x14));\n              pppuVar5 = local_b0;\n              *(undefined4 *)(puVar17 + -8) = 0;\n              *(byte **)(puVar17 + -0xc) = pbVar20 + sVar6;\n              *(byte **)(puVar17 + -0x10) = pbVar20;\n              *(undefined ****)(puVar17 + -0x14) = local_b0;\n              *(undefined4 *)(puVar17 + -0x18) = 0xd28d2;\n              FUN_00072b90();\n              *(undefined ****)(puVar17 + -0xc) = pppuVar5;\n              *(int *)(puVar17 + -0x10) = iVar19 + 0x44;\n              *(int **)(puVar17 + -0x14) = &local_ac;\n              *(undefined4 *)(puVar17 + -0x18) = 0xd28e6;\n              FUN_00094bd0();\n              iVar19 = local_ac;\n              if (local_34 != local_b4) {\n                *(undefined ***)(puVar17 + -0x18) = local_34;\n                *(undefined4 *)(puVar17 + -0x1c) = 0xd2909;\n                FUN_003ae080();\n              }\n              piVar18 = (int *)(puVar17 + -8);\n              iVar3 = *(int *)(param_2 + 0x158);\n              if (iVar19 != iVar3 + 0x48) {\n                local_34 = param_4;\n                local_30 = param_5;\n                iVar10 = *(int *)(iVar3 + 0x18);\n                iVar11 = iVar3 + 0x14;\n                if (*(int *)(iVar3 + 0x18) == 0) {\nLAB_000d2bd8:\n                  *(undefined *****)(puVar17 + -0x18) = &local_84;\n                  local_84 = local_b0;\n                  *(undefined4 *)(puVar17 + -0x1c) = 0xd2bf6;\n                  FUN_000c5e40();\n                  iVar12 = local_a8;\n                }\n                else {\n                  do {\n                    while ((iVar12 = iVar10, *(undefined ***)(iVar12 + 0x10) < param_4 ||\n                           ((param_4 == *(undefined ***)(iVar12 + 0x10) &&\n                            (*(undefined ***)(iVar12 + 0x14) < param_5))))) {\n                      piVar18 = (int *)(iVar12 + 0xc);\n                      iVar10 = *piVar18;\n                      iVar12 = iVar11;\n                      if (*piVar18 == 0) goto LAB_000d2962;\n                    }\n                    iVar10 = *(int *)(iVar12 + 8);\n                    iVar11 = iVar12;\n                  } while (*(int *)(iVar12 + 8) != 0);\nLAB_000d2962:\n                  if (((iVar12 == iVar3 + 0x14) || (param_4 < *(undefined ***)(iVar12 + 0x10))) ||\n                     ((param_4 == *(undefined ***)(iVar12 + 0x10) &&\n                      (param_5 < *(undefined ***)(iVar12 + 0x14))))) goto LAB_000d2bd8;\n                }\n                piVar18 = (int *)(puVar17 + -8);\n                puVar17 = puVar17 + -8;\n                for (puVar1 = *(undefined4 **)(iVar19 + 0x30); puVar1 != (undefined4 *)0x0;\n                    puVar1 = (undefined4 *)*puVar1) {\n                  *(undefined4 *)(puVar17 + -0xc) = 1;\n                  *(undefined4 *)(puVar17 + -0x10) = 0;\n                  *(int **)(puVar17 + -0x14) = &local_90;\n                  *(undefined4 **)(puVar17 + -0x18) = puVar1 + 1;\n                  *(int *)(puVar17 + -0x1c) = iVar12 + 0x18;\n                  *(undefined1 **)(puVar17 + -0x20) = local_e0;\n                  *(undefined4 *)(puVar17 + -0x24) = 0xd29ae;\n                  local_90 = iVar12 + 0x18;\n                  FUN_00074340();\n                  piVar18 = (int *)(puVar17 + -4);\n                  puVar17 = puVar17 + -4;\n                }\n              }\n            }\n          }\n        }\n      }\n      else {\n        if (puVar15 < param_4[0x2c]) {\n          local_70 = (undefined **)0x0;\nLAB_000d2a1f:\n          *(undefined ***)((int)piVar18 + -8) = local_b8 + -0x615ed;\n          *(undefined4 *)((int)piVar18 + -0xc) = 0x11c;\n          *(int *)((int)piVar18 + -0x10) = (int)local_b8 + -0x19ca36;\n                    \n          *(undefined4 *)((int)piVar18 + -0x14) = 0xd2a40;\n          FUN_002446e0();\n        }\n        uVar16 = (int)puVar15 - (int)param_4[0x2c];\n        local_b0 = (undefined ***)param_4[0x30];\n        if ((uint)((int)local_b0 - (int)param_4[0x2f] >> 2) <= uVar16) {\n          *(undefined ***)((int)piVar18 + -8) = local_b8 + -0x6156c;\n          *(undefined4 *)((int)piVar18 + -0xc) = 0x8ad;\n          *(int *)((int)piVar18 + -0x10) = (int)local_b8 + -0x19cc7b;\n                    \n          *(undefined4 *)((int)piVar18 + -0x14) = 0xd2f8f;\n          FUN_002446e0();\n        }\n        local_70 = *(undefined ***)(param_4[0x2f] + uVar16 * 4);\n        if (local_70 == (undefined **)0x0) goto LAB_000d2a1f;\n        if ((*(byte *)((int)local_70 + 0x2a) & 0x10) == 0) {\n          if ((*(byte *)((int)local_70 + 0x2a) & 7) == 0) goto LAB_000d25f7;\nLAB_000d29e2:\n          local_f0 = (undefined **)local_70[0xc];\n          bVar13 = 0;\n          local_b4 = (undefined **)0x0;\n          local_c0 = (undefined **)0x0;\n          bVar24 = CARRY4((uint)local_bc,(uint)local_f0);\n          local_c4 = local_bc + (int)local_f0;\n          bVar26 = local_c4 == (undefined *)0x0;\n        }\n        else {\n          *(undefined ***)((int)piVar18 + -0xc) = local_70;\n          *(int *)((int)piVar18 + -0x10) = param_2;\n          *(undefined4 *)((int)piVar18 + -0x14) = 0xd29d2;\n          local_70 = (undefined **)FUN_0034cd90();\n          if ((*(byte *)((int)local_70 + 0x2a) & 7) != 0) goto LAB_000d29e2;\nLAB_000d25f7:\n          local_f0 = (undefined **)local_70[0xc];\n          local_c0 = (undefined **)local_70[2];\n          local_c4 = local_bc + (int)local_f0;\n          if (((uint)local_c0[0xb] & 1) == 0) {\n            local_b4 = (undefined **)local_70[3];\n            bVar13 = *(byte *)((int)local_70 + 0x2b) >> 5 & 1;\n            bVar24 = (*(byte *)(local_70 + 10) & 0xf) < 2;\n            bVar26 = (*(byte *)(local_70 + 10) & 0xf) == 2;\n            if (bVar26) {\n              bVar24 = false;\n              bVar26 = local_d2 == '\0';\n              if ((!bVar26) &&\n                 (((bVar13 == 0 || (bVar26 = uVar21 == 0x17, 0x17 < uVar21)) ||\n                  (bVar24 = (0x843f84U >> (uVar2 & 0x1f) & 1) != 0, !bVar24)))) {\n                local_b0 = *(undefined ****)(param_2 + 0x15c);\n                *(undefined4 *)((int)piVar18 + -0xc) = 1;\n                *(undefined4 *)((int)piVar18 + -0x10) = 0;\n                *(undefined *****)((int)piVar18 + -0x14) = &local_94;\n                *(undefined ****)((int)piVar18 + -0x18) = &local_78;\n                local_94 = local_b0 + 0xd;\n                *(undefined ****)((int)piVar18 + -0x1c) = local_94;\n                *(undefined1 **)((int)piVar18 + -0x20) = local_e0;\n                    \n                *(undefined4 *)((int)piVar18 + -0x24) = 0xd2ccb;\n                local_78 = local_c0;\n                local_74 = local_b4;\n                FUN_00074280();\n                bVar24 = (undefined1 *)0xffffffe3 < (undefined1 *)((int)piVar18 + -0x20);\n                bVar26 = piVar18 == (int *)0x4;\n                piVar18 = (int *)((int)piVar18 + -4);\n              }\n            }\n          }\n          else {\n            local_b4 = (undefined **)0x0;\n            bVar24 = false;\n            bVar13 = 0;\n            bVar26 = true;\n            local_c0 = (undefined **)0x0;\n          }\n        }\n        pbVar20 = *local_70;\n        iVar19 = 8;\n        pbVar9 = (byte *)((int)local_b8 + -0x19ca26);\n        pbVar22 = pbVar20;\n        do {\n          if (iVar19 == 0) break;\n          iVar19 = iVar19 + -1;\n          bVar24 = *pbVar9 < *pbVar22;\n          bVar26 = *pbVar9 == *pbVar22;\n          pbVar9 = pbVar9 + (uint)bVar27 * -2 + 1;\n          pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n        } while (bVar26);\n        bVar25 = false;\n        bVar24 = (!bVar24 && !bVar26) == bVar24;\n        if (bVar24) {\n          pbVar20 = pbVar20 + 8;\n        }\n        else {\n          iVar19 = 7;\n          pbVar9 = (byte *)((int)local_b8 + -0x19ca1d);\n          pbVar22 = pbVar20;\n          do {\n            if (iVar19 == 0) break;\n            iVar19 = iVar19 + -1;\n            bVar25 = *pbVar9 < *pbVar22;\n            bVar24 = *pbVar9 == *pbVar22;\n            pbVar9 = pbVar9 + (uint)bVar27 * -2 + 1;\n            pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n          } while (bVar24);\n          pbVar20 = pbVar20 + 7;\n          if ((!bVar25 && !bVar24) != bVar25) {\n            pbVar20 = local_d8;\n          }\n        }\n        local_d8 = pbVar20;\n        if (local_d1 != '\0') {\n          if (bVar13 == 0) {\n            local_34 = (undefined **)0x0;\n            local_30 = (undefined **)0x0;\n          }\n          else {\n            local_34 = local_c0;\n            local_30 = local_b4;\n          }\n          local_b0 = &local_34;\n          *(undefined ****)((int)piVar18 + -0xc) = local_b0;\n          *(int *)((int)piVar18 + -0x10) = local_c8;\n          *(undefined4 *)((int)piVar18 + -0x14) = 0xd26b9;\n          FUN_00073b00();\n          puVar1 = *(undefined4 **)(local_cc + 4);\n          if (puVar1 == *(undefined4 **)(local_cc + 8)) {\n            *(undefined ****)((int)piVar18 + -8) = &local_70;\n            *(undefined4 **)((int)piVar18 + -0xc) = puVar1;\n            *(int *)((int)piVar18 + -0x10) = local_cc;\n            *(undefined4 *)((int)piVar18 + -0x14) = 0xd2b4b;\n            FUN_000726c0();\n          }\n          else {\n            *puVar1 = local_70;\n            *(undefined4 **)(local_cc + 4) = puVar1 + 1;\n          }\n          *(undefined ****)((int)piVar18 + -0xc) = local_b0;\n          *(undefined ***)((int)piVar18 + -0x10) = local_e8;\n          local_34 = local_f0;\n          local_30 = (undefined **)0x0;\n          local_2c = local_bc;\n          local_28 = (int)local_bc >> 0x1f;\n          *(undefined4 *)((int)piVar18 + -0x14) = 0xd270d;\n          FUN_00073e70();\n          local_30 = (undefined **)0x0;\n          local_34 = (undefined **)*param_7;\n          puVar1 = *(undefined4 **)(local_d0 + 4);\n          if (puVar1 == *(undefined4 **)(local_d0 + 8)) {\n            *(undefined ****)((int)piVar18 + -8) = local_b0;\n            *(undefined4 **)((int)piVar18 + -0xc) = puVar1;\n            *(int *)((int)piVar18 + -0x10) = local_d0;\n            *(undefined4 *)((int)piVar18 + -0x14) = 0xd2bbd;\n            FUN_00072a40();\n          }\n          else {\n            *puVar1 = local_34;\n            puVar1[1] = 0;\n            *(undefined4 **)(local_d0 + 4) = puVar1 + 2;\n          }\n          local_68 = (undefined **)0x0;\n          *(undefined ****)((int)piVar18 + -0xc) = &local_68;\n          *(int *)((int)piVar18 + -0x10) = local_ec;\n          *(undefined4 *)((int)piVar18 + -0x14) = 0xd2753;\n          FUN_00074020();\n        }\n        puVar17 = (undefined1 *)piVar18;\n        if (bVar13 != 0) goto LAB_000d275e;\n      }\nLAB_000d2489:\n      local_e4 = local_e4 + 1;\n      param_7 = param_7 + 3;\n    } while (param_8 != local_e4);" (do "do") (compound_statement "{\n      uVar2 = param_7[1];\n      uVar21 = uVar2 & 0xff;\n      puVar15 = (undefined *)(uVar2 >> 8);\n      local_bc = (undefined *)param_7[2];\n      if (puVar15 < param_11) {\n        if (param_12 == 0) {\n          *(undefined ***)((int)piVar18 + -8) = local_b8 + -0x615ed;\n          *(undefined4 *)((int)piVar18 + -0xc) = 0xea;\n          *(int *)((int)piVar18 + -0x10) = (int)local_b8 + -0x19ca36;\n                    \n                    \n          *(undefined **)((int)piVar18 + -0x14) = &UNK_000d2f49;\n          FUN_002446e0();\n        }\n        iVar19 = (int)puVar15 * 0x10 + param_12;\n        local_b4 = (undefined **)(uint)*(ushort *)(iVar19 + 0xe);\n        if (local_b4 < (undefined **)0xff00) {\nLAB_000d24ee:\n          ppuVar14 = *(undefined ***)(iVar19 + 4);\n          local_c4 = local_bc + (int)ppuVar14;\n          if (local_d1 != '\0') {\n            local_34 = param_4;\n            local_30 = local_b4;\n            local_b0 = &local_34;\n            *(undefined ****)((int)piVar18 + -0xc) = local_b0;\n            *(int *)((int)piVar18 + -0x10) = local_c8;\n            *(undefined4 *)((int)piVar18 + -0x14) = 0xd2533;\n            FUN_00073b00();\n            local_c0 = (undefined **)CONCAT31(local_c0._1_3_,1);\n            if ((*(byte *)(iVar19 + 0xc) & 0xf) == 3) goto LAB_000d254c;\nLAB_000d23e8:\n            *(undefined ****)((int)piVar18 + -0xc) = local_b0;\n            *(int *)((int)piVar18 + -0x10) = local_cc;\n            local_34 = (undefined **)0x0;\n            *(undefined4 *)((int)piVar18 + -0x14) = 0xd2403;\n            FUN_00073ca0();\n            goto LAB_000d2403;\n          }\n        }\n        else {\n          if (local_b4 == (undefined **)0xffff) {\n            puVar7 = param_4[0xc];\n            if (puVar7 == (undefined *)0x0) {\n              puVar7 = *param_4;\n              *(undefined ***)((int)piVar18 + -0x10) = param_4;\n              pcVar4 = *(code **)(puVar7 + 0x6c);\n              *(undefined4 *)((int)piVar18 + -0x14) = 0xd2a4e;\n              puVar7 = (undefined *)(*pcVar4)();\n              param_4[0xc] = puVar7;\n            }\n            *(undefined **)((int)piVar18 + -8) = puVar15;\n            *(undefined ***)((int)piVar18 + -0xc) = param_4;\n            *(undefined **)((int)piVar18 + -0x10) = puVar7;\n            *(undefined4 *)((int)piVar18 + -0x14) = 0xd2591;\n            local_b4 = (undefined **)FUN_0028b7d0();\n            goto LAB_000d24ee;\n          }\n          ppuVar14 = *(undefined ***)(iVar19 + 4);\n          local_c4 = local_bc + (int)ppuVar14;\n          if (local_d1 == '\0') goto LAB_000d2489;\n          local_b0 = &local_34;\n          local_34 = (undefined **)0x0;\n          *(undefined ****)((int)piVar18 + -0xc) = local_b0;\n          *(int *)((int)piVar18 + -0x10) = local_c8;\n          local_30 = (undefined **)0x0;\n                    \n          *(undefined4 *)((int)piVar18 + -0x14) = 0xd23cf;\n          FUN_00073b00();\n          local_c0 = (undefined **)((uint)local_c0 & 0xffffff00);\n          if ((*(byte *)(iVar19 + 0xc) & 0xf) != 3) goto LAB_000d23e8;\nLAB_000d254c:\n          *(undefined ****)((int)piVar18 + -0xc) = local_b0;\n          *(int *)((int)piVar18 + -0x10) = local_cc;\n          local_34 = (undefined **)0xffffffff;\n          *(undefined4 *)((int)piVar18 + -0x14) = 0xd2567;\n          FUN_00073ca0();\nLAB_000d2403:\n          *(undefined ****)((int)piVar18 + -0xc) = local_b0;\n          *(undefined ***)((int)piVar18 + -0x10) = local_e8;\n          local_2c = local_bc;\n          local_28 = (int)local_bc >> 0x1f;\n          local_30 = (undefined **)0x0;\n          *(undefined4 *)((int)piVar18 + -0x14) = 0xd2433;\n          local_34 = ppuVar14;\n          FUN_00073e70();\n          local_30 = (undefined **)0x0;\n          local_34 = (undefined **)*param_7;\n          puVar1 = *(undefined4 **)(local_d0 + 4);\n          if (puVar1 == *(undefined4 **)(local_d0 + 8)) {\n            *(undefined ****)((int)piVar18 + -8) = local_b0;\n            *(undefined4 **)((int)piVar18 + -0xc) = puVar1;\n            *(int *)((int)piVar18 + -0x10) = local_d0;\n            *(undefined4 *)((int)piVar18 + -0x14) = 0xd2b0d;\n            FUN_00072a40();\n          }\n          else {\n            *puVar1 = local_34;\n            puVar1[1] = 0;\n            *(undefined4 **)(local_d0 + 4) = puVar1 + 2;\n          }\n          local_68 = (undefined **)0x0;\n          *(undefined ****)((int)piVar18 + -0xc) = &local_68;\n          *(int *)((int)piVar18 + -0x10) = local_ec;\n          *(undefined4 *)((int)piVar18 + -0x14) = 0xd2479;\n          FUN_00074020();\n          if ((char)local_c0 == '\0') goto LAB_000d2489;\n        }\n        if (((local_d2 != '\0') && ((*(byte *)(iVar19 + 0xc) & 0xf) != 1)) &&\n           ((0x17 < uVar21 || ((0x843f84U >> (uVar2 & 0x1f) & 1) == 0)))) {\n          local_b0 = *(undefined ****)(param_2 + 0x15c);\n          local_80 = param_4;\n          local_7c = (uint)*(ushort *)(iVar19 + 0xe);\n          *(undefined4 *)((int)piVar18 + -0xc) = 1;\n          *(undefined4 *)((int)piVar18 + -0x10) = 0;\n          local_98 = local_b0 + 0xd;\n          *(undefined *****)((int)piVar18 + -0x14) = &local_98;\n          *(undefined ****)((int)piVar18 + -0x18) = &local_80;\n          *(undefined ****)((int)piVar18 + -0x1c) = local_98;\n          *(undefined1 **)((int)piVar18 + -0x20) = local_e0;\n          *(undefined4 *)((int)piVar18 + -0x24) = 0xd2ad1;\n          FUN_00074280();\n          piVar18 = (int *)((int)piVar18 + -4);\n        }\n        if (param_5 != local_b4) {\n          local_c0 = param_4;\n          puVar17 = (undefined1 *)piVar18;\nLAB_000d275e:\n          if (*(int *)(*local_dc + 8) == 0) {\n            *(undefined ***)(puVar17 + -8) = local_b8 + -0x61176;\n            *(undefined4 *)(puVar17 + -0xc) = 0x5c;\n            *(int *)(puVar17 + -0x10) = (int)local_b8 + -0x1a1d93;\n                    \n            *(undefined4 *)(puVar17 + -0x14) = 0xd2f6e;\n            FUN_002446e0();\n          }\n          piVar18 = (int *)puVar17;\n          if (*(char *)(*(int *)(*local_dc + 8) + 0x18b1) != '\0') {\n            local_70 = param_4;\n            iVar19 = *(int *)(param_2 + 0x158) + 0x14;\n            local_6c = param_5;\n            local_68 = local_c0;\n            local_64 = local_b4;\n            iVar3 = *(int *)(*(int *)(param_2 + 0x158) + 0x18);\n            iVar10 = iVar19;\n            if (iVar3 == 0) {\nLAB_000d27f0:\n              local_88 = &local_70;\n              *(undefined *****)(puVar17 + -0x10) = &local_88;\n              *(undefined4 *)(puVar17 + -0x14) = 0xd2811;\n              FUN_000c5e40();\n              iVar11 = local_a8;\n            }\n            else {\n              do {\n                while ((iVar11 = iVar3, *(undefined ***)(iVar11 + 0x10) < param_4 ||\n                       ((param_4 == *(undefined ***)(iVar11 + 0x10) &&\n                        (*(undefined ***)(iVar11 + 0x14) < param_5))))) {\n                  piVar18 = (int *)(iVar11 + 0xc);\n                  iVar3 = *piVar18;\n                  iVar11 = iVar10;\n                  if (*piVar18 == 0) goto LAB_000d27da;\n                }\n                iVar3 = *(int *)(iVar11 + 8);\n                iVar10 = iVar11;\n              } while (*(int *)(iVar11 + 8) != 0);\nLAB_000d27da:\n              if (((iVar19 == iVar11) || (param_4 < *(undefined ***)(iVar11 + 0x10))) ||\n                 ((param_4 == *(undefined ***)(iVar11 + 0x10) &&\n                  (param_5 < *(undefined ***)(iVar11 + 0x14))))) goto LAB_000d27f0;\n            }\n            local_8c = iVar11 + 0x18;\n            *(undefined4 *)(puVar17 + -0xc) = 1;\n            *(undefined4 *)(puVar17 + -0x10) = 0;\n            *(int **)(puVar17 + -0x14) = local_f4;\n            *(undefined ****)(puVar17 + -0x18) = &local_68;\n            *(int *)(puVar17 + -0x1c) = local_8c;\n            *(undefined1 **)(puVar17 + -0x20) = local_e0;\n            *(undefined4 *)(puVar17 + -0x24) = 0xd2840;\n            FUN_00074340();\n            piVar18 = *(int **)(*local_dc + 0xc);\n            if (piVar18 == (int *)0x0) {\n              *(undefined ***)(puVar17 + -0xc) = local_b8 + -0x615c4;\n              *(undefined4 *)(puVar17 + -0x10) = 0x73;\n              *(int *)(puVar17 + -0x14) = (int)local_b8 + -0x1a1d93;\n                    \n              *(undefined4 *)(puVar17 + -0x18) = 0xd2fad;\n              FUN_002446e0();\n            }\n            iVar19 = *piVar18;\n            *(undefined **)(puVar17 + -0xc) = local_c4;\n            *(undefined ***)(puVar17 + -0x10) = local_b4;\n            *(undefined ***)(puVar17 + -0x14) = local_c0;\n            *(undefined ***)(puVar17 + -0x18) = param_5;\n            *(undefined ***)(puVar17 + -0x1c) = param_4;\n            *(int *)(puVar17 + -0x20) = param_2;\n            *(int **)(puVar17 + -0x24) = piVar18;\n            pcVar4 = *(code **)(iVar19 + 0x104);\n            *(undefined4 *)(puVar17 + -0x28) = 0xd287d;\n            (*pcVar4)();\n            pbVar20 = local_d8;\n            piVar18 = (int *)(puVar17 + -4);\n            if (local_d8 != (byte *)0x0) {\n              local_b4 = &local_2c;\n              local_b0 = &local_34;\n              iVar19 = *(int *)(param_2 + 0x158);\n              *(byte **)(puVar17 + -0x14) = local_d8;\n              local_34 = local_b4;\n              *(undefined4 *)(puVar17 + -0x18) = 0xd28bd;\n              sVar6 = strlen(*(char **)(puVar17 + -0x14));\n              pppuVar5 = local_b0;\n              *(undefined4 *)(puVar17 + -8) = 0;\n              *(byte **)(puVar17 + -0xc) = pbVar20 + sVar6;\n              *(byte **)(puVar17 + -0x10) = pbVar20;\n              *(undefined ****)(puVar17 + -0x14) = local_b0;\n              *(undefined4 *)(puVar17 + -0x18) = 0xd28d2;\n              FUN_00072b90();\n              *(undefined ****)(puVar17 + -0xc) = pppuVar5;\n              *(int *)(puVar17 + -0x10) = iVar19 + 0x44;\n              *(int **)(puVar17 + -0x14) = &local_ac;\n              *(undefined4 *)(puVar17 + -0x18) = 0xd28e6;\n              FUN_00094bd0();\n              iVar19 = local_ac;\n              if (local_34 != local_b4) {\n                *(undefined ***)(puVar17 + -0x18) = local_34;\n                *(undefined4 *)(puVar17 + -0x1c) = 0xd2909;\n                FUN_003ae080();\n              }\n              piVar18 = (int *)(puVar17 + -8);\n              iVar3 = *(int *)(param_2 + 0x158);\n              if (iVar19 != iVar3 + 0x48) {\n                local_34 = param_4;\n                local_30 = param_5;\n                iVar10 = *(int *)(iVar3 + 0x18);\n                iVar11 = iVar3 + 0x14;\n                if (*(int *)(iVar3 + 0x18) == 0) {\nLAB_000d2bd8:\n                  *(undefined *****)(puVar17 + -0x18) = &local_84;\n                  local_84 = local_b0;\n                  *(undefined4 *)(puVar17 + -0x1c) = 0xd2bf6;\n                  FUN_000c5e40();\n                  iVar12 = local_a8;\n                }\n                else {\n                  do {\n                    while ((iVar12 = iVar10, *(undefined ***)(iVar12 + 0x10) < param_4 ||\n                           ((param_4 == *(undefined ***)(iVar12 + 0x10) &&\n                            (*(undefined ***)(iVar12 + 0x14) < param_5))))) {\n                      piVar18 = (int *)(iVar12 + 0xc);\n                      iVar10 = *piVar18;\n                      iVar12 = iVar11;\n                      if (*piVar18 == 0) goto LAB_000d2962;\n                    }\n                    iVar10 = *(int *)(iVar12 + 8);\n                    iVar11 = iVar12;\n                  } while (*(int *)(iVar12 + 8) != 0);\nLAB_000d2962:\n                  if (((iVar12 == iVar3 + 0x14) || (param_4 < *(undefined ***)(iVar12 + 0x10))) ||\n                     ((param_4 == *(undefined ***)(iVar12 + 0x10) &&\n                      (param_5 < *(undefined ***)(iVar12 + 0x14))))) goto LAB_000d2bd8;\n                }\n                piVar18 = (int *)(puVar17 + -8);\n                puVar17 = puVar17 + -8;\n                for (puVar1 = *(undefined4 **)(iVar19 + 0x30); puVar1 != (undefined4 *)0x0;\n                    puVar1 = (undefined4 *)*puVar1) {\n                  *(undefined4 *)(puVar17 + -0xc) = 1;\n                  *(undefined4 *)(puVar17 + -0x10) = 0;\n                  *(int **)(puVar17 + -0x14) = &local_90;\n                  *(undefined4 **)(puVar17 + -0x18) = puVar1 + 1;\n                  *(int *)(puVar17 + -0x1c) = iVar12 + 0x18;\n                  *(undefined1 **)(puVar17 + -0x20) = local_e0;\n                  *(undefined4 *)(puVar17 + -0x24) = 0xd29ae;\n                  local_90 = iVar12 + 0x18;\n                  FUN_00074340();\n                  piVar18 = (int *)(puVar17 + -4);\n                  puVar17 = puVar17 + -4;\n                }\n              }\n            }\n          }\n        }\n      }\n      else {\n        if (puVar15 < param_4[0x2c]) {\n          local_70 = (undefined **)0x0;\nLAB_000d2a1f:\n          *(undefined ***)((int)piVar18 + -8) = local_b8 + -0x615ed;\n          *(undefined4 *)((int)piVar18 + -0xc) = 0x11c;\n          *(int *)((int)piVar18 + -0x10) = (int)local_b8 + -0x19ca36;\n                    \n          *(undefined4 *)((int)piVar18 + -0x14) = 0xd2a40;\n          FUN_002446e0();\n        }\n        uVar16 = (int)puVar15 - (int)param_4[0x2c];\n        local_b0 = (undefined ***)param_4[0x30];\n        if ((uint)((int)local_b0 - (int)param_4[0x2f] >> 2) <= uVar16) {\n          *(undefined ***)((int)piVar18 + -8) = local_b8 + -0x6156c;\n          *(undefined4 *)((int)piVar18 + -0xc) = 0x8ad;\n          *(int *)((int)piVar18 + -0x10) = (int)local_b8 + -0x19cc7b;\n                    \n          *(undefined4 *)((int)piVar18 + -0x14) = 0xd2f8f;\n          FUN_002446e0();\n        }\n        local_70 = *(undefined ***)(param_4[0x2f] + uVar16 * 4);\n        if (local_70 == (undefined **)0x0) goto LAB_000d2a1f;\n        if ((*(byte *)((int)local_70 + 0x2a) & 0x10) == 0) {\n          if ((*(byte *)((int)local_70 + 0x2a) & 7) == 0) goto LAB_000d25f7;\nLAB_000d29e2:\n          local_f0 = (undefined **)local_70[0xc];\n          bVar13 = 0;\n          local_b4 = (undefined **)0x0;\n          local_c0 = (undefined **)0x0;\n          bVar24 = CARRY4((uint)local_bc,(uint)local_f0);\n          local_c4 = local_bc + (int)local_f0;\n          bVar26 = local_c4 == (undefined *)0x0;\n        }\n        else {\n          *(undefined ***)((int)piVar18 + -0xc) = local_70;\n          *(int *)((int)piVar18 + -0x10) = param_2;\n          *(undefined4 *)((int)piVar18 + -0x14) = 0xd29d2;\n          local_70 = (undefined **)FUN_0034cd90();\n          if ((*(byte *)((int)local_70 + 0x2a) & 7) != 0) goto LAB_000d29e2;\nLAB_000d25f7:\n          local_f0 = (undefined **)local_70[0xc];\n          local_c0 = (undefined **)local_70[2];\n          local_c4 = local_bc + (int)local_f0;\n          if (((uint)local_c0[0xb] & 1) == 0) {\n            local_b4 = (undefined **)local_70[3];\n            bVar13 = *(byte *)((int)local_70 + 0x2b) >> 5 & 1;\n            bVar24 = (*(byte *)(local_70 + 10) & 0xf) < 2;\n            bVar26 = (*(byte *)(local_70 + 10) & 0xf) == 2;\n            if (bVar26) {\n              bVar24 = false;\n              bVar26 = local_d2 == '\0';\n              if ((!bVar26) &&\n                 (((bVar13 == 0 || (bVar26 = uVar21 == 0x17, 0x17 < uVar21)) ||\n                  (bVar24 = (0x843f84U >> (uVar2 & 0x1f) & 1) != 0, !bVar24)))) {\n                local_b0 = *(undefined ****)(param_2 + 0x15c);\n                *(undefined4 *)((int)piVar18 + -0xc) = 1;\n                *(undefined4 *)((int)piVar18 + -0x10) = 0;\n                *(undefined *****)((int)piVar18 + -0x14) = &local_94;\n                *(undefined ****)((int)piVar18 + -0x18) = &local_78;\n                local_94 = local_b0 + 0xd;\n                *(undefined ****)((int)piVar18 + -0x1c) = local_94;\n                *(undefined1 **)((int)piVar18 + -0x20) = local_e0;\n                    \n                *(undefined4 *)((int)piVar18 + -0x24) = 0xd2ccb;\n                local_78 = local_c0;\n                local_74 = local_b4;\n                FUN_00074280();\n                bVar24 = (undefined1 *)0xffffffe3 < (undefined1 *)((int)piVar18 + -0x20);\n                bVar26 = piVar18 == (int *)0x4;\n                piVar18 = (int *)((int)piVar18 + -4);\n              }\n            }\n          }\n          else {\n            local_b4 = (undefined **)0x0;\n            bVar24 = false;\n            bVar13 = 0;\n            bVar26 = true;\n            local_c0 = (undefined **)0x0;\n          }\n        }\n        pbVar20 = *local_70;\n        iVar19 = 8;\n        pbVar9 = (byte *)((int)local_b8 + -0x19ca26);\n        pbVar22 = pbVar20;\n        do {\n          if (iVar19 == 0) break;\n          iVar19 = iVar19 + -1;\n          bVar24 = *pbVar9 < *pbVar22;\n          bVar26 = *pbVar9 == *pbVar22;\n          pbVar9 = pbVar9 + (uint)bVar27 * -2 + 1;\n          pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n        } while (bVar26);\n        bVar25 = false;\n        bVar24 = (!bVar24 && !bVar26) == bVar24;\n        if (bVar24) {\n          pbVar20 = pbVar20 + 8;\n        }\n        else {\n          iVar19 = 7;\n          pbVar9 = (byte *)((int)local_b8 + -0x19ca1d);\n          pbVar22 = pbVar20;\n          do {\n            if (iVar19 == 0) break;\n            iVar19 = iVar19 + -1;\n            bVar25 = *pbVar9 < *pbVar22;\n            bVar24 = *pbVar9 == *pbVar22;\n            pbVar9 = pbVar9 + (uint)bVar27 * -2 + 1;\n            pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n          } while (bVar24);\n          pbVar20 = pbVar20 + 7;\n          if ((!bVar25 && !bVar24) != bVar25) {\n            pbVar20 = local_d8;\n          }\n        }\n        local_d8 = pbVar20;\n        if (local_d1 != '\0') {\n          if (bVar13 == 0) {\n            local_34 = (undefined **)0x0;\n            local_30 = (undefined **)0x0;\n          }\n          else {\n            local_34 = local_c0;\n            local_30 = local_b4;\n          }\n          local_b0 = &local_34;\n          *(undefined ****)((int)piVar18 + -0xc) = local_b0;\n          *(int *)((int)piVar18 + -0x10) = local_c8;\n          *(undefined4 *)((int)piVar18 + -0x14) = 0xd26b9;\n          FUN_00073b00();\n          puVar1 = *(undefined4 **)(local_cc + 4);\n          if (puVar1 == *(undefined4 **)(local_cc + 8)) {\n            *(undefined ****)((int)piVar18 + -8) = &local_70;\n            *(undefined4 **)((int)piVar18 + -0xc) = puVar1;\n            *(int *)((int)piVar18 + -0x10) = local_cc;\n            *(undefined4 *)((int)piVar18 + -0x14) = 0xd2b4b;\n            FUN_000726c0();\n          }\n          else {\n            *puVar1 = local_70;\n            *(undefined4 **)(local_cc + 4) = puVar1 + 1;\n          }\n          *(undefined ****)((int)piVar18 + -0xc) = local_b0;\n          *(undefined ***)((int)piVar18 + -0x10) = local_e8;\n          local_34 = local_f0;\n          local_30 = (undefined **)0x0;\n          local_2c = local_bc;\n          local_28 = (int)local_bc >> 0x1f;\n          *(undefined4 *)((int)piVar18 + -0x14) = 0xd270d;\n          FUN_00073e70();\n          local_30 = (undefined **)0x0;\n          local_34 = (undefined **)*param_7;\n          puVar1 = *(undefined4 **)(local_d0 + 4);\n          if (puVar1 == *(undefined4 **)(local_d0 + 8)) {\n            *(undefined ****)((int)piVar18 + -8) = local_b0;\n            *(undefined4 **)((int)piVar18 + -0xc) = puVar1;\n            *(int *)((int)piVar18 + -0x10) = local_d0;\n            *(undefined4 *)((int)piVar18 + -0x14) = 0xd2bbd;\n            FUN_00072a40();\n          }\n          else {\n            *puVar1 = local_34;\n            puVar1[1] = 0;\n            *(undefined4 **)(local_d0 + 4) = puVar1 + 2;\n          }\n          local_68 = (undefined **)0x0;\n          *(undefined ****)((int)piVar18 + -0xc) = &local_68;\n          *(int *)((int)piVar18 + -0x10) = local_ec;\n          *(undefined4 *)((int)piVar18 + -0x14) = 0xd2753;\n          FUN_00074020();\n        }\n        puVar17 = (undefined1 *)piVar18;\n        if (bVar13 != 0) goto LAB_000d275e;\n      }\nLAB_000d2489:\n      local_e4 = local_e4 + 1;\n      param_7 = param_7 + 3;\n    }" ({ "{") (expression_statement "uVar2 = param_7[1];" (assignment_expression "uVar2 = param_7[1]" (identifier "uVar2") (= "=") (subscript_expression "param_7[1]" (identifier "param_7") ([ "[") (number_literal "1") (] "]"))) (; ";")) (expression_statement "uVar21 = uVar2 & 0xff;" (assignment_expression "uVar21 = uVar2 & 0xff" (identifier "uVar21") (= "=") (binary_expression "uVar2 & 0xff" (identifier "uVar2") (& "&") (number_literal "0xff"))) (; ";")) (expression_statement "puVar15 = (undefined *)(uVar2 >> 8);" (assignment_expression "puVar15 = (undefined *)(uVar2 >> 8)" (identifier "puVar15") (= "=") (cast_expression "(undefined *)(uVar2 >> 8)" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(uVar2 >> 8)" (( "(") (binary_expression "uVar2 >> 8" (identifier "uVar2") (>> ">>") (number_literal "8")) () ")")))) (; ";")) (expression_statement "local_bc = (undefined *)param_7[2];" (assignment_expression "local_bc = (undefined *)param_7[2]" (identifier "local_bc") (= "=") (cast_expression "(undefined *)param_7[2]" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "param_7[2]" (identifier "param_7") ([ "[") (number_literal "2") (] "]")))) (; ";")) (if_statement "if (puVar15 < param_11) {\n        if (param_12 == 0) {\n          *(undefined ***)((int)piVar18 + -8) = local_b8 + -0x615ed;\n          *(undefined4 *)((int)piVar18 + -0xc) = 0xea;\n          *(int *)((int)piVar18 + -0x10) = (int)local_b8 + -0x19ca36;\n                    \n                    \n          *(undefined **)((int)piVar18 + -0x14) = &UNK_000d2f49;\n          FUN_002446e0();\n        }\n        iVar19 = (int)puVar15 * 0x10 + param_12;\n        local_b4 = (undefined **)(uint)*(ushort *)(iVar19 + 0xe);\n        if (local_b4 < (undefined **)0xff00) {\nLAB_000d24ee:\n          ppuVar14 = *(undefined ***)(iVar19 + 4);\n          local_c4 = local_bc + (int)ppuVar14;\n          if (local_d1 != '\0') {\n            local_34 = param_4;\n            local_30 = local_b4;\n            local_b0 = &local_34;\n            *(undefined ****)((int)piVar18 + -0xc) = local_b0;\n            *(int *)((int)piVar18 + -0x10) = local_c8;\n            *(undefined4 *)((int)piVar18 + -0x14) = 0xd2533;\n            FUN_00073b00();\n            local_c0 = (undefined **)CONCAT31(local_c0._1_3_,1);\n            if ((*(byte *)(iVar19 + 0xc) & 0xf) == 3) goto LAB_000d254c;\nLAB_000d23e8:\n            *(undefined ****)((int)piVar18 + -0xc) = local_b0;\n            *(int *)((int)piVar18 + -0x10) = local_cc;\n            local_34 = (undefined **)0x0;\n            *(undefined4 *)((int)piVar18 + -0x14) = 0xd2403;\n            FUN_00073ca0();\n            goto LAB_000d2403;\n          }\n        }\n        else {\n          if (local_b4 == (undefined **)0xffff) {\n            puVar7 = param_4[0xc];\n            if (puVar7 == (undefined *)0x0) {\n              puVar7 = *param_4;\n              *(undefined ***)((int)piVar18 + -0x10) = param_4;\n              pcVar4 = *(code **)(puVar7 + 0x6c);\n              *(undefined4 *)((int)piVar18 + -0x14) = 0xd2a4e;\n              puVar7 = (undefined *)(*pcVar4)();\n              param_4[0xc] = puVar7;\n            }\n            *(undefined **)((int)piVar18 + -8) = puVar15;\n            *(undefined ***)((int)piVar18 + -0xc) = param_4;\n            *(undefined **)((int)piVar18 + -0x10) = puVar7;\n            *(undefined4 *)((int)piVar18 + -0x14) = 0xd2591;\n            local_b4 = (undefined **)FUN_0028b7d0();\n            goto LAB_000d24ee;\n          }\n          ppuVar14 = *(undefined ***)(iVar19 + 4);\n          local_c4 = local_bc + (int)ppuVar14;\n          if (local_d1 == '\0') goto LAB_000d2489;\n          local_b0 = &local_34;\n          local_34 = (undefined **)0x0;\n          *(undefined ****)((int)piVar18 + -0xc) = local_b0;\n          *(int *)((int)piVar18 + -0x10) = local_c8;\n          local_30 = (undefined **)0x0;\n                    \n          *(undefined4 *)((int)piVar18 + -0x14) = 0xd23cf;\n          FUN_00073b00();\n          local_c0 = (undefined **)((uint)local_c0 & 0xffffff00);\n          if ((*(byte *)(iVar19 + 0xc) & 0xf) != 3) goto LAB_000d23e8;\nLAB_000d254c:\n          *(undefined ****)((int)piVar18 + -0xc) = local_b0;\n          *(int *)((int)piVar18 + -0x10) = local_cc;\n          local_34 = (undefined **)0xffffffff;\n          *(undefined4 *)((int)piVar18 + -0x14) = 0xd2567;\n          FUN_00073ca0();\nLAB_000d2403:\n          *(undefined ****)((int)piVar18 + -0xc) = local_b0;\n          *(undefined ***)((int)piVar18 + -0x10) = local_e8;\n          local_2c = local_bc;\n          local_28 = (int)local_bc >> 0x1f;\n          local_30 = (undefined **)0x0;\n          *(undefined4 *)((int)piVar18 + -0x14) = 0xd2433;\n          local_34 = ppuVar14;\n          FUN_00073e70();\n          local_30 = (undefined **)0x0;\n          local_34 = (undefined **)*param_7;\n          puVar1 = *(undefined4 **)(local_d0 + 4);\n          if (puVar1 == *(undefined4 **)(local_d0 + 8)) {\n            *(undefined ****)((int)piVar18 + -8) = local_b0;\n            *(undefined4 **)((int)piVar18 + -0xc) = puVar1;\n            *(int *)((int)piVar18 + -0x10) = local_d0;\n            *(undefined4 *)((int)piVar18 + -0x14) = 0xd2b0d;\n            FUN_00072a40();\n          }\n          else {\n            *puVar1 = local_34;\n            puVar1[1] = 0;\n            *(undefined4 **)(local_d0 + 4) = puVar1 + 2;\n          }\n          local_68 = (undefined **)0x0;\n          *(undefined ****)((int)piVar18 + -0xc) = &local_68;\n          *(int *)((int)piVar18 + -0x10) = local_ec;\n          *(undefined4 *)((int)piVar18 + -0x14) = 0xd2479;\n          FUN_00074020();\n          if ((char)local_c0 == '\0') goto LAB_000d2489;\n        }\n        if (((local_d2 != '\0') && ((*(byte *)(iVar19 + 0xc) & 0xf) != 1)) &&\n           ((0x17 < uVar21 || ((0x843f84U >> (uVar2 & 0x1f) & 1) == 0)))) {\n          local_b0 = *(undefined ****)(param_2 + 0x15c);\n          local_80 = param_4;\n          local_7c = (uint)*(ushort *)(iVar19 + 0xe);\n          *(undefined4 *)((int)piVar18 + -0xc) = 1;\n          *(undefined4 *)((int)piVar18 + -0x10) = 0;\n          local_98 = local_b0 + 0xd;\n          *(undefined *****)((int)piVar18 + -0x14) = &local_98;\n          *(undefined ****)((int)piVar18 + -0x18) = &local_80;\n          *(undefined ****)((int)piVar18 + -0x1c) = local_98;\n          *(undefined1 **)((int)piVar18 + -0x20) = local_e0;\n          *(undefined4 *)((int)piVar18 + -0x24) = 0xd2ad1;\n          FUN_00074280();\n          piVar18 = (int *)((int)piVar18 + -4);\n        }\n        if (param_5 != local_b4) {\n          local_c0 = param_4;\n          puVar17 = (undefined1 *)piVar18;\nLAB_000d275e:\n          if (*(int *)(*local_dc + 8) == 0) {\n            *(undefined ***)(puVar17 + -8) = local_b8 + -0x61176;\n            *(undefined4 *)(puVar17 + -0xc) = 0x5c;\n            *(int *)(puVar17 + -0x10) = (int)local_b8 + -0x1a1d93;\n                    \n            *(undefined4 *)(puVar17 + -0x14) = 0xd2f6e;\n            FUN_002446e0();\n          }\n          piVar18 = (int *)puVar17;\n          if (*(char *)(*(int *)(*local_dc + 8) + 0x18b1) != '\0') {\n            local_70 = param_4;\n            iVar19 = *(int *)(param_2 + 0x158) + 0x14;\n            local_6c = param_5;\n            local_68 = local_c0;\n            local_64 = local_b4;\n            iVar3 = *(int *)(*(int *)(param_2 + 0x158) + 0x18);\n            iVar10 = iVar19;\n            if (iVar3 == 0) {\nLAB_000d27f0:\n              local_88 = &local_70;\n              *(undefined *****)(puVar17 + -0x10) = &local_88;\n              *(undefined4 *)(puVar17 + -0x14) = 0xd2811;\n              FUN_000c5e40();\n              iVar11 = local_a8;\n            }\n            else {\n              do {\n                while ((iVar11 = iVar3, *(undefined ***)(iVar11 + 0x10) < param_4 ||\n                       ((param_4 == *(undefined ***)(iVar11 + 0x10) &&\n                        (*(undefined ***)(iVar11 + 0x14) < param_5))))) {\n                  piVar18 = (int *)(iVar11 + 0xc);\n                  iVar3 = *piVar18;\n                  iVar11 = iVar10;\n                  if (*piVar18 == 0) goto LAB_000d27da;\n                }\n                iVar3 = *(int *)(iVar11 + 8);\n                iVar10 = iVar11;\n              } while (*(int *)(iVar11 + 8) != 0);\nLAB_000d27da:\n              if (((iVar19 == iVar11) || (param_4 < *(undefined ***)(iVar11 + 0x10))) ||\n                 ((param_4 == *(undefined ***)(iVar11 + 0x10) &&\n                  (param_5 < *(undefined ***)(iVar11 + 0x14))))) goto LAB_000d27f0;\n            }\n            local_8c = iVar11 + 0x18;\n            *(undefined4 *)(puVar17 + -0xc) = 1;\n            *(undefined4 *)(puVar17 + -0x10) = 0;\n            *(int **)(puVar17 + -0x14) = local_f4;\n            *(undefined ****)(puVar17 + -0x18) = &local_68;\n            *(int *)(puVar17 + -0x1c) = local_8c;\n            *(undefined1 **)(puVar17 + -0x20) = local_e0;\n            *(undefined4 *)(puVar17 + -0x24) = 0xd2840;\n            FUN_00074340();\n            piVar18 = *(int **)(*local_dc + 0xc);\n            if (piVar18 == (int *)0x0) {\n              *(undefined ***)(puVar17 + -0xc) = local_b8 + -0x615c4;\n              *(undefined4 *)(puVar17 + -0x10) = 0x73;\n              *(int *)(puVar17 + -0x14) = (int)local_b8 + -0x1a1d93;\n                    \n              *(undefined4 *)(puVar17 + -0x18) = 0xd2fad;\n              FUN_002446e0();\n            }\n            iVar19 = *piVar18;\n            *(undefined **)(puVar17 + -0xc) = local_c4;\n            *(undefined ***)(puVar17 + -0x10) = local_b4;\n            *(undefined ***)(puVar17 + -0x14) = local_c0;\n            *(undefined ***)(puVar17 + -0x18) = param_5;\n            *(undefined ***)(puVar17 + -0x1c) = param_4;\n            *(int *)(puVar17 + -0x20) = param_2;\n            *(int **)(puVar17 + -0x24) = piVar18;\n            pcVar4 = *(code **)(iVar19 + 0x104);\n            *(undefined4 *)(puVar17 + -0x28) = 0xd287d;\n            (*pcVar4)();\n            pbVar20 = local_d8;\n            piVar18 = (int *)(puVar17 + -4);\n            if (local_d8 != (byte *)0x0) {\n              local_b4 = &local_2c;\n              local_b0 = &local_34;\n              iVar19 = *(int *)(param_2 + 0x158);\n              *(byte **)(puVar17 + -0x14) = local_d8;\n              local_34 = local_b4;\n              *(undefined4 *)(puVar17 + -0x18) = 0xd28bd;\n              sVar6 = strlen(*(char **)(puVar17 + -0x14));\n              pppuVar5 = local_b0;\n              *(undefined4 *)(puVar17 + -8) = 0;\n              *(byte **)(puVar17 + -0xc) = pbVar20 + sVar6;\n              *(byte **)(puVar17 + -0x10) = pbVar20;\n              *(undefined ****)(puVar17 + -0x14) = local_b0;\n              *(undefined4 *)(puVar17 + -0x18) = 0xd28d2;\n              FUN_00072b90();\n              *(undefined ****)(puVar17 + -0xc) = pppuVar5;\n              *(int *)(puVar17 + -0x10) = iVar19 + 0x44;\n              *(int **)(puVar17 + -0x14) = &local_ac;\n              *(undefined4 *)(puVar17 + -0x18) = 0xd28e6;\n              FUN_00094bd0();\n              iVar19 = local_ac;\n              if (local_34 != local_b4) {\n                *(undefined ***)(puVar17 + -0x18) = local_34;\n                *(undefined4 *)(puVar17 + -0x1c) = 0xd2909;\n                FUN_003ae080();\n              }\n              piVar18 = (int *)(puVar17 + -8);\n              iVar3 = *(int *)(param_2 + 0x158);\n              if (iVar19 != iVar3 + 0x48) {\n                local_34 = param_4;\n                local_30 = param_5;\n                iVar10 = *(int *)(iVar3 + 0x18);\n                iVar11 = iVar3 + 0x14;\n                if (*(int *)(iVar3 + 0x18) == 0) {\nLAB_000d2bd8:\n                  *(undefined *****)(puVar17 + -0x18) = &local_84;\n                  local_84 = local_b0;\n                  *(undefined4 *)(puVar17 + -0x1c) = 0xd2bf6;\n                  FUN_000c5e40();\n                  iVar12 = local_a8;\n                }\n                else {\n                  do {\n                    while ((iVar12 = iVar10, *(undefined ***)(iVar12 + 0x10) < param_4 ||\n                           ((param_4 == *(undefined ***)(iVar12 + 0x10) &&\n                            (*(undefined ***)(iVar12 + 0x14) < param_5))))) {\n                      piVar18 = (int *)(iVar12 + 0xc);\n                      iVar10 = *piVar18;\n                      iVar12 = iVar11;\n                      if (*piVar18 == 0) goto LAB_000d2962;\n                    }\n                    iVar10 = *(int *)(iVar12 + 8);\n                    iVar11 = iVar12;\n                  } while (*(int *)(iVar12 + 8) != 0);\nLAB_000d2962:\n                  if (((iVar12 == iVar3 + 0x14) || (param_4 < *(undefined ***)(iVar12 + 0x10))) ||\n                     ((param_4 == *(undefined ***)(iVar12 + 0x10) &&\n                      (param_5 < *(undefined ***)(iVar12 + 0x14))))) goto LAB_000d2bd8;\n                }\n                piVar18 = (int *)(puVar17 + -8);\n                puVar17 = puVar17 + -8;\n                for (puVar1 = *(undefined4 **)(iVar19 + 0x30); puVar1 != (undefined4 *)0x0;\n                    puVar1 = (undefined4 *)*puVar1) {\n                  *(undefined4 *)(puVar17 + -0xc) = 1;\n                  *(undefined4 *)(puVar17 + -0x10) = 0;\n                  *(int **)(puVar17 + -0x14) = &local_90;\n                  *(undefined4 **)(puVar17 + -0x18) = puVar1 + 1;\n                  *(int *)(puVar17 + -0x1c) = iVar12 + 0x18;\n                  *(undefined1 **)(puVar17 + -0x20) = local_e0;\n                  *(undefined4 *)(puVar17 + -0x24) = 0xd29ae;\n                  local_90 = iVar12 + 0x18;\n                  FUN_00074340();\n                  piVar18 = (int *)(puVar17 + -4);\n                  puVar17 = puVar17 + -4;\n                }\n              }\n            }\n          }\n        }\n      }\n      else {\n        if (puVar15 < param_4[0x2c]) {\n          local_70 = (undefined **)0x0;\nLAB_000d2a1f:\n          *(undefined ***)((int)piVar18 + -8) = local_b8 + -0x615ed;\n          *(undefined4 *)((int)piVar18 + -0xc) = 0x11c;\n          *(int *)((int)piVar18 + -0x10) = (int)local_b8 + -0x19ca36;\n                    \n          *(undefined4 *)((int)piVar18 + -0x14) = 0xd2a40;\n          FUN_002446e0();\n        }\n        uVar16 = (int)puVar15 - (int)param_4[0x2c];\n        local_b0 = (undefined ***)param_4[0x30];\n        if ((uint)((int)local_b0 - (int)param_4[0x2f] >> 2) <= uVar16) {\n          *(undefined ***)((int)piVar18 + -8) = local_b8 + -0x6156c;\n          *(undefined4 *)((int)piVar18 + -0xc) = 0x8ad;\n          *(int *)((int)piVar18 + -0x10) = (int)local_b8 + -0x19cc7b;\n                    \n          *(undefined4 *)((int)piVar18 + -0x14) = 0xd2f8f;\n          FUN_002446e0();\n        }\n        local_70 = *(undefined ***)(param_4[0x2f] + uVar16 * 4);\n        if (local_70 == (undefined **)0x0) goto LAB_000d2a1f;\n        if ((*(byte *)((int)local_70 + 0x2a) & 0x10) == 0) {\n          if ((*(byte *)((int)local_70 + 0x2a) & 7) == 0) goto LAB_000d25f7;\nLAB_000d29e2:\n          local_f0 = (undefined **)local_70[0xc];\n          bVar13 = 0;\n          local_b4 = (undefined **)0x0;\n          local_c0 = (undefined **)0x0;\n          bVar24 = CARRY4((uint)local_bc,(uint)local_f0);\n          local_c4 = local_bc + (int)local_f0;\n          bVar26 = local_c4 == (undefined *)0x0;\n        }\n        else {\n          *(undefined ***)((int)piVar18 + -0xc) = local_70;\n          *(int *)((int)piVar18 + -0x10) = param_2;\n          *(undefined4 *)((int)piVar18 + -0x14) = 0xd29d2;\n          local_70 = (undefined **)FUN_0034cd90();\n          if ((*(byte *)((int)local_70 + 0x2a) & 7) != 0) goto LAB_000d29e2;\nLAB_000d25f7:\n          local_f0 = (undefined **)local_70[0xc];\n          local_c0 = (undefined **)local_70[2];\n          local_c4 = local_bc + (int)local_f0;\n          if (((uint)local_c0[0xb] & 1) == 0) {\n            local_b4 = (undefined **)local_70[3];\n            bVar13 = *(byte *)((int)local_70 + 0x2b) >> 5 & 1;\n            bVar24 = (*(byte *)(local_70 + 10) & 0xf) < 2;\n            bVar26 = (*(byte *)(local_70 + 10) & 0xf) == 2;\n            if (bVar26) {\n              bVar24 = false;\n              bVar26 = local_d2 == '\0';\n              if ((!bVar26) &&\n                 (((bVar13 == 0 || (bVar26 = uVar21 == 0x17, 0x17 < uVar21)) ||\n                  (bVar24 = (0x843f84U >> (uVar2 & 0x1f) & 1) != 0, !bVar24)))) {\n                local_b0 = *(undefined ****)(param_2 + 0x15c);\n                *(undefined4 *)((int)piVar18 + -0xc) = 1;\n                *(undefined4 *)((int)piVar18 + -0x10) = 0;\n                *(undefined *****)((int)piVar18 + -0x14) = &local_94;\n                *(undefined ****)((int)piVar18 + -0x18) = &local_78;\n                local_94 = local_b0 + 0xd;\n                *(undefined ****)((int)piVar18 + -0x1c) = local_94;\n                *(undefined1 **)((int)piVar18 + -0x20) = local_e0;\n                    \n                *(undefined4 *)((int)piVar18 + -0x24) = 0xd2ccb;\n                local_78 = local_c0;\n                local_74 = local_b4;\n                FUN_00074280();\n                bVar24 = (undefined1 *)0xffffffe3 < (undefined1 *)((int)piVar18 + -0x20);\n                bVar26 = piVar18 == (int *)0x4;\n                piVar18 = (int *)((int)piVar18 + -4);\n              }\n            }\n          }\n          else {\n            local_b4 = (undefined **)0x0;\n            bVar24 = false;\n            bVar13 = 0;\n            bVar26 = true;\n            local_c0 = (undefined **)0x0;\n          }\n        }\n        pbVar20 = *local_70;\n        iVar19 = 8;\n        pbVar9 = (byte *)((int)local_b8 + -0x19ca26);\n        pbVar22 = pbVar20;\n        do {\n          if (iVar19 == 0) break;\n          iVar19 = iVar19 + -1;\n          bVar24 = *pbVar9 < *pbVar22;\n          bVar26 = *pbVar9 == *pbVar22;\n          pbVar9 = pbVar9 + (uint)bVar27 * -2 + 1;\n          pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n        } while (bVar26);\n        bVar25 = false;\n        bVar24 = (!bVar24 && !bVar26) == bVar24;\n        if (bVar24) {\n          pbVar20 = pbVar20 + 8;\n        }\n        else {\n          iVar19 = 7;\n          pbVar9 = (byte *)((int)local_b8 + -0x19ca1d);\n          pbVar22 = pbVar20;\n          do {\n            if (iVar19 == 0) break;\n            iVar19 = iVar19 + -1;\n            bVar25 = *pbVar9 < *pbVar22;\n            bVar24 = *pbVar9 == *pbVar22;\n            pbVar9 = pbVar9 + (uint)bVar27 * -2 + 1;\n            pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n          } while (bVar24);\n          pbVar20 = pbVar20 + 7;\n          if ((!bVar25 && !bVar24) != bVar25) {\n            pbVar20 = local_d8;\n          }\n        }\n        local_d8 = pbVar20;\n        if (local_d1 != '\0') {\n          if (bVar13 == 0) {\n            local_34 = (undefined **)0x0;\n            local_30 = (undefined **)0x0;\n          }\n          else {\n            local_34 = local_c0;\n            local_30 = local_b4;\n          }\n          local_b0 = &local_34;\n          *(undefined ****)((int)piVar18 + -0xc) = local_b0;\n          *(int *)((int)piVar18 + -0x10) = local_c8;\n          *(undefined4 *)((int)piVar18 + -0x14) = 0xd26b9;\n          FUN_00073b00();\n          puVar1 = *(undefined4 **)(local_cc + 4);\n          if (puVar1 == *(undefined4 **)(local_cc + 8)) {\n            *(undefined ****)((int)piVar18 + -8) = &local_70;\n            *(undefined4 **)((int)piVar18 + -0xc) = puVar1;\n            *(int *)((int)piVar18 + -0x10) = local_cc;\n            *(undefined4 *)((int)piVar18 + -0x14) = 0xd2b4b;\n            FUN_000726c0();\n          }\n          else {\n            *puVar1 = local_70;\n            *(undefined4 **)(local_cc + 4) = puVar1 + 1;\n          }\n          *(undefined ****)((int)piVar18 + -0xc) = local_b0;\n          *(undefined ***)((int)piVar18 + -0x10) = local_e8;\n          local_34 = local_f0;\n          local_30 = (undefined **)0x0;\n          local_2c = local_bc;\n          local_28 = (int)local_bc >> 0x1f;\n          *(undefined4 *)((int)piVar18 + -0x14) = 0xd270d;\n          FUN_00073e70();\n          local_30 = (undefined **)0x0;\n          local_34 = (undefined **)*param_7;\n          puVar1 = *(undefined4 **)(local_d0 + 4);\n          if (puVar1 == *(undefined4 **)(local_d0 + 8)) {\n            *(undefined ****)((int)piVar18 + -8) = local_b0;\n            *(undefined4 **)((int)piVar18 + -0xc) = puVar1;\n            *(int *)((int)piVar18 + -0x10) = local_d0;\n            *(undefined4 *)((int)piVar18 + -0x14) = 0xd2bbd;\n            FUN_00072a40();\n          }\n          else {\n            *puVar1 = local_34;\n            puVar1[1] = 0;\n            *(undefined4 **)(local_d0 + 4) = puVar1 + 2;\n          }\n          local_68 = (undefined **)0x0;\n          *(undefined ****)((int)piVar18 + -0xc) = &local_68;\n          *(int *)((int)piVar18 + -0x10) = local_ec;\n          *(undefined4 *)((int)piVar18 + -0x14) = 0xd2753;\n          FUN_00074020();\n        }\n        puVar17 = (undefined1 *)piVar18;\n        if (bVar13 != 0) goto LAB_000d275e;\n      }" (if "if") (parenthesized_expression "(puVar15 < param_11)" (( "(") (binary_expression "puVar15 < param_11" (identifier "puVar15") (< "<") (identifier "param_11")) () ")")) (compound_statement "{\n        if (param_12 == 0) {\n          *(undefined ***)((int)piVar18 + -8) = local_b8 + -0x615ed;\n          *(undefined4 *)((int)piVar18 + -0xc) = 0xea;\n          *(int *)((int)piVar18 + -0x10) = (int)local_b8 + -0x19ca36;\n                    \n                    \n          *(undefined **)((int)piVar18 + -0x14) = &UNK_000d2f49;\n          FUN_002446e0();\n        }\n        iVar19 = (int)puVar15 * 0x10 + param_12;\n        local_b4 = (undefined **)(uint)*(ushort *)(iVar19 + 0xe);\n        if (local_b4 < (undefined **)0xff00) {\nLAB_000d24ee:\n          ppuVar14 = *(undefined ***)(iVar19 + 4);\n          local_c4 = local_bc + (int)ppuVar14;\n          if (local_d1 != '\0') {\n            local_34 = param_4;\n            local_30 = local_b4;\n            local_b0 = &local_34;\n            *(undefined ****)((int)piVar18 + -0xc) = local_b0;\n            *(int *)((int)piVar18 + -0x10) = local_c8;\n            *(undefined4 *)((int)piVar18 + -0x14) = 0xd2533;\n            FUN_00073b00();\n            local_c0 = (undefined **)CONCAT31(local_c0._1_3_,1);\n            if ((*(byte *)(iVar19 + 0xc) & 0xf) == 3) goto LAB_000d254c;\nLAB_000d23e8:\n            *(undefined ****)((int)piVar18 + -0xc) = local_b0;\n            *(int *)((int)piVar18 + -0x10) = local_cc;\n            local_34 = (undefined **)0x0;\n            *(undefined4 *)((int)piVar18 + -0x14) = 0xd2403;\n            FUN_00073ca0();\n            goto LAB_000d2403;\n          }\n        }\n        else {\n          if (local_b4 == (undefined **)0xffff) {\n            puVar7 = param_4[0xc];\n            if (puVar7 == (undefined *)0x0) {\n              puVar7 = *param_4;\n              *(undefined ***)((int)piVar18 + -0x10) = param_4;\n              pcVar4 = *(code **)(puVar7 + 0x6c);\n              *(undefined4 *)((int)piVar18 + -0x14) = 0xd2a4e;\n              puVar7 = (undefined *)(*pcVar4)();\n              param_4[0xc] = puVar7;\n            }\n            *(undefined **)((int)piVar18 + -8) = puVar15;\n            *(undefined ***)((int)piVar18 + -0xc) = param_4;\n            *(undefined **)((int)piVar18 + -0x10) = puVar7;\n            *(undefined4 *)((int)piVar18 + -0x14) = 0xd2591;\n            local_b4 = (undefined **)FUN_0028b7d0();\n            goto LAB_000d24ee;\n          }\n          ppuVar14 = *(undefined ***)(iVar19 + 4);\n          local_c4 = local_bc + (int)ppuVar14;\n          if (local_d1 == '\0') goto LAB_000d2489;\n          local_b0 = &local_34;\n          local_34 = (undefined **)0x0;\n          *(undefined ****)((int)piVar18 + -0xc) = local_b0;\n          *(int *)((int)piVar18 + -0x10) = local_c8;\n          local_30 = (undefined **)0x0;\n                    \n          *(undefined4 *)((int)piVar18 + -0x14) = 0xd23cf;\n          FUN_00073b00();\n          local_c0 = (undefined **)((uint)local_c0 & 0xffffff00);\n          if ((*(byte *)(iVar19 + 0xc) & 0xf) != 3) goto LAB_000d23e8;\nLAB_000d254c:\n          *(undefined ****)((int)piVar18 + -0xc) = local_b0;\n          *(int *)((int)piVar18 + -0x10) = local_cc;\n          local_34 = (undefined **)0xffffffff;\n          *(undefined4 *)((int)piVar18 + -0x14) = 0xd2567;\n          FUN_00073ca0();\nLAB_000d2403:\n          *(undefined ****)((int)piVar18 + -0xc) = local_b0;\n          *(undefined ***)((int)piVar18 + -0x10) = local_e8;\n          local_2c = local_bc;\n          local_28 = (int)local_bc >> 0x1f;\n          local_30 = (undefined **)0x0;\n          *(undefined4 *)((int)piVar18 + -0x14) = 0xd2433;\n          local_34 = ppuVar14;\n          FUN_00073e70();\n          local_30 = (undefined **)0x0;\n          local_34 = (undefined **)*param_7;\n          puVar1 = *(undefined4 **)(local_d0 + 4);\n          if (puVar1 == *(undefined4 **)(local_d0 + 8)) {\n            *(undefined ****)((int)piVar18 + -8) = local_b0;\n            *(undefined4 **)((int)piVar18 + -0xc) = puVar1;\n            *(int *)((int)piVar18 + -0x10) = local_d0;\n            *(undefined4 *)((int)piVar18 + -0x14) = 0xd2b0d;\n            FUN_00072a40();\n          }\n          else {\n            *puVar1 = local_34;\n            puVar1[1] = 0;\n            *(undefined4 **)(local_d0 + 4) = puVar1 + 2;\n          }\n          local_68 = (undefined **)0x0;\n          *(undefined ****)((int)piVar18 + -0xc) = &local_68;\n          *(int *)((int)piVar18 + -0x10) = local_ec;\n          *(undefined4 *)((int)piVar18 + -0x14) = 0xd2479;\n          FUN_00074020();\n          if ((char)local_c0 == '\0') goto LAB_000d2489;\n        }\n        if (((local_d2 != '\0') && ((*(byte *)(iVar19 + 0xc) & 0xf) != 1)) &&\n           ((0x17 < uVar21 || ((0x843f84U >> (uVar2 & 0x1f) & 1) == 0)))) {\n          local_b0 = *(undefined ****)(param_2 + 0x15c);\n          local_80 = param_4;\n          local_7c = (uint)*(ushort *)(iVar19 + 0xe);\n          *(undefined4 *)((int)piVar18 + -0xc) = 1;\n          *(undefined4 *)((int)piVar18 + -0x10) = 0;\n          local_98 = local_b0 + 0xd;\n          *(undefined *****)((int)piVar18 + -0x14) = &local_98;\n          *(undefined ****)((int)piVar18 + -0x18) = &local_80;\n          *(undefined ****)((int)piVar18 + -0x1c) = local_98;\n          *(undefined1 **)((int)piVar18 + -0x20) = local_e0;\n          *(undefined4 *)((int)piVar18 + -0x24) = 0xd2ad1;\n          FUN_00074280();\n          piVar18 = (int *)((int)piVar18 + -4);\n        }\n        if (param_5 != local_b4) {\n          local_c0 = param_4;\n          puVar17 = (undefined1 *)piVar18;\nLAB_000d275e:\n          if (*(int *)(*local_dc + 8) == 0) {\n            *(undefined ***)(puVar17 + -8) = local_b8 + -0x61176;\n            *(undefined4 *)(puVar17 + -0xc) = 0x5c;\n            *(int *)(puVar17 + -0x10) = (int)local_b8 + -0x1a1d93;\n                    \n            *(undefined4 *)(puVar17 + -0x14) = 0xd2f6e;\n            FUN_002446e0();\n          }\n          piVar18 = (int *)puVar17;\n          if (*(char *)(*(int *)(*local_dc + 8) + 0x18b1) != '\0') {\n            local_70 = param_4;\n            iVar19 = *(int *)(param_2 + 0x158) + 0x14;\n            local_6c = param_5;\n            local_68 = local_c0;\n            local_64 = local_b4;\n            iVar3 = *(int *)(*(int *)(param_2 + 0x158) + 0x18);\n            iVar10 = iVar19;\n            if (iVar3 == 0) {\nLAB_000d27f0:\n              local_88 = &local_70;\n              *(undefined *****)(puVar17 + -0x10) = &local_88;\n              *(undefined4 *)(puVar17 + -0x14) = 0xd2811;\n              FUN_000c5e40();\n              iVar11 = local_a8;\n            }\n            else {\n              do {\n                while ((iVar11 = iVar3, *(undefined ***)(iVar11 + 0x10) < param_4 ||\n                       ((param_4 == *(undefined ***)(iVar11 + 0x10) &&\n                        (*(undefined ***)(iVar11 + 0x14) < param_5))))) {\n                  piVar18 = (int *)(iVar11 + 0xc);\n                  iVar3 = *piVar18;\n                  iVar11 = iVar10;\n                  if (*piVar18 == 0) goto LAB_000d27da;\n                }\n                iVar3 = *(int *)(iVar11 + 8);\n                iVar10 = iVar11;\n              } while (*(int *)(iVar11 + 8) != 0);\nLAB_000d27da:\n              if (((iVar19 == iVar11) || (param_4 < *(undefined ***)(iVar11 + 0x10))) ||\n                 ((param_4 == *(undefined ***)(iVar11 + 0x10) &&\n                  (param_5 < *(undefined ***)(iVar11 + 0x14))))) goto LAB_000d27f0;\n            }\n            local_8c = iVar11 + 0x18;\n            *(undefined4 *)(puVar17 + -0xc) = 1;\n            *(undefined4 *)(puVar17 + -0x10) = 0;\n            *(int **)(puVar17 + -0x14) = local_f4;\n            *(undefined ****)(puVar17 + -0x18) = &local_68;\n            *(int *)(puVar17 + -0x1c) = local_8c;\n            *(undefined1 **)(puVar17 + -0x20) = local_e0;\n            *(undefined4 *)(puVar17 + -0x24) = 0xd2840;\n            FUN_00074340();\n            piVar18 = *(int **)(*local_dc + 0xc);\n            if (piVar18 == (int *)0x0) {\n              *(undefined ***)(puVar17 + -0xc) = local_b8 + -0x615c4;\n              *(undefined4 *)(puVar17 + -0x10) = 0x73;\n              *(int *)(puVar17 + -0x14) = (int)local_b8 + -0x1a1d93;\n                    \n              *(undefined4 *)(puVar17 + -0x18) = 0xd2fad;\n              FUN_002446e0();\n            }\n            iVar19 = *piVar18;\n            *(undefined **)(puVar17 + -0xc) = local_c4;\n            *(undefined ***)(puVar17 + -0x10) = local_b4;\n            *(undefined ***)(puVar17 + -0x14) = local_c0;\n            *(undefined ***)(puVar17 + -0x18) = param_5;\n            *(undefined ***)(puVar17 + -0x1c) = param_4;\n            *(int *)(puVar17 + -0x20) = param_2;\n            *(int **)(puVar17 + -0x24) = piVar18;\n            pcVar4 = *(code **)(iVar19 + 0x104);\n            *(undefined4 *)(puVar17 + -0x28) = 0xd287d;\n            (*pcVar4)();\n            pbVar20 = local_d8;\n            piVar18 = (int *)(puVar17 + -4);\n            if (local_d8 != (byte *)0x0) {\n              local_b4 = &local_2c;\n              local_b0 = &local_34;\n              iVar19 = *(int *)(param_2 + 0x158);\n              *(byte **)(puVar17 + -0x14) = local_d8;\n              local_34 = local_b4;\n              *(undefined4 *)(puVar17 + -0x18) = 0xd28bd;\n              sVar6 = strlen(*(char **)(puVar17 + -0x14));\n              pppuVar5 = local_b0;\n              *(undefined4 *)(puVar17 + -8) = 0;\n              *(byte **)(puVar17 + -0xc) = pbVar20 + sVar6;\n              *(byte **)(puVar17 + -0x10) = pbVar20;\n              *(undefined ****)(puVar17 + -0x14) = local_b0;\n              *(undefined4 *)(puVar17 + -0x18) = 0xd28d2;\n              FUN_00072b90();\n              *(undefined ****)(puVar17 + -0xc) = pppuVar5;\n              *(int *)(puVar17 + -0x10) = iVar19 + 0x44;\n              *(int **)(puVar17 + -0x14) = &local_ac;\n              *(undefined4 *)(puVar17 + -0x18) = 0xd28e6;\n              FUN_00094bd0();\n              iVar19 = local_ac;\n              if (local_34 != local_b4) {\n                *(undefined ***)(puVar17 + -0x18) = local_34;\n                *(undefined4 *)(puVar17 + -0x1c) = 0xd2909;\n                FUN_003ae080();\n              }\n              piVar18 = (int *)(puVar17 + -8);\n              iVar3 = *(int *)(param_2 + 0x158);\n              if (iVar19 != iVar3 + 0x48) {\n                local_34 = param_4;\n                local_30 = param_5;\n                iVar10 = *(int *)(iVar3 + 0x18);\n                iVar11 = iVar3 + 0x14;\n                if (*(int *)(iVar3 + 0x18) == 0) {\nLAB_000d2bd8:\n                  *(undefined *****)(puVar17 + -0x18) = &local_84;\n                  local_84 = local_b0;\n                  *(undefined4 *)(puVar17 + -0x1c) = 0xd2bf6;\n                  FUN_000c5e40();\n                  iVar12 = local_a8;\n                }\n                else {\n                  do {\n                    while ((iVar12 = iVar10, *(undefined ***)(iVar12 + 0x10) < param_4 ||\n                           ((param_4 == *(undefined ***)(iVar12 + 0x10) &&\n                            (*(undefined ***)(iVar12 + 0x14) < param_5))))) {\n                      piVar18 = (int *)(iVar12 + 0xc);\n                      iVar10 = *piVar18;\n                      iVar12 = iVar11;\n                      if (*piVar18 == 0) goto LAB_000d2962;\n                    }\n                    iVar10 = *(int *)(iVar12 + 8);\n                    iVar11 = iVar12;\n                  } while (*(int *)(iVar12 + 8) != 0);\nLAB_000d2962:\n                  if (((iVar12 == iVar3 + 0x14) || (param_4 < *(undefined ***)(iVar12 + 0x10))) ||\n                     ((param_4 == *(undefined ***)(iVar12 + 0x10) &&\n                      (param_5 < *(undefined ***)(iVar12 + 0x14))))) goto LAB_000d2bd8;\n                }\n                piVar18 = (int *)(puVar17 + -8);\n                puVar17 = puVar17 + -8;\n                for (puVar1 = *(undefined4 **)(iVar19 + 0x30); puVar1 != (undefined4 *)0x0;\n                    puVar1 = (undefined4 *)*puVar1) {\n                  *(undefined4 *)(puVar17 + -0xc) = 1;\n                  *(undefined4 *)(puVar17 + -0x10) = 0;\n                  *(int **)(puVar17 + -0x14) = &local_90;\n                  *(undefined4 **)(puVar17 + -0x18) = puVar1 + 1;\n                  *(int *)(puVar17 + -0x1c) = iVar12 + 0x18;\n                  *(undefined1 **)(puVar17 + -0x20) = local_e0;\n                  *(undefined4 *)(puVar17 + -0x24) = 0xd29ae;\n                  local_90 = iVar12 + 0x18;\n                  FUN_00074340();\n                  piVar18 = (int *)(puVar17 + -4);\n                  puVar17 = puVar17 + -4;\n                }\n              }\n            }\n          }\n        }\n      }" ({ "{") (if_statement "if (param_12 == 0) {\n          *(undefined ***)((int)piVar18 + -8) = local_b8 + -0x615ed;\n          *(undefined4 *)((int)piVar18 + -0xc) = 0xea;\n          *(int *)((int)piVar18 + -0x10) = (int)local_b8 + -0x19ca36;\n                    \n                    \n          *(undefined **)((int)piVar18 + -0x14) = &UNK_000d2f49;\n          FUN_002446e0();\n        }" (if "if") (parenthesized_expression "(param_12 == 0)" (( "(") (binary_expression "param_12 == 0" (identifier "param_12") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n          *(undefined ***)((int)piVar18 + -8) = local_b8 + -0x615ed;\n          *(undefined4 *)((int)piVar18 + -0xc) = 0xea;\n          *(int *)((int)piVar18 + -0x10) = (int)local_b8 + -0x19ca36;\n                    \n                    \n          *(undefined **)((int)piVar18 + -0x14) = &UNK_000d2f49;\n          FUN_002446e0();\n        }" ({ "{") (expression_statement "*(undefined ***)((int)piVar18 + -8) = local_b8 + -0x615ed;" (assignment_expression "*(undefined ***)((int)piVar18 + -8) = local_b8 + -0x615ed" (pointer_expression "*(undefined ***)((int)piVar18 + -8)" (* "*") (cast_expression "(undefined ***)((int)piVar18 + -8)" (( "(") (type_descriptor "undefined ***" (type_identifier "undefined") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "((int)piVar18 + -8)" (( "(") (binary_expression "(int)piVar18 + -8" (cast_expression "(int)piVar18" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar18")) (+ "+") (number_literal "-8")) () ")")))) (= "=") (binary_expression "local_b8 + -0x615ed" (identifier "local_b8") (+ "+") (number_literal "-0x615ed"))) (; ";")) (expression_statement "*(undefined4 *)((int)piVar18 + -0xc) = 0xea;" (assignment_expression "*(undefined4 *)((int)piVar18 + -0xc) = 0xea" (pointer_expression "*(undefined4 *)((int)piVar18 + -0xc)" (* "*") (cast_expression "(undefined4 *)((int)piVar18 + -0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar18 + -0xc)" (( "(") (binary_expression "(int)piVar18 + -0xc" (cast_expression "(int)piVar18" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar18")) (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (number_literal "0xea")) (; ";")) (expression_statement "*(int *)((int)piVar18 + -0x10) = (int)local_b8 + -0x19ca36;" (assignment_expression "*(int *)((int)piVar18 + -0x10) = (int)local_b8 + -0x19ca36" (pointer_expression "*(int *)((int)piVar18 + -0x10)" (* "*") (cast_expression "(int *)((int)piVar18 + -0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar18 + -0x10)" (( "(") (binary_expression "(int)piVar18 + -0x10" (cast_expression "(int)piVar18" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar18")) (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (binary_expression "(int)local_b8 + -0x19ca36" (cast_expression "(int)local_b8" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_b8")) (+ "+") (number_literal "-0x19ca36"))) (; ";")) (expression_statement "*(undefined **)((int)piVar18 + -0x14) = &UNK_000d2f49;" (assignment_expression "*(undefined **)((int)piVar18 + -0x14) = &UNK_000d2f49" (pointer_expression "*(undefined **)((int)piVar18 + -0x14)" (* "*") (cast_expression "(undefined **)((int)piVar18 + -0x14)" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)piVar18 + -0x14)" (( "(") (binary_expression "(int)piVar18 + -0x14" (cast_expression "(int)piVar18" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar18")) (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (pointer_expression "&UNK_000d2f49" (& "&") (identifier "UNK_000d2f49"))) (; ";")) (expression_statement "FUN_002446e0();" (call_expression "FUN_002446e0()" (identifier "FUN_002446e0") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (expression_statement "iVar19 = (int)puVar15 * 0x10 + param_12;" (assignment_expression "iVar19 = (int)puVar15 * 0x10 + param_12" (identifier "iVar19") (= "=") (binary_expression "(int)puVar15 * 0x10 + param_12" (binary_expression "(int)puVar15 * 0x10" (cast_expression "(int)puVar15" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar15")) (* "*") (number_literal "0x10")) (+ "+") (identifier "param_12"))) (; ";")) (expression_statement "local_b4 = (undefined **)(uint)*(ushort *)(iVar19 + 0xe);" (assignment_expression "local_b4 = (undefined **)(uint)*(ushort *)(iVar19 + 0xe)" (identifier "local_b4") (= "=") (binary_expression "(undefined **)(uint)*(ushort *)(iVar19 + 0xe)" (cast_expression "(undefined **)(uint)" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")"))) (* "*") (cast_expression "(ushort *)(iVar19 + 0xe)" (( "(") (type_descriptor "ushort *" (type_identifier "ushort") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar19 + 0xe)" (( "(") (binary_expression "iVar19 + 0xe" (identifier "iVar19") (+ "+") (number_literal "0xe")) () ")"))))) (; ";")) (if_statement "if (local_b4 < (undefined **)0xff00) {\nLAB_000d24ee:\n          ppuVar14 = *(undefined ***)(iVar19 + 4);\n          local_c4 = local_bc + (int)ppuVar14;\n          if (local_d1 != '\0') {\n            local_34 = param_4;\n            local_30 = local_b4;\n            local_b0 = &local_34;\n            *(undefined ****)((int)piVar18 + -0xc) = local_b0;\n            *(int *)((int)piVar18 + -0x10) = local_c8;\n            *(undefined4 *)((int)piVar18 + -0x14) = 0xd2533;\n            FUN_00073b00();\n            local_c0 = (undefined **)CONCAT31(local_c0._1_3_,1);\n            if ((*(byte *)(iVar19 + 0xc) & 0xf) == 3) goto LAB_000d254c;\nLAB_000d23e8:\n            *(undefined ****)((int)piVar18 + -0xc) = local_b0;\n            *(int *)((int)piVar18 + -0x10) = local_cc;\n            local_34 = (undefined **)0x0;\n            *(undefined4 *)((int)piVar18 + -0x14) = 0xd2403;\n            FUN_00073ca0();\n            goto LAB_000d2403;\n          }\n        }\n        else {\n          if (local_b4 == (undefined **)0xffff) {\n            puVar7 = param_4[0xc];\n            if (puVar7 == (undefined *)0x0) {\n              puVar7 = *param_4;\n              *(undefined ***)((int)piVar18 + -0x10) = param_4;\n              pcVar4 = *(code **)(puVar7 + 0x6c);\n              *(undefined4 *)((int)piVar18 + -0x14) = 0xd2a4e;\n              puVar7 = (undefined *)(*pcVar4)();\n              param_4[0xc] = puVar7;\n            }\n            *(undefined **)((int)piVar18 + -8) = puVar15;\n            *(undefined ***)((int)piVar18 + -0xc) = param_4;\n            *(undefined **)((int)piVar18 + -0x10) = puVar7;\n            *(undefined4 *)((int)piVar18 + -0x14) = 0xd2591;\n            local_b4 = (undefined **)FUN_0028b7d0();\n            goto LAB_000d24ee;\n          }\n          ppuVar14 = *(undefined ***)(iVar19 + 4);\n          local_c4 = local_bc + (int)ppuVar14;\n          if (local_d1 == '\0') goto LAB_000d2489;\n          local_b0 = &local_34;\n          local_34 = (undefined **)0x0;\n          *(undefined ****)((int)piVar18 + -0xc) = local_b0;\n          *(int *)((int)piVar18 + -0x10) = local_c8;\n          local_30 = (undefined **)0x0;\n                    \n          *(undefined4 *)((int)piVar18 + -0x14) = 0xd23cf;\n          FUN_00073b00();\n          local_c0 = (undefined **)((uint)local_c0 & 0xffffff00);\n          if ((*(byte *)(iVar19 + 0xc) & 0xf) != 3) goto LAB_000d23e8;\nLAB_000d254c:\n          *(undefined ****)((int)piVar18 + -0xc) = local_b0;\n          *(int *)((int)piVar18 + -0x10) = local_cc;\n          local_34 = (undefined **)0xffffffff;\n          *(undefined4 *)((int)piVar18 + -0x14) = 0xd2567;\n          FUN_00073ca0();\nLAB_000d2403:\n          *(undefined ****)((int)piVar18 + -0xc) = local_b0;\n          *(undefined ***)((int)piVar18 + -0x10) = local_e8;\n          local_2c = local_bc;\n          local_28 = (int)local_bc >> 0x1f;\n          local_30 = (undefined **)0x0;\n          *(undefined4 *)((int)piVar18 + -0x14) = 0xd2433;\n          local_34 = ppuVar14;\n          FUN_00073e70();\n          local_30 = (undefined **)0x0;\n          local_34 = (undefined **)*param_7;\n          puVar1 = *(undefined4 **)(local_d0 + 4);\n          if (puVar1 == *(undefined4 **)(local_d0 + 8)) {\n            *(undefined ****)((int)piVar18 + -8) = local_b0;\n            *(undefined4 **)((int)piVar18 + -0xc) = puVar1;\n            *(int *)((int)piVar18 + -0x10) = local_d0;\n            *(undefined4 *)((int)piVar18 + -0x14) = 0xd2b0d;\n            FUN_00072a40();\n          }\n          else {\n            *puVar1 = local_34;\n            puVar1[1] = 0;\n            *(undefined4 **)(local_d0 + 4) = puVar1 + 2;\n          }\n          local_68 = (undefined **)0x0;\n          *(undefined ****)((int)piVar18 + -0xc) = &local_68;\n          *(int *)((int)piVar18 + -0x10) = local_ec;\n          *(undefined4 *)((int)piVar18 + -0x14) = 0xd2479;\n          FUN_00074020();\n          if ((char)local_c0 == '\0') goto LAB_000d2489;\n        }" (if "if") (parenthesized_expression "(local_b4 < (undefined **)0xff00)" (( "(") (binary_expression "local_b4 < (undefined **)0xff00" (identifier "local_b4") (< "<") (cast_expression "(undefined **)0xff00" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (number_literal "0xff00"))) () ")")) (compound_statement "{\nLAB_000d24ee:\n          ppuVar14 = *(undefined ***)(iVar19 + 4);\n          local_c4 = local_bc + (int)ppuVar14;\n          if (local_d1 != '\0') {\n            local_34 = param_4;\n            local_30 = local_b4;\n            local_b0 = &local_34;\n            *(undefined ****)((int)piVar18 + -0xc) = local_b0;\n            *(int *)((int)piVar18 + -0x10) = local_c8;\n            *(undefined4 *)((int)piVar18 + -0x14) = 0xd2533;\n            FUN_00073b00();\n            local_c0 = (undefined **)CONCAT31(local_c0._1_3_,1);\n            if ((*(byte *)(iVar19 + 0xc) & 0xf) == 3) goto LAB_000d254c;\nLAB_000d23e8:\n            *(undefined ****)((int)piVar18 + -0xc) = local_b0;\n            *(int *)((int)piVar18 + -0x10) = local_cc;\n            local_34 = (undefined **)0x0;\n            *(undefined4 *)((int)piVar18 + -0x14) = 0xd2403;\n            FUN_00073ca0();\n            goto LAB_000d2403;\n          }\n        }" ({ "{") (labeled_statement "LAB_000d24ee:\n          ppuVar14 = *(undefined ***)(iVar19 + 4);" (statement_identifier "LAB_000d24ee") (: ":") (expression_statement "ppuVar14 = *(undefined ***)(iVar19 + 4);" (assignment_expression "ppuVar14 = *(undefined ***)(iVar19 + 4)" (identifier "ppuVar14") (= "=") (pointer_expression "*(undefined ***)(iVar19 + 4)" (* "*") (cast_expression "(undefined ***)(iVar19 + 4)" (( "(") (type_descriptor "undefined ***" (type_identifier "undefined") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "(iVar19 + 4)" (( "(") (binary_expression "iVar19 + 4" (identifier "iVar19") (+ "+") (number_literal "4")) () ")"))))) (; ";"))) (expression_statement "local_c4 = local_bc + (int)ppuVar14;" (assignment_expression "local_c4 = local_bc + (int)ppuVar14" (identifier "local_c4") (= "=") (binary_expression "local_bc + (int)ppuVar14" (identifier "local_bc") (+ "+") (cast_expression "(int)ppuVar14" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppuVar14")))) (; ";")) (if_statement "if (local_d1 != '\0') {\n            local_34 = param_4;\n            local_30 = local_b4;\n            local_b0 = &local_34;\n            *(undefined ****)((int)piVar18 + -0xc) = local_b0;\n            *(int *)((int)piVar18 + -0x10) = local_c8;\n            *(undefined4 *)((int)piVar18 + -0x14) = 0xd2533;\n            FUN_00073b00();\n            local_c0 = (undefined **)CONCAT31(local_c0._1_3_,1);\n            if ((*(byte *)(iVar19 + 0xc) & 0xf) == 3) goto LAB_000d254c;\nLAB_000d23e8:\n            *(undefined ****)((int)piVar18 + -0xc) = local_b0;\n            *(int *)((int)piVar18 + -0x10) = local_cc;\n            local_34 = (undefined **)0x0;\n            *(undefined4 *)((int)piVar18 + -0x14) = 0xd2403;\n            FUN_00073ca0();\n            goto LAB_000d2403;\n          }" (if "if") (parenthesized_expression "(local_d1 != '\0')" (( "(") (binary_expression "local_d1 != '\0'" (identifier "local_d1") (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n            local_34 = param_4;\n            local_30 = local_b4;\n            local_b0 = &local_34;\n            *(undefined ****)((int)piVar18 + -0xc) = local_b0;\n            *(int *)((int)piVar18 + -0x10) = local_c8;\n            *(undefined4 *)((int)piVar18 + -0x14) = 0xd2533;\n            FUN_00073b00();\n            local_c0 = (undefined **)CONCAT31(local_c0._1_3_,1);\n            if ((*(byte *)(iVar19 + 0xc) & 0xf) == 3) goto LAB_000d254c;\nLAB_000d23e8:\n            *(undefined ****)((int)piVar18 + -0xc) = local_b0;\n            *(int *)((int)piVar18 + -0x10) = local_cc;\n            local_34 = (undefined **)0x0;\n            *(undefined4 *)((int)piVar18 + -0x14) = 0xd2403;\n            FUN_00073ca0();\n            goto LAB_000d2403;\n          }" ({ "{") (expression_statement "local_34 = param_4;" (assignment_expression "local_34 = param_4" (identifier "local_34") (= "=") (identifier "param_4")) (; ";")) (expression_statement "local_30 = local_b4;" (assignment_expression "local_30 = local_b4" (identifier "local_30") (= "=") (identifier "local_b4")) (; ";")) (expression_statement "local_b0 = &local_34;" (assignment_expression "local_b0 = &local_34" (identifier "local_b0") (= "=") (pointer_expression "&local_34" (& "&") (identifier "local_34"))) (; ";")) (expression_statement "*(undefined ****)((int)piVar18 + -0xc) = local_b0;" (assignment_expression "*(undefined ****)((int)piVar18 + -0xc) = local_b0" (pointer_expression "*(undefined ****)((int)piVar18 + -0xc)" (* "*") (cast_expression "(undefined ****)((int)piVar18 + -0xc)" (( "(") (type_descriptor "undefined ****" (type_identifier "undefined") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))) () ")") (parenthesized_expression "((int)piVar18 + -0xc)" (( "(") (binary_expression "(int)piVar18 + -0xc" (cast_expression "(int)piVar18" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar18")) (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (identifier "local_b0")) (; ";")) (expression_statement "*(int *)((int)piVar18 + -0x10) = local_c8;" (assignment_expression "*(int *)((int)piVar18 + -0x10) = local_c8" (pointer_expression "*(int *)((int)piVar18 + -0x10)" (* "*") (cast_expression "(int *)((int)piVar18 + -0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar18 + -0x10)" (( "(") (binary_expression "(int)piVar18 + -0x10" (cast_expression "(int)piVar18" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar18")) (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "local_c8")) (; ";")) (expression_statement "*(undefined4 *)((int)piVar18 + -0x14) = 0xd2533;" (assignment_expression "*(undefined4 *)((int)piVar18 + -0x14) = 0xd2533" (pointer_expression "*(undefined4 *)((int)piVar18 + -0x14)" (* "*") (cast_expression "(undefined4 *)((int)piVar18 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar18 + -0x14)" (( "(") (binary_expression "(int)piVar18 + -0x14" (cast_expression "(int)piVar18" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar18")) (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0xd2533")) (; ";")) (expression_statement "FUN_00073b00();" (call_expression "FUN_00073b00()" (identifier "FUN_00073b00") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "local_c0 = (undefined **)CONCAT31(local_c0._1_3_,1);" (assignment_expression "local_c0 = (undefined **)CONCAT31(local_c0._1_3_,1)" (identifier "local_c0") (= "=") (cast_expression "(undefined **)CONCAT31(local_c0._1_3_,1)" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (call_expression "CONCAT31(local_c0._1_3_,1)" (identifier "CONCAT31") (argument_list "(local_c0._1_3_,1)" (( "(") (field_expression "local_c0._1_3_" (identifier "local_c0") (. ".") (field_identifier "_1_3_")) (, ",") (number_literal "1") () ")"))))) (; ";")) (if_statement "if ((*(byte *)(iVar19 + 0xc) & 0xf) == 3) goto LAB_000d254c;" (if "if") (parenthesized_expression "((*(byte *)(iVar19 + 0xc) & 0xf) == 3)" (( "(") (binary_expression "(*(byte *)(iVar19 + 0xc) & 0xf) == 3" (parenthesized_expression "(*(byte *)(iVar19 + 0xc) & 0xf)" (( "(") (binary_expression "*(byte *)(iVar19 + 0xc) & 0xf" (pointer_expression "*(byte *)(iVar19 + 0xc)" (* "*") (cast_expression "(byte *)(iVar19 + 0xc)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar19 + 0xc)" (( "(") (binary_expression "iVar19 + 0xc" (identifier "iVar19") (+ "+") (number_literal "0xc")) () ")")))) (& "&") (number_literal "0xf")) () ")")) (== "==") (number_literal "3")) () ")")) (goto_statement "goto LAB_000d254c;" (goto "goto") (statement_identifier "LAB_000d254c") (; ";"))) (labeled_statement "LAB_000d23e8:\n            *(undefined ****)((int)piVar18 + -0xc) = local_b0;" (statement_identifier "LAB_000d23e8") (: ":") (expression_statement "*(undefined ****)((int)piVar18 + -0xc) = local_b0;" (assignment_expression "*(undefined ****)((int)piVar18 + -0xc) = local_b0" (pointer_expression "*(undefined ****)((int)piVar18 + -0xc)" (* "*") (cast_expression "(undefined ****)((int)piVar18 + -0xc)" (( "(") (type_descriptor "undefined ****" (type_identifier "undefined") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))) () ")") (parenthesized_expression "((int)piVar18 + -0xc)" (( "(") (binary_expression "(int)piVar18 + -0xc" (cast_expression "(int)piVar18" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar18")) (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (identifier "local_b0")) (; ";"))) (expression_statement "*(int *)((int)piVar18 + -0x10) = local_cc;" (assignment_expression "*(int *)((int)piVar18 + -0x10) = local_cc" (pointer_expression "*(int *)((int)piVar18 + -0x10)" (* "*") (cast_expression "(int *)((int)piVar18 + -0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar18 + -0x10)" (( "(") (binary_expression "(int)piVar18 + -0x10" (cast_expression "(int)piVar18" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar18")) (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "local_cc")) (; ";")) (expression_statement "local_34 = (undefined **)0x0;" (assignment_expression "local_34 = (undefined **)0x0" (identifier "local_34") (= "=") (cast_expression "(undefined **)0x0" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "*(undefined4 *)((int)piVar18 + -0x14) = 0xd2403;" (assignment_expression "*(undefined4 *)((int)piVar18 + -0x14) = 0xd2403" (pointer_expression "*(undefined4 *)((int)piVar18 + -0x14)" (* "*") (cast_expression "(undefined4 *)((int)piVar18 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar18 + -0x14)" (( "(") (binary_expression "(int)piVar18 + -0x14" (cast_expression "(int)piVar18" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar18")) (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0xd2403")) (; ";")) (expression_statement "FUN_00073ca0();" (call_expression "FUN_00073ca0()" (identifier "FUN_00073ca0") (argument_list "()" (( "(") () ")"))) (; ";")) (goto_statement "goto LAB_000d2403;" (goto "goto") (statement_identifier "LAB_000d2403") (; ";")) (} "}"))) (} "}")) (else_clause "else {\n          if (local_b4 == (undefined **)0xffff) {\n            puVar7 = param_4[0xc];\n            if (puVar7 == (undefined *)0x0) {\n              puVar7 = *param_4;\n              *(undefined ***)((int)piVar18 + -0x10) = param_4;\n              pcVar4 = *(code **)(puVar7 + 0x6c);\n              *(undefined4 *)((int)piVar18 + -0x14) = 0xd2a4e;\n              puVar7 = (undefined *)(*pcVar4)();\n              param_4[0xc] = puVar7;\n            }\n            *(undefined **)((int)piVar18 + -8) = puVar15;\n            *(undefined ***)((int)piVar18 + -0xc) = param_4;\n            *(undefined **)((int)piVar18 + -0x10) = puVar7;\n            *(undefined4 *)((int)piVar18 + -0x14) = 0xd2591;\n            local_b4 = (undefined **)FUN_0028b7d0();\n            goto LAB_000d24ee;\n          }\n          ppuVar14 = *(undefined ***)(iVar19 + 4);\n          local_c4 = local_bc + (int)ppuVar14;\n          if (local_d1 == '\0') goto LAB_000d2489;\n          local_b0 = &local_34;\n          local_34 = (undefined **)0x0;\n          *(undefined ****)((int)piVar18 + -0xc) = local_b0;\n          *(int *)((int)piVar18 + -0x10) = local_c8;\n          local_30 = (undefined **)0x0;\n                    \n          *(undefined4 *)((int)piVar18 + -0x14) = 0xd23cf;\n          FUN_00073b00();\n          local_c0 = (undefined **)((uint)local_c0 & 0xffffff00);\n          if ((*(byte *)(iVar19 + 0xc) & 0xf) != 3) goto LAB_000d23e8;\nLAB_000d254c:\n          *(undefined ****)((int)piVar18 + -0xc) = local_b0;\n          *(int *)((int)piVar18 + -0x10) = local_cc;\n          local_34 = (undefined **)0xffffffff;\n          *(undefined4 *)((int)piVar18 + -0x14) = 0xd2567;\n          FUN_00073ca0();\nLAB_000d2403:\n          *(undefined ****)((int)piVar18 + -0xc) = local_b0;\n          *(undefined ***)((int)piVar18 + -0x10) = local_e8;\n          local_2c = local_bc;\n          local_28 = (int)local_bc >> 0x1f;\n          local_30 = (undefined **)0x0;\n          *(undefined4 *)((int)piVar18 + -0x14) = 0xd2433;\n          local_34 = ppuVar14;\n          FUN_00073e70();\n          local_30 = (undefined **)0x0;\n          local_34 = (undefined **)*param_7;\n          puVar1 = *(undefined4 **)(local_d0 + 4);\n          if (puVar1 == *(undefined4 **)(local_d0 + 8)) {\n            *(undefined ****)((int)piVar18 + -8) = local_b0;\n            *(undefined4 **)((int)piVar18 + -0xc) = puVar1;\n            *(int *)((int)piVar18 + -0x10) = local_d0;\n            *(undefined4 *)((int)piVar18 + -0x14) = 0xd2b0d;\n            FUN_00072a40();\n          }\n          else {\n            *puVar1 = local_34;\n            puVar1[1] = 0;\n            *(undefined4 **)(local_d0 + 4) = puVar1 + 2;\n          }\n          local_68 = (undefined **)0x0;\n          *(undefined ****)((int)piVar18 + -0xc) = &local_68;\n          *(int *)((int)piVar18 + -0x10) = local_ec;\n          *(undefined4 *)((int)piVar18 + -0x14) = 0xd2479;\n          FUN_00074020();\n          if ((char)local_c0 == '\0') goto LAB_000d2489;\n        }" (else "else") (compound_statement "{\n          if (local_b4 == (undefined **)0xffff) {\n            puVar7 = param_4[0xc];\n            if (puVar7 == (undefined *)0x0) {\n              puVar7 = *param_4;\n              *(undefined ***)((int)piVar18 + -0x10) = param_4;\n              pcVar4 = *(code **)(puVar7 + 0x6c);\n              *(undefined4 *)((int)piVar18 + -0x14) = 0xd2a4e;\n              puVar7 = (undefined *)(*pcVar4)();\n              param_4[0xc] = puVar7;\n            }\n            *(undefined **)((int)piVar18 + -8) = puVar15;\n            *(undefined ***)((int)piVar18 + -0xc) = param_4;\n            *(undefined **)((int)piVar18 + -0x10) = puVar7;\n            *(undefined4 *)((int)piVar18 + -0x14) = 0xd2591;\n            local_b4 = (undefined **)FUN_0028b7d0();\n            goto LAB_000d24ee;\n          }\n          ppuVar14 = *(undefined ***)(iVar19 + 4);\n          local_c4 = local_bc + (int)ppuVar14;\n          if (local_d1 == '\0') goto LAB_000d2489;\n          local_b0 = &local_34;\n          local_34 = (undefined **)0x0;\n          *(undefined ****)((int)piVar18 + -0xc) = local_b0;\n          *(int *)((int)piVar18 + -0x10) = local_c8;\n          local_30 = (undefined **)0x0;\n                    \n          *(undefined4 *)((int)piVar18 + -0x14) = 0xd23cf;\n          FUN_00073b00();\n          local_c0 = (undefined **)((uint)local_c0 & 0xffffff00);\n          if ((*(byte *)(iVar19 + 0xc) & 0xf) != 3) goto LAB_000d23e8;\nLAB_000d254c:\n          *(undefined ****)((int)piVar18 + -0xc) = local_b0;\n          *(int *)((int)piVar18 + -0x10) = local_cc;\n          local_34 = (undefined **)0xffffffff;\n          *(undefined4 *)((int)piVar18 + -0x14) = 0xd2567;\n          FUN_00073ca0();\nLAB_000d2403:\n          *(undefined ****)((int)piVar18 + -0xc) = local_b0;\n          *(undefined ***)((int)piVar18 + -0x10) = local_e8;\n          local_2c = local_bc;\n          local_28 = (int)local_bc >> 0x1f;\n          local_30 = (undefined **)0x0;\n          *(undefined4 *)((int)piVar18 + -0x14) = 0xd2433;\n          local_34 = ppuVar14;\n          FUN_00073e70();\n          local_30 = (undefined **)0x0;\n          local_34 = (undefined **)*param_7;\n          puVar1 = *(undefined4 **)(local_d0 + 4);\n          if (puVar1 == *(undefined4 **)(local_d0 + 8)) {\n            *(undefined ****)((int)piVar18 + -8) = local_b0;\n            *(undefined4 **)((int)piVar18 + -0xc) = puVar1;\n            *(int *)((int)piVar18 + -0x10) = local_d0;\n            *(undefined4 *)((int)piVar18 + -0x14) = 0xd2b0d;\n            FUN_00072a40();\n          }\n          else {\n            *puVar1 = local_34;\n            puVar1[1] = 0;\n            *(undefined4 **)(local_d0 + 4) = puVar1 + 2;\n          }\n          local_68 = (undefined **)0x0;\n          *(undefined ****)((int)piVar18 + -0xc) = &local_68;\n          *(int *)((int)piVar18 + -0x10) = local_ec;\n          *(undefined4 *)((int)piVar18 + -0x14) = 0xd2479;\n          FUN_00074020();\n          if ((char)local_c0 == '\0') goto LAB_000d2489;\n        }" ({ "{") (if_statement "if (local_b4 == (undefined **)0xffff) {\n            puVar7 = param_4[0xc];\n            if (puVar7 == (undefined *)0x0) {\n              puVar7 = *param_4;\n              *(undefined ***)((int)piVar18 + -0x10) = param_4;\n              pcVar4 = *(code **)(puVar7 + 0x6c);\n              *(undefined4 *)((int)piVar18 + -0x14) = 0xd2a4e;\n              puVar7 = (undefined *)(*pcVar4)();\n              param_4[0xc] = puVar7;\n            }\n            *(undefined **)((int)piVar18 + -8) = puVar15;\n            *(undefined ***)((int)piVar18 + -0xc) = param_4;\n            *(undefined **)((int)piVar18 + -0x10) = puVar7;\n            *(undefined4 *)((int)piVar18 + -0x14) = 0xd2591;\n            local_b4 = (undefined **)FUN_0028b7d0();\n            goto LAB_000d24ee;\n          }" (if "if") (parenthesized_expression "(local_b4 == (undefined **)0xffff)" (( "(") (binary_expression "local_b4 == (undefined **)0xffff" (identifier "local_b4") (== "==") (cast_expression "(undefined **)0xffff" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (number_literal "0xffff"))) () ")")) (compound_statement "{\n            puVar7 = param_4[0xc];\n            if (puVar7 == (undefined *)0x0) {\n              puVar7 = *param_4;\n              *(undefined ***)((int)piVar18 + -0x10) = param_4;\n              pcVar4 = *(code **)(puVar7 + 0x6c);\n              *(undefined4 *)((int)piVar18 + -0x14) = 0xd2a4e;\n              puVar7 = (undefined *)(*pcVar4)();\n              param_4[0xc] = puVar7;\n            }\n            *(undefined **)((int)piVar18 + -8) = puVar15;\n            *(undefined ***)((int)piVar18 + -0xc) = param_4;\n            *(undefined **)((int)piVar18 + -0x10) = puVar7;\n            *(undefined4 *)((int)piVar18 + -0x14) = 0xd2591;\n            local_b4 = (undefined **)FUN_0028b7d0();\n            goto LAB_000d24ee;\n          }" ({ "{") (expression_statement "puVar7 = param_4[0xc];" (assignment_expression "puVar7 = param_4[0xc]" (identifier "puVar7") (= "=") (subscript_expression "param_4[0xc]" (identifier "param_4") ([ "[") (number_literal "0xc") (] "]"))) (; ";")) (if_statement "if (puVar7 == (undefined *)0x0) {\n              puVar7 = *param_4;\n              *(undefined ***)((int)piVar18 + -0x10) = param_4;\n              pcVar4 = *(code **)(puVar7 + 0x6c);\n              *(undefined4 *)((int)piVar18 + -0x14) = 0xd2a4e;\n              puVar7 = (undefined *)(*pcVar4)();\n              param_4[0xc] = puVar7;\n            }" (if "if") (parenthesized_expression "(puVar7 == (undefined *)0x0)" (( "(") (binary_expression "puVar7 == (undefined *)0x0" (identifier "puVar7") (== "==") (cast_expression "(undefined *)0x0" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n              puVar7 = *param_4;\n              *(undefined ***)((int)piVar18 + -0x10) = param_4;\n              pcVar4 = *(code **)(puVar7 + 0x6c);\n              *(undefined4 *)((int)piVar18 + -0x14) = 0xd2a4e;\n              puVar7 = (undefined *)(*pcVar4)();\n              param_4[0xc] = puVar7;\n            }" ({ "{") (expression_statement "puVar7 = *param_4;" (assignment_expression "puVar7 = *param_4" (identifier "puVar7") (= "=") (pointer_expression "*param_4" (* "*") (identifier "param_4"))) (; ";")) (expression_statement "*(undefined ***)((int)piVar18 + -0x10) = param_4;" (assignment_expression "*(undefined ***)((int)piVar18 + -0x10) = param_4" (pointer_expression "*(undefined ***)((int)piVar18 + -0x10)" (* "*") (cast_expression "(undefined ***)((int)piVar18 + -0x10)" (( "(") (type_descriptor "undefined ***" (type_identifier "undefined") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "((int)piVar18 + -0x10)" (( "(") (binary_expression "(int)piVar18 + -0x10" (cast_expression "(int)piVar18" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar18")) (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "param_4")) (; ";")) (expression_statement "pcVar4 = *(code **)(puVar7 + 0x6c);" (assignment_expression "pcVar4 = *(code **)(puVar7 + 0x6c)" (identifier "pcVar4") (= "=") (pointer_expression "*(code **)(puVar7 + 0x6c)" (* "*") (cast_expression "(code **)(puVar7 + 0x6c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar7 + 0x6c)" (( "(") (binary_expression "puVar7 + 0x6c" (identifier "puVar7") (+ "+") (number_literal "0x6c")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)((int)piVar18 + -0x14) = 0xd2a4e;" (assignment_expression "*(undefined4 *)((int)piVar18 + -0x14) = 0xd2a4e" (pointer_expression "*(undefined4 *)((int)piVar18 + -0x14)" (* "*") (cast_expression "(undefined4 *)((int)piVar18 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar18 + -0x14)" (( "(") (binary_expression "(int)piVar18 + -0x14" (cast_expression "(int)piVar18" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar18")) (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0xd2a4e")) (; ";")) (expression_statement "puVar7 = (undefined *)(*pcVar4)();" (assignment_expression "puVar7 = (undefined *)(*pcVar4)()" (identifier "puVar7") (= "=") (cast_expression "(undefined *)(*pcVar4)()" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(*pcVar4)()" (parenthesized_expression "(*pcVar4)" (( "(") (pointer_expression "*pcVar4" (* "*") (identifier "pcVar4")) () ")")) (argument_list "()" (( "(") () ")"))))) (; ";")) (expression_statement "param_4[0xc] = puVar7;" (assignment_expression "param_4[0xc] = puVar7" (subscript_expression "param_4[0xc]" (identifier "param_4") ([ "[") (number_literal "0xc") (] "]")) (= "=") (identifier "puVar7")) (; ";")) (} "}"))) (expression_statement "*(undefined **)((int)piVar18 + -8) = puVar15;" (assignment_expression "*(undefined **)((int)piVar18 + -8) = puVar15" (pointer_expression "*(undefined **)((int)piVar18 + -8)" (* "*") (cast_expression "(undefined **)((int)piVar18 + -8)" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)piVar18 + -8)" (( "(") (binary_expression "(int)piVar18 + -8" (cast_expression "(int)piVar18" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar18")) (+ "+") (number_literal "-8")) () ")")))) (= "=") (identifier "puVar15")) (; ";")) (expression_statement "*(undefined ***)((int)piVar18 + -0xc) = param_4;" (assignment_expression "*(undefined ***)((int)piVar18 + -0xc) = param_4" (pointer_expression "*(undefined ***)((int)piVar18 + -0xc)" (* "*") (cast_expression "(undefined ***)((int)piVar18 + -0xc)" (( "(") (type_descriptor "undefined ***" (type_identifier "undefined") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "((int)piVar18 + -0xc)" (( "(") (binary_expression "(int)piVar18 + -0xc" (cast_expression "(int)piVar18" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar18")) (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (identifier "param_4")) (; ";")) (expression_statement "*(undefined **)((int)piVar18 + -0x10) = puVar7;" (assignment_expression "*(undefined **)((int)piVar18 + -0x10) = puVar7" (pointer_expression "*(undefined **)((int)piVar18 + -0x10)" (* "*") (cast_expression "(undefined **)((int)piVar18 + -0x10)" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)piVar18 + -0x10)" (( "(") (binary_expression "(int)piVar18 + -0x10" (cast_expression "(int)piVar18" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar18")) (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "puVar7")) (; ";")) (expression_statement "*(undefined4 *)((int)piVar18 + -0x14) = 0xd2591;" (assignment_expression "*(undefined4 *)((int)piVar18 + -0x14) = 0xd2591" (pointer_expression "*(undefined4 *)((int)piVar18 + -0x14)" (* "*") (cast_expression "(undefined4 *)((int)piVar18 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar18 + -0x14)" (( "(") (binary_expression "(int)piVar18 + -0x14" (cast_expression "(int)piVar18" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar18")) (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0xd2591")) (; ";")) (expression_statement "local_b4 = (undefined **)FUN_0028b7d0();" (assignment_expression "local_b4 = (undefined **)FUN_0028b7d0()" (identifier "local_b4") (= "=") (cast_expression "(undefined **)FUN_0028b7d0()" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (call_expression "FUN_0028b7d0()" (identifier "FUN_0028b7d0") (argument_list "()" (( "(") () ")"))))) (; ";")) (goto_statement "goto LAB_000d24ee;" (goto "goto") (statement_identifier "LAB_000d24ee") (; ";")) (} "}"))) (expression_statement "ppuVar14 = *(undefined ***)(iVar19 + 4);" (assignment_expression "ppuVar14 = *(undefined ***)(iVar19 + 4)" (identifier "ppuVar14") (= "=") (pointer_expression "*(undefined ***)(iVar19 + 4)" (* "*") (cast_expression "(undefined ***)(iVar19 + 4)" (( "(") (type_descriptor "undefined ***" (type_identifier "undefined") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "(iVar19 + 4)" (( "(") (binary_expression "iVar19 + 4" (identifier "iVar19") (+ "+") (number_literal "4")) () ")"))))) (; ";")) (expression_statement "local_c4 = local_bc + (int)ppuVar14;" (assignment_expression "local_c4 = local_bc + (int)ppuVar14" (identifier "local_c4") (= "=") (binary_expression "local_bc + (int)ppuVar14" (identifier "local_bc") (+ "+") (cast_expression "(int)ppuVar14" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppuVar14")))) (; ";")) (if_statement "if (local_d1 == '\0') goto LAB_000d2489;" (if "if") (parenthesized_expression "(local_d1 == '\0')" (( "(") (binary_expression "local_d1 == '\0'" (identifier "local_d1") (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (goto_statement "goto LAB_000d2489;" (goto "goto") (statement_identifier "LAB_000d2489") (; ";"))) (expression_statement "local_b0 = &local_34;" (assignment_expression "local_b0 = &local_34" (identifier "local_b0") (= "=") (pointer_expression "&local_34" (& "&") (identifier "local_34"))) (; ";")) (expression_statement "local_34 = (undefined **)0x0;" (assignment_expression "local_34 = (undefined **)0x0" (identifier "local_34") (= "=") (cast_expression "(undefined **)0x0" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "*(undefined ****)((int)piVar18 + -0xc) = local_b0;" (assignment_expression "*(undefined ****)((int)piVar18 + -0xc) = local_b0" (pointer_expression "*(undefined ****)((int)piVar18 + -0xc)" (* "*") (cast_expression "(undefined ****)((int)piVar18 + -0xc)" (( "(") (type_descriptor "undefined ****" (type_identifier "undefined") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))) () ")") (parenthesized_expression "((int)piVar18 + -0xc)" (( "(") (binary_expression "(int)piVar18 + -0xc" (cast_expression "(int)piVar18" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar18")) (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (identifier "local_b0")) (; ";")) (expression_statement "*(int *)((int)piVar18 + -0x10) = local_c8;" (assignment_expression "*(int *)((int)piVar18 + -0x10) = local_c8" (pointer_expression "*(int *)((int)piVar18 + -0x10)" (* "*") (cast_expression "(int *)((int)piVar18 + -0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar18 + -0x10)" (( "(") (binary_expression "(int)piVar18 + -0x10" (cast_expression "(int)piVar18" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar18")) (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "local_c8")) (; ";")) (expression_statement "local_30 = (undefined **)0x0;" (assignment_expression "local_30 = (undefined **)0x0" (identifier "local_30") (= "=") (cast_expression "(undefined **)0x0" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "*(undefined4 *)((int)piVar18 + -0x14) = 0xd23cf;" (assignment_expression "*(undefined4 *)((int)piVar18 + -0x14) = 0xd23cf" (pointer_expression "*(undefined4 *)((int)piVar18 + -0x14)" (* "*") (cast_expression "(undefined4 *)((int)piVar18 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar18 + -0x14)" (( "(") (binary_expression "(int)piVar18 + -0x14" (cast_expression "(int)piVar18" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar18")) (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0xd23cf")) (; ";")) (expression_statement "FUN_00073b00();" (call_expression "FUN_00073b00()" (identifier "FUN_00073b00") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "local_c0 = (undefined **)((uint)local_c0 & 0xffffff00);" (assignment_expression "local_c0 = (undefined **)((uint)local_c0 & 0xffffff00)" (identifier "local_c0") (= "=") (cast_expression "(undefined **)((uint)local_c0 & 0xffffff00)" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((uint)local_c0 & 0xffffff00)" (( "(") (binary_expression "(uint)local_c0 & 0xffffff00" (cast_expression "(uint)local_c0" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "local_c0")) (& "&") (number_literal "0xffffff00")) () ")")))) (; ";")) (if_statement "if ((*(byte *)(iVar19 + 0xc) & 0xf) != 3) goto LAB_000d23e8;" (if "if") (parenthesized_expression "((*(byte *)(iVar19 + 0xc) & 0xf) != 3)" (( "(") (binary_expression "(*(byte *)(iVar19 + 0xc) & 0xf) != 3" (parenthesized_expression "(*(byte *)(iVar19 + 0xc) & 0xf)" (( "(") (binary_expression "*(byte *)(iVar19 + 0xc) & 0xf" (pointer_expression "*(byte *)(iVar19 + 0xc)" (* "*") (cast_expression "(byte *)(iVar19 + 0xc)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar19 + 0xc)" (( "(") (binary_expression "iVar19 + 0xc" (identifier "iVar19") (+ "+") (number_literal "0xc")) () ")")))) (& "&") (number_literal "0xf")) () ")")) (!= "!=") (number_literal "3")) () ")")) (goto_statement "goto LAB_000d23e8;" (goto "goto") (statement_identifier "LAB_000d23e8") (; ";"))) (labeled_statement "LAB_000d254c:\n          *(undefined ****)((int)piVar18 + -0xc) = local_b0;" (statement_identifier "LAB_000d254c") (: ":") (expression_statement "*(undefined ****)((int)piVar18 + -0xc) = local_b0;" (assignment_expression "*(undefined ****)((int)piVar18 + -0xc) = local_b0" (pointer_expression "*(undefined ****)((int)piVar18 + -0xc)" (* "*") (cast_expression "(undefined ****)((int)piVar18 + -0xc)" (( "(") (type_descriptor "undefined ****" (type_identifier "undefined") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))) () ")") (parenthesized_expression "((int)piVar18 + -0xc)" (( "(") (binary_expression "(int)piVar18 + -0xc" (cast_expression "(int)piVar18" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar18")) (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (identifier "local_b0")) (; ";"))) (expression_statement "*(int *)((int)piVar18 + -0x10) = local_cc;" (assignment_expression "*(int *)((int)piVar18 + -0x10) = local_cc" (pointer_expression "*(int *)((int)piVar18 + -0x10)" (* "*") (cast_expression "(int *)((int)piVar18 + -0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar18 + -0x10)" (( "(") (binary_expression "(int)piVar18 + -0x10" (cast_expression "(int)piVar18" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar18")) (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "local_cc")) (; ";")) (expression_statement "local_34 = (undefined **)0xffffffff;" (assignment_expression "local_34 = (undefined **)0xffffffff" (identifier "local_34") (= "=") (cast_expression "(undefined **)0xffffffff" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (number_literal "0xffffffff"))) (; ";")) (expression_statement "*(undefined4 *)((int)piVar18 + -0x14) = 0xd2567;" (assignment_expression "*(undefined4 *)((int)piVar18 + -0x14) = 0xd2567" (pointer_expression "*(undefined4 *)((int)piVar18 + -0x14)" (* "*") (cast_expression "(undefined4 *)((int)piVar18 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar18 + -0x14)" (( "(") (binary_expression "(int)piVar18 + -0x14" (cast_expression "(int)piVar18" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar18")) (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0xd2567")) (; ";")) (expression_statement "FUN_00073ca0();" (call_expression "FUN_00073ca0()" (identifier "FUN_00073ca0") (argument_list "()" (( "(") () ")"))) (; ";")) (labeled_statement "LAB_000d2403:\n          *(undefined ****)((int)piVar18 + -0xc) = local_b0;" (statement_identifier "LAB_000d2403") (: ":") (expression_statement "*(undefined ****)((int)piVar18 + -0xc) = local_b0;" (assignment_expression "*(undefined ****)((int)piVar18 + -0xc) = local_b0" (pointer_expression "*(undefined ****)((int)piVar18 + -0xc)" (* "*") (cast_expression "(undefined ****)((int)piVar18 + -0xc)" (( "(") (type_descriptor "undefined ****" (type_identifier "undefined") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))) () ")") (parenthesized_expression "((int)piVar18 + -0xc)" (( "(") (binary_expression "(int)piVar18 + -0xc" (cast_expression "(int)piVar18" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar18")) (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (identifier "local_b0")) (; ";"))) (expression_statement "*(undefined ***)((int)piVar18 + -0x10) = local_e8;" (assignment_expression "*(undefined ***)((int)piVar18 + -0x10) = local_e8" (pointer_expression "*(undefined ***)((int)piVar18 + -0x10)" (* "*") (cast_expression "(undefined ***)((int)piVar18 + -0x10)" (( "(") (type_descriptor "undefined ***" (type_identifier "undefined") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "((int)piVar18 + -0x10)" (( "(") (binary_expression "(int)piVar18 + -0x10" (cast_expression "(int)piVar18" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar18")) (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "local_e8")) (; ";")) (expression_statement "local_2c = local_bc;" (assignment_expression "local_2c = local_bc" (identifier "local_2c") (= "=") (identifier "local_bc")) (; ";")) (expression_statement "local_28 = (int)local_bc >> 0x1f;" (assignment_expression "local_28 = (int)local_bc >> 0x1f" (identifier "local_28") (= "=") (binary_expression "(int)local_bc >> 0x1f" (cast_expression "(int)local_bc" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_bc")) (>> ">>") (number_literal "0x1f"))) (; ";")) (expression_statement "local_30 = (undefined **)0x0;" (assignment_expression "local_30 = (undefined **)0x0" (identifier "local_30") (= "=") (cast_expression "(undefined **)0x0" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "*(undefined4 *)((int)piVar18 + -0x14) = 0xd2433;" (assignment_expression "*(undefined4 *)((int)piVar18 + -0x14) = 0xd2433" (pointer_expression "*(undefined4 *)((int)piVar18 + -0x14)" (* "*") (cast_expression "(undefined4 *)((int)piVar18 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar18 + -0x14)" (( "(") (binary_expression "(int)piVar18 + -0x14" (cast_expression "(int)piVar18" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar18")) (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0xd2433")) (; ";")) (expression_statement "local_34 = ppuVar14;" (assignment_expression "local_34 = ppuVar14" (identifier "local_34") (= "=") (identifier "ppuVar14")) (; ";")) (expression_statement "FUN_00073e70();" (call_expression "FUN_00073e70()" (identifier "FUN_00073e70") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "local_30 = (undefined **)0x0;" (assignment_expression "local_30 = (undefined **)0x0" (identifier "local_30") (= "=") (cast_expression "(undefined **)0x0" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "local_34 = (undefined **)*param_7;" (assignment_expression "local_34 = (undefined **)*param_7" (identifier "local_34") (= "=") (cast_expression "(undefined **)*param_7" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (pointer_expression "*param_7" (* "*") (identifier "param_7")))) (; ";")) (expression_statement "puVar1 = *(undefined4 **)(local_d0 + 4);" (assignment_expression "puVar1 = *(undefined4 **)(local_d0 + 4)" (identifier "puVar1") (= "=") (pointer_expression "*(undefined4 **)(local_d0 + 4)" (* "*") (cast_expression "(undefined4 **)(local_d0 + 4)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(local_d0 + 4)" (( "(") (binary_expression "local_d0 + 4" (identifier "local_d0") (+ "+") (number_literal "4")) () ")"))))) (; ";")) (if_statement "if (puVar1 == *(undefined4 **)(local_d0 + 8)) {\n            *(undefined ****)((int)piVar18 + -8) = local_b0;\n            *(undefined4 **)((int)piVar18 + -0xc) = puVar1;\n            *(int *)((int)piVar18 + -0x10) = local_d0;\n            *(undefined4 *)((int)piVar18 + -0x14) = 0xd2b0d;\n            FUN_00072a40();\n          }\n          else {\n            *puVar1 = local_34;\n            puVar1[1] = 0;\n            *(undefined4 **)(local_d0 + 4) = puVar1 + 2;\n          }" (if "if") (parenthesized_expression "(puVar1 == *(undefined4 **)(local_d0 + 8))" (( "(") (binary_expression "puVar1 == *(undefined4 **)(local_d0 + 8)" (identifier "puVar1") (== "==") (pointer_expression "*(undefined4 **)(local_d0 + 8)" (* "*") (cast_expression "(undefined4 **)(local_d0 + 8)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(local_d0 + 8)" (( "(") (binary_expression "local_d0 + 8" (identifier "local_d0") (+ "+") (number_literal "8")) () ")"))))) () ")")) (compound_statement "{\n            *(undefined ****)((int)piVar18 + -8) = local_b0;\n            *(undefined4 **)((int)piVar18 + -0xc) = puVar1;\n            *(int *)((int)piVar18 + -0x10) = local_d0;\n            *(undefined4 *)((int)piVar18 + -0x14) = 0xd2b0d;\n            FUN_00072a40();\n          }" ({ "{") (expression_statement "*(undefined ****)((int)piVar18 + -8) = local_b0;" (assignment_expression "*(undefined ****)((int)piVar18 + -8) = local_b0" (pointer_expression "*(undefined ****)((int)piVar18 + -8)" (* "*") (cast_expression "(undefined ****)((int)piVar18 + -8)" (( "(") (type_descriptor "undefined ****" (type_identifier "undefined") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))) () ")") (parenthesized_expression "((int)piVar18 + -8)" (( "(") (binary_expression "(int)piVar18 + -8" (cast_expression "(int)piVar18" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar18")) (+ "+") (number_literal "-8")) () ")")))) (= "=") (identifier "local_b0")) (; ";")) (expression_statement "*(undefined4 **)((int)piVar18 + -0xc) = puVar1;" (assignment_expression "*(undefined4 **)((int)piVar18 + -0xc) = puVar1" (pointer_expression "*(undefined4 **)((int)piVar18 + -0xc)" (* "*") (cast_expression "(undefined4 **)((int)piVar18 + -0xc)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)piVar18 + -0xc)" (( "(") (binary_expression "(int)piVar18 + -0xc" (cast_expression "(int)piVar18" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar18")) (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (identifier "puVar1")) (; ";")) (expression_statement "*(int *)((int)piVar18 + -0x10) = local_d0;" (assignment_expression "*(int *)((int)piVar18 + -0x10) = local_d0" (pointer_expression "*(int *)((int)piVar18 + -0x10)" (* "*") (cast_expression "(int *)((int)piVar18 + -0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar18 + -0x10)" (( "(") (binary_expression "(int)piVar18 + -0x10" (cast_expression "(int)piVar18" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar18")) (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "local_d0")) (; ";")) (expression_statement "*(undefined4 *)((int)piVar18 + -0x14) = 0xd2b0d;" (assignment_expression "*(undefined4 *)((int)piVar18 + -0x14) = 0xd2b0d" (pointer_expression "*(undefined4 *)((int)piVar18 + -0x14)" (* "*") (cast_expression "(undefined4 *)((int)piVar18 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar18 + -0x14)" (( "(") (binary_expression "(int)piVar18 + -0x14" (cast_expression "(int)piVar18" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar18")) (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0xd2b0d")) (; ";")) (expression_statement "FUN_00072a40();" (call_expression "FUN_00072a40()" (identifier "FUN_00072a40") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}")) (else_clause "else {\n            *puVar1 = local_34;\n            puVar1[1] = 0;\n            *(undefined4 **)(local_d0 + 4) = puVar1 + 2;\n          }" (else "else") (compound_statement "{\n            *puVar1 = local_34;\n            puVar1[1] = 0;\n            *(undefined4 **)(local_d0 + 4) = puVar1 + 2;\n          }" ({ "{") (expression_statement "*puVar1 = local_34;" (assignment_expression "*puVar1 = local_34" (pointer_expression "*puVar1" (* "*") (identifier "puVar1")) (= "=") (identifier "local_34")) (; ";")) (expression_statement "puVar1[1] = 0;" (assignment_expression "puVar1[1] = 0" (subscript_expression "puVar1[1]" (identifier "puVar1") ([ "[") (number_literal "1") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(undefined4 **)(local_d0 + 4) = puVar1 + 2;" (assignment_expression "*(undefined4 **)(local_d0 + 4) = puVar1 + 2" (pointer_expression "*(undefined4 **)(local_d0 + 4)" (* "*") (cast_expression "(undefined4 **)(local_d0 + 4)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(local_d0 + 4)" (( "(") (binary_expression "local_d0 + 4" (identifier "local_d0") (+ "+") (number_literal "4")) () ")")))) (= "=") (binary_expression "puVar1 + 2" (identifier "puVar1") (+ "+") (number_literal "2"))) (; ";")) (} "}")))) (expression_statement "local_68 = (undefined **)0x0;" (assignment_expression "local_68 = (undefined **)0x0" (identifier "local_68") (= "=") (cast_expression "(undefined **)0x0" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "*(undefined ****)((int)piVar18 + -0xc) = &local_68;" (assignment_expression "*(undefined ****)((int)piVar18 + -0xc) = &local_68" (pointer_expression "*(undefined ****)((int)piVar18 + -0xc)" (* "*") (cast_expression "(undefined ****)((int)piVar18 + -0xc)" (( "(") (type_descriptor "undefined ****" (type_identifier "undefined") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))) () ")") (parenthesized_expression "((int)piVar18 + -0xc)" (( "(") (binary_expression "(int)piVar18 + -0xc" (cast_expression "(int)piVar18" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar18")) (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (pointer_expression "&local_68" (& "&") (identifier "local_68"))) (; ";")) (expression_statement "*(int *)((int)piVar18 + -0x10) = local_ec;" (assignment_expression "*(int *)((int)piVar18 + -0x10) = local_ec" (pointer_expression "*(int *)((int)piVar18 + -0x10)" (* "*") (cast_expression "(int *)((int)piVar18 + -0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar18 + -0x10)" (( "(") (binary_expression "(int)piVar18 + -0x10" (cast_expression "(int)piVar18" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar18")) (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "local_ec")) (; ";")) (expression_statement "*(undefined4 *)((int)piVar18 + -0x14) = 0xd2479;" (assignment_expression "*(undefined4 *)((int)piVar18 + -0x14) = 0xd2479" (pointer_expression "*(undefined4 *)((int)piVar18 + -0x14)" (* "*") (cast_expression "(undefined4 *)((int)piVar18 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar18 + -0x14)" (( "(") (binary_expression "(int)piVar18 + -0x14" (cast_expression "(int)piVar18" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar18")) (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0xd2479")) (; ";")) (expression_statement "FUN_00074020();" (call_expression "FUN_00074020()" (identifier "FUN_00074020") (argument_list "()" (( "(") () ")"))) (; ";")) (if_statement "if ((char)local_c0 == '\0') goto LAB_000d2489;" (if "if") (parenthesized_expression "((char)local_c0 == '\0')" (( "(") (binary_expression "(char)local_c0 == '\0'" (cast_expression "(char)local_c0" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (identifier "local_c0")) (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (goto_statement "goto LAB_000d2489;" (goto "goto") (statement_identifier "LAB_000d2489") (; ";"))) (} "}")))) (if_statement "if (((local_d2 != '\0') && ((*(byte *)(iVar19 + 0xc) & 0xf) != 1)) &&\n           ((0x17 < uVar21 || ((0x843f84U >> (uVar2 & 0x1f) & 1) == 0)))) {\n          local_b0 = *(undefined ****)(param_2 + 0x15c);\n          local_80 = param_4;\n          local_7c = (uint)*(ushort *)(iVar19 + 0xe);\n          *(undefined4 *)((int)piVar18 + -0xc) = 1;\n          *(undefined4 *)((int)piVar18 + -0x10) = 0;\n          local_98 = local_b0 + 0xd;\n          *(undefined *****)((int)piVar18 + -0x14) = &local_98;\n          *(undefined ****)((int)piVar18 + -0x18) = &local_80;\n          *(undefined ****)((int)piVar18 + -0x1c) = local_98;\n          *(undefined1 **)((int)piVar18 + -0x20) = local_e0;\n          *(undefined4 *)((int)piVar18 + -0x24) = 0xd2ad1;\n          FUN_00074280();\n          piVar18 = (int *)((int)piVar18 + -4);\n        }" (if "if") (parenthesized_expression "(((local_d2 != '\0') && ((*(byte *)(iVar19 + 0xc) & 0xf) != 1)) &&\n           ((0x17 < uVar21 || ((0x843f84U >> (uVar2 & 0x1f) & 1) == 0))))" (( "(") (binary_expression "((local_d2 != '\0') && ((*(byte *)(iVar19 + 0xc) & 0xf) != 1)) &&\n           ((0x17 < uVar21 || ((0x843f84U >> (uVar2 & 0x1f) & 1) == 0)))" (parenthesized_expression "((local_d2 != '\0') && ((*(byte *)(iVar19 + 0xc) & 0xf) != 1))" (( "(") (binary_expression "(local_d2 != '\0') && ((*(byte *)(iVar19 + 0xc) & 0xf) != 1)" (parenthesized_expression "(local_d2 != '\0')" (( "(") (binary_expression "local_d2 != '\0'" (identifier "local_d2") (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (&& "&&") (parenthesized_expression "((*(byte *)(iVar19 + 0xc) & 0xf) != 1)" (( "(") (binary_expression "(*(byte *)(iVar19 + 0xc) & 0xf) != 1" (parenthesized_expression "(*(byte *)(iVar19 + 0xc) & 0xf)" (( "(") (binary_expression "*(byte *)(iVar19 + 0xc) & 0xf" (pointer_expression "*(byte *)(iVar19 + 0xc)" (* "*") (cast_expression "(byte *)(iVar19 + 0xc)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar19 + 0xc)" (( "(") (binary_expression "iVar19 + 0xc" (identifier "iVar19") (+ "+") (number_literal "0xc")) () ")")))) (& "&") (number_literal "0xf")) () ")")) (!= "!=") (number_literal "1")) () ")"))) () ")")) (&& "&&") (parenthesized_expression "((0x17 < uVar21 || ((0x843f84U >> (uVar2 & 0x1f) & 1) == 0)))" (( "(") (parenthesized_expression "(0x17 < uVar21 || ((0x843f84U >> (uVar2 & 0x1f) & 1) == 0))" (( "(") (binary_expression "0x17 < uVar21 || ((0x843f84U >> (uVar2 & 0x1f) & 1) == 0)" (binary_expression "0x17 < uVar21" (number_literal "0x17") (< "<") (identifier "uVar21")) (|| "||") (parenthesized_expression "((0x843f84U >> (uVar2 & 0x1f) & 1) == 0)" (( "(") (binary_expression "(0x843f84U >> (uVar2 & 0x1f) & 1) == 0" (parenthesized_expression "(0x843f84U >> (uVar2 & 0x1f) & 1)" (( "(") (binary_expression "0x843f84U >> (uVar2 & 0x1f) & 1" (binary_expression "0x843f84U >> (uVar2 & 0x1f)" (number_literal "0x843f84U") (>> ">>") (parenthesized_expression "(uVar2 & 0x1f)" (( "(") (binary_expression "uVar2 & 0x1f" (identifier "uVar2") (& "&") (number_literal "0x1f")) () ")"))) (& "&") (number_literal "1")) () ")")) (== "==") (number_literal "0")) () ")"))) () ")")) () ")"))) () ")")) (compound_statement "{\n          local_b0 = *(undefined ****)(param_2 + 0x15c);\n          local_80 = param_4;\n          local_7c = (uint)*(ushort *)(iVar19 + 0xe);\n          *(undefined4 *)((int)piVar18 + -0xc) = 1;\n          *(undefined4 *)((int)piVar18 + -0x10) = 0;\n          local_98 = local_b0 + 0xd;\n          *(undefined *****)((int)piVar18 + -0x14) = &local_98;\n          *(undefined ****)((int)piVar18 + -0x18) = &local_80;\n          *(undefined ****)((int)piVar18 + -0x1c) = local_98;\n          *(undefined1 **)((int)piVar18 + -0x20) = local_e0;\n          *(undefined4 *)((int)piVar18 + -0x24) = 0xd2ad1;\n          FUN_00074280();\n          piVar18 = (int *)((int)piVar18 + -4);\n        }" ({ "{") (expression_statement "local_b0 = *(undefined ****)(param_2 + 0x15c);" (assignment_expression "local_b0 = *(undefined ****)(param_2 + 0x15c)" (identifier "local_b0") (= "=") (pointer_expression "*(undefined ****)(param_2 + 0x15c)" (* "*") (cast_expression "(undefined ****)(param_2 + 0x15c)" (( "(") (type_descriptor "undefined ****" (type_identifier "undefined") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))) () ")") (parenthesized_expression "(param_2 + 0x15c)" (( "(") (binary_expression "param_2 + 0x15c" (identifier "param_2") (+ "+") (number_literal "0x15c")) () ")"))))) (; ";")) (expression_statement "local_80 = param_4;" (assignment_expression "local_80 = param_4" (identifier "local_80") (= "=") (identifier "param_4")) (; ";")) (expression_statement "local_7c = (uint)*(ushort *)(iVar19 + 0xe);" (assignment_expression "local_7c = (uint)*(ushort *)(iVar19 + 0xe)" (identifier "local_7c") (= "=") (binary_expression "(uint)*(ushort *)(iVar19 + 0xe)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (* "*") (cast_expression "(ushort *)(iVar19 + 0xe)" (( "(") (type_descriptor "ushort *" (type_identifier "ushort") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar19 + 0xe)" (( "(") (binary_expression "iVar19 + 0xe" (identifier "iVar19") (+ "+") (number_literal "0xe")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)((int)piVar18 + -0xc) = 1;" (assignment_expression "*(undefined4 *)((int)piVar18 + -0xc) = 1" (pointer_expression "*(undefined4 *)((int)piVar18 + -0xc)" (* "*") (cast_expression "(undefined4 *)((int)piVar18 + -0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar18 + -0xc)" (( "(") (binary_expression "(int)piVar18 + -0xc" (cast_expression "(int)piVar18" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar18")) (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (number_literal "1")) (; ";")) (expression_statement "*(undefined4 *)((int)piVar18 + -0x10) = 0;" (assignment_expression "*(undefined4 *)((int)piVar18 + -0x10) = 0" (pointer_expression "*(undefined4 *)((int)piVar18 + -0x10)" (* "*") (cast_expression "(undefined4 *)((int)piVar18 + -0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar18 + -0x10)" (( "(") (binary_expression "(int)piVar18 + -0x10" (cast_expression "(int)piVar18" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar18")) (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "local_98 = local_b0 + 0xd;" (assignment_expression "local_98 = local_b0 + 0xd" (identifier "local_98") (= "=") (binary_expression "local_b0 + 0xd" (identifier "local_b0") (+ "+") (number_literal "0xd"))) (; ";")) (expression_statement "*(undefined *****)((int)piVar18 + -0x14) = &local_98;" (assignment_expression "*(undefined *****)((int)piVar18 + -0x14) = &local_98" (pointer_expression "*(undefined *****)((int)piVar18 + -0x14)" (* "*") (cast_expression "(undefined *****)((int)piVar18 + -0x14)" (( "(") (type_descriptor "undefined *****" (type_identifier "undefined") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (parenthesized_expression "((int)piVar18 + -0x14)" (( "(") (binary_expression "(int)piVar18 + -0x14" (cast_expression "(int)piVar18" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar18")) (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (pointer_expression "&local_98" (& "&") (identifier "local_98"))) (; ";")) (expression_statement "*(undefined ****)((int)piVar18 + -0x18) = &local_80;" (assignment_expression "*(undefined ****)((int)piVar18 + -0x18) = &local_80" (pointer_expression "*(undefined ****)((int)piVar18 + -0x18)" (* "*") (cast_expression "(undefined ****)((int)piVar18 + -0x18)" (( "(") (type_descriptor "undefined ****" (type_identifier "undefined") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))) () ")") (parenthesized_expression "((int)piVar18 + -0x18)" (( "(") (binary_expression "(int)piVar18 + -0x18" (cast_expression "(int)piVar18" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar18")) (+ "+") (number_literal "-0x18")) () ")")))) (= "=") (pointer_expression "&local_80" (& "&") (identifier "local_80"))) (; ";")) (expression_statement "*(undefined ****)((int)piVar18 + -0x1c) = local_98;" (assignment_expression "*(undefined ****)((int)piVar18 + -0x1c) = local_98" (pointer_expression "*(undefined ****)((int)piVar18 + -0x1c)" (* "*") (cast_expression "(undefined ****)((int)piVar18 + -0x1c)" (( "(") (type_descriptor "undefined ****" (type_identifier "undefined") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))) () ")") (parenthesized_expression "((int)piVar18 + -0x1c)" (( "(") (binary_expression "(int)piVar18 + -0x1c" (cast_expression "(int)piVar18" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar18")) (+ "+") (number_literal "-0x1c")) () ")")))) (= "=") (identifier "local_98")) (; ";")) (expression_statement "*(undefined1 **)((int)piVar18 + -0x20) = local_e0;" (assignment_expression "*(undefined1 **)((int)piVar18 + -0x20) = local_e0" (pointer_expression "*(undefined1 **)((int)piVar18 + -0x20)" (* "*") (cast_expression "(undefined1 **)((int)piVar18 + -0x20)" (( "(") (type_descriptor "undefined1 **" (type_identifier "undefined1") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)piVar18 + -0x20)" (( "(") (binary_expression "(int)piVar18 + -0x20" (cast_expression "(int)piVar18" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar18")) (+ "+") (number_literal "-0x20")) () ")")))) (= "=") (identifier "local_e0")) (; ";")) (expression_statement "*(undefined4 *)((int)piVar18 + -0x24) = 0xd2ad1;" (assignment_expression "*(undefined4 *)((int)piVar18 + -0x24) = 0xd2ad1" (pointer_expression "*(undefined4 *)((int)piVar18 + -0x24)" (* "*") (cast_expression "(undefined4 *)((int)piVar18 + -0x24)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar18 + -0x24)" (( "(") (binary_expression "(int)piVar18 + -0x24" (cast_expression "(int)piVar18" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar18")) (+ "+") (number_literal "-0x24")) () ")")))) (= "=") (number_literal "0xd2ad1")) (; ";")) (expression_statement "FUN_00074280();" (call_expression "FUN_00074280()" (identifier "FUN_00074280") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "piVar18 = (int *)((int)piVar18 + -4);" (assignment_expression "piVar18 = (int *)((int)piVar18 + -4)" (identifier "piVar18") (= "=") (cast_expression "(int *)((int)piVar18 + -4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar18 + -4)" (( "(") (binary_expression "(int)piVar18 + -4" (cast_expression "(int)piVar18" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar18")) (+ "+") (number_literal "-4")) () ")")))) (; ";")) (} "}"))) (if_statement "if (param_5 != local_b4) {\n          local_c0 = param_4;\n          puVar17 = (undefined1 *)piVar18;\nLAB_000d275e:\n          if (*(int *)(*local_dc + 8) == 0) {\n            *(undefined ***)(puVar17 + -8) = local_b8 + -0x61176;\n            *(undefined4 *)(puVar17 + -0xc) = 0x5c;\n            *(int *)(puVar17 + -0x10) = (int)local_b8 + -0x1a1d93;\n                    \n            *(undefined4 *)(puVar17 + -0x14) = 0xd2f6e;\n            FUN_002446e0();\n          }\n          piVar18 = (int *)puVar17;\n          if (*(char *)(*(int *)(*local_dc + 8) + 0x18b1) != '\0') {\n            local_70 = param_4;\n            iVar19 = *(int *)(param_2 + 0x158) + 0x14;\n            local_6c = param_5;\n            local_68 = local_c0;\n            local_64 = local_b4;\n            iVar3 = *(int *)(*(int *)(param_2 + 0x158) + 0x18);\n            iVar10 = iVar19;\n            if (iVar3 == 0) {\nLAB_000d27f0:\n              local_88 = &local_70;\n              *(undefined *****)(puVar17 + -0x10) = &local_88;\n              *(undefined4 *)(puVar17 + -0x14) = 0xd2811;\n              FUN_000c5e40();\n              iVar11 = local_a8;\n            }\n            else {\n              do {\n                while ((iVar11 = iVar3, *(undefined ***)(iVar11 + 0x10) < param_4 ||\n                       ((param_4 == *(undefined ***)(iVar11 + 0x10) &&\n                        (*(undefined ***)(iVar11 + 0x14) < param_5))))) {\n                  piVar18 = (int *)(iVar11 + 0xc);\n                  iVar3 = *piVar18;\n                  iVar11 = iVar10;\n                  if (*piVar18 == 0) goto LAB_000d27da;\n                }\n                iVar3 = *(int *)(iVar11 + 8);\n                iVar10 = iVar11;\n              } while (*(int *)(iVar11 + 8) != 0);\nLAB_000d27da:\n              if (((iVar19 == iVar11) || (param_4 < *(undefined ***)(iVar11 + 0x10))) ||\n                 ((param_4 == *(undefined ***)(iVar11 + 0x10) &&\n                  (param_5 < *(undefined ***)(iVar11 + 0x14))))) goto LAB_000d27f0;\n            }\n            local_8c = iVar11 + 0x18;\n            *(undefined4 *)(puVar17 + -0xc) = 1;\n            *(undefined4 *)(puVar17 + -0x10) = 0;\n            *(int **)(puVar17 + -0x14) = local_f4;\n            *(undefined ****)(puVar17 + -0x18) = &local_68;\n            *(int *)(puVar17 + -0x1c) = local_8c;\n            *(undefined1 **)(puVar17 + -0x20) = local_e0;\n            *(undefined4 *)(puVar17 + -0x24) = 0xd2840;\n            FUN_00074340();\n            piVar18 = *(int **)(*local_dc + 0xc);\n            if (piVar18 == (int *)0x0) {\n              *(undefined ***)(puVar17 + -0xc) = local_b8 + -0x615c4;\n              *(undefined4 *)(puVar17 + -0x10) = 0x73;\n              *(int *)(puVar17 + -0x14) = (int)local_b8 + -0x1a1d93;\n                    \n              *(undefined4 *)(puVar17 + -0x18) = 0xd2fad;\n              FUN_002446e0();\n            }\n            iVar19 = *piVar18;\n            *(undefined **)(puVar17 + -0xc) = local_c4;\n            *(undefined ***)(puVar17 + -0x10) = local_b4;\n            *(undefined ***)(puVar17 + -0x14) = local_c0;\n            *(undefined ***)(puVar17 + -0x18) = param_5;\n            *(undefined ***)(puVar17 + -0x1c) = param_4;\n            *(int *)(puVar17 + -0x20) = param_2;\n            *(int **)(puVar17 + -0x24) = piVar18;\n            pcVar4 = *(code **)(iVar19 + 0x104);\n            *(undefined4 *)(puVar17 + -0x28) = 0xd287d;\n            (*pcVar4)();\n            pbVar20 = local_d8;\n            piVar18 = (int *)(puVar17 + -4);\n            if (local_d8 != (byte *)0x0) {\n              local_b4 = &local_2c;\n              local_b0 = &local_34;\n              iVar19 = *(int *)(param_2 + 0x158);\n              *(byte **)(puVar17 + -0x14) = local_d8;\n              local_34 = local_b4;\n              *(undefined4 *)(puVar17 + -0x18) = 0xd28bd;\n              sVar6 = strlen(*(char **)(puVar17 + -0x14));\n              pppuVar5 = local_b0;\n              *(undefined4 *)(puVar17 + -8) = 0;\n              *(byte **)(puVar17 + -0xc) = pbVar20 + sVar6;\n              *(byte **)(puVar17 + -0x10) = pbVar20;\n              *(undefined ****)(puVar17 + -0x14) = local_b0;\n              *(undefined4 *)(puVar17 + -0x18) = 0xd28d2;\n              FUN_00072b90();\n              *(undefined ****)(puVar17 + -0xc) = pppuVar5;\n              *(int *)(puVar17 + -0x10) = iVar19 + 0x44;\n              *(int **)(puVar17 + -0x14) = &local_ac;\n              *(undefined4 *)(puVar17 + -0x18) = 0xd28e6;\n              FUN_00094bd0();\n              iVar19 = local_ac;\n              if (local_34 != local_b4) {\n                *(undefined ***)(puVar17 + -0x18) = local_34;\n                *(undefined4 *)(puVar17 + -0x1c) = 0xd2909;\n                FUN_003ae080();\n              }\n              piVar18 = (int *)(puVar17 + -8);\n              iVar3 = *(int *)(param_2 + 0x158);\n              if (iVar19 != iVar3 + 0x48) {\n                local_34 = param_4;\n                local_30 = param_5;\n                iVar10 = *(int *)(iVar3 + 0x18);\n                iVar11 = iVar3 + 0x14;\n                if (*(int *)(iVar3 + 0x18) == 0) {\nLAB_000d2bd8:\n                  *(undefined *****)(puVar17 + -0x18) = &local_84;\n                  local_84 = local_b0;\n                  *(undefined4 *)(puVar17 + -0x1c) = 0xd2bf6;\n                  FUN_000c5e40();\n                  iVar12 = local_a8;\n                }\n                else {\n                  do {\n                    while ((iVar12 = iVar10, *(undefined ***)(iVar12 + 0x10) < param_4 ||\n                           ((param_4 == *(undefined ***)(iVar12 + 0x10) &&\n                            (*(undefined ***)(iVar12 + 0x14) < param_5))))) {\n                      piVar18 = (int *)(iVar12 + 0xc);\n                      iVar10 = *piVar18;\n                      iVar12 = iVar11;\n                      if (*piVar18 == 0) goto LAB_000d2962;\n                    }\n                    iVar10 = *(int *)(iVar12 + 8);\n                    iVar11 = iVar12;\n                  } while (*(int *)(iVar12 + 8) != 0);\nLAB_000d2962:\n                  if (((iVar12 == iVar3 + 0x14) || (param_4 < *(undefined ***)(iVar12 + 0x10))) ||\n                     ((param_4 == *(undefined ***)(iVar12 + 0x10) &&\n                      (param_5 < *(undefined ***)(iVar12 + 0x14))))) goto LAB_000d2bd8;\n                }\n                piVar18 = (int *)(puVar17 + -8);\n                puVar17 = puVar17 + -8;\n                for (puVar1 = *(undefined4 **)(iVar19 + 0x30); puVar1 != (undefined4 *)0x0;\n                    puVar1 = (undefined4 *)*puVar1) {\n                  *(undefined4 *)(puVar17 + -0xc) = 1;\n                  *(undefined4 *)(puVar17 + -0x10) = 0;\n                  *(int **)(puVar17 + -0x14) = &local_90;\n                  *(undefined4 **)(puVar17 + -0x18) = puVar1 + 1;\n                  *(int *)(puVar17 + -0x1c) = iVar12 + 0x18;\n                  *(undefined1 **)(puVar17 + -0x20) = local_e0;\n                  *(undefined4 *)(puVar17 + -0x24) = 0xd29ae;\n                  local_90 = iVar12 + 0x18;\n                  FUN_00074340();\n                  piVar18 = (int *)(puVar17 + -4);\n                  puVar17 = puVar17 + -4;\n                }\n              }\n            }\n          }\n        }" (if "if") (parenthesized_expression "(param_5 != local_b4)" (( "(") (binary_expression "param_5 != local_b4" (identifier "param_5") (!= "!=") (identifier "local_b4")) () ")")) (compound_statement "{\n          local_c0 = param_4;\n          puVar17 = (undefined1 *)piVar18;\nLAB_000d275e:\n          if (*(int *)(*local_dc + 8) == 0) {\n            *(undefined ***)(puVar17 + -8) = local_b8 + -0x61176;\n            *(undefined4 *)(puVar17 + -0xc) = 0x5c;\n            *(int *)(puVar17 + -0x10) = (int)local_b8 + -0x1a1d93;\n                    \n            *(undefined4 *)(puVar17 + -0x14) = 0xd2f6e;\n            FUN_002446e0();\n          }\n          piVar18 = (int *)puVar17;\n          if (*(char *)(*(int *)(*local_dc + 8) + 0x18b1) != '\0') {\n            local_70 = param_4;\n            iVar19 = *(int *)(param_2 + 0x158) + 0x14;\n            local_6c = param_5;\n            local_68 = local_c0;\n            local_64 = local_b4;\n            iVar3 = *(int *)(*(int *)(param_2 + 0x158) + 0x18);\n            iVar10 = iVar19;\n            if (iVar3 == 0) {\nLAB_000d27f0:\n              local_88 = &local_70;\n              *(undefined *****)(puVar17 + -0x10) = &local_88;\n              *(undefined4 *)(puVar17 + -0x14) = 0xd2811;\n              FUN_000c5e40();\n              iVar11 = local_a8;\n            }\n            else {\n              do {\n                while ((iVar11 = iVar3, *(undefined ***)(iVar11 + 0x10) < param_4 ||\n                       ((param_4 == *(undefined ***)(iVar11 + 0x10) &&\n                        (*(undefined ***)(iVar11 + 0x14) < param_5))))) {\n                  piVar18 = (int *)(iVar11 + 0xc);\n                  iVar3 = *piVar18;\n                  iVar11 = iVar10;\n                  if (*piVar18 == 0) goto LAB_000d27da;\n                }\n                iVar3 = *(int *)(iVar11 + 8);\n                iVar10 = iVar11;\n              } while (*(int *)(iVar11 + 8) != 0);\nLAB_000d27da:\n              if (((iVar19 == iVar11) || (param_4 < *(undefined ***)(iVar11 + 0x10))) ||\n                 ((param_4 == *(undefined ***)(iVar11 + 0x10) &&\n                  (param_5 < *(undefined ***)(iVar11 + 0x14))))) goto LAB_000d27f0;\n            }\n            local_8c = iVar11 + 0x18;\n            *(undefined4 *)(puVar17 + -0xc) = 1;\n            *(undefined4 *)(puVar17 + -0x10) = 0;\n            *(int **)(puVar17 + -0x14) = local_f4;\n            *(undefined ****)(puVar17 + -0x18) = &local_68;\n            *(int *)(puVar17 + -0x1c) = local_8c;\n            *(undefined1 **)(puVar17 + -0x20) = local_e0;\n            *(undefined4 *)(puVar17 + -0x24) = 0xd2840;\n            FUN_00074340();\n            piVar18 = *(int **)(*local_dc + 0xc);\n            if (piVar18 == (int *)0x0) {\n              *(undefined ***)(puVar17 + -0xc) = local_b8 + -0x615c4;\n              *(undefined4 *)(puVar17 + -0x10) = 0x73;\n              *(int *)(puVar17 + -0x14) = (int)local_b8 + -0x1a1d93;\n                    \n              *(undefined4 *)(puVar17 + -0x18) = 0xd2fad;\n              FUN_002446e0();\n            }\n            iVar19 = *piVar18;\n            *(undefined **)(puVar17 + -0xc) = local_c4;\n            *(undefined ***)(puVar17 + -0x10) = local_b4;\n            *(undefined ***)(puVar17 + -0x14) = local_c0;\n            *(undefined ***)(puVar17 + -0x18) = param_5;\n            *(undefined ***)(puVar17 + -0x1c) = param_4;\n            *(int *)(puVar17 + -0x20) = param_2;\n            *(int **)(puVar17 + -0x24) = piVar18;\n            pcVar4 = *(code **)(iVar19 + 0x104);\n            *(undefined4 *)(puVar17 + -0x28) = 0xd287d;\n            (*pcVar4)();\n            pbVar20 = local_d8;\n            piVar18 = (int *)(puVar17 + -4);\n            if (local_d8 != (byte *)0x0) {\n              local_b4 = &local_2c;\n              local_b0 = &local_34;\n              iVar19 = *(int *)(param_2 + 0x158);\n              *(byte **)(puVar17 + -0x14) = local_d8;\n              local_34 = local_b4;\n              *(undefined4 *)(puVar17 + -0x18) = 0xd28bd;\n              sVar6 = strlen(*(char **)(puVar17 + -0x14));\n              pppuVar5 = local_b0;\n              *(undefined4 *)(puVar17 + -8) = 0;\n              *(byte **)(puVar17 + -0xc) = pbVar20 + sVar6;\n              *(byte **)(puVar17 + -0x10) = pbVar20;\n              *(undefined ****)(puVar17 + -0x14) = local_b0;\n              *(undefined4 *)(puVar17 + -0x18) = 0xd28d2;\n              FUN_00072b90();\n              *(undefined ****)(puVar17 + -0xc) = pppuVar5;\n              *(int *)(puVar17 + -0x10) = iVar19 + 0x44;\n              *(int **)(puVar17 + -0x14) = &local_ac;\n              *(undefined4 *)(puVar17 + -0x18) = 0xd28e6;\n              FUN_00094bd0();\n              iVar19 = local_ac;\n              if (local_34 != local_b4) {\n                *(undefined ***)(puVar17 + -0x18) = local_34;\n                *(undefined4 *)(puVar17 + -0x1c) = 0xd2909;\n                FUN_003ae080();\n              }\n              piVar18 = (int *)(puVar17 + -8);\n              iVar3 = *(int *)(param_2 + 0x158);\n              if (iVar19 != iVar3 + 0x48) {\n                local_34 = param_4;\n                local_30 = param_5;\n                iVar10 = *(int *)(iVar3 + 0x18);\n                iVar11 = iVar3 + 0x14;\n                if (*(int *)(iVar3 + 0x18) == 0) {\nLAB_000d2bd8:\n                  *(undefined *****)(puVar17 + -0x18) = &local_84;\n                  local_84 = local_b0;\n                  *(undefined4 *)(puVar17 + -0x1c) = 0xd2bf6;\n                  FUN_000c5e40();\n                  iVar12 = local_a8;\n                }\n                else {\n                  do {\n                    while ((iVar12 = iVar10, *(undefined ***)(iVar12 + 0x10) < param_4 ||\n                           ((param_4 == *(undefined ***)(iVar12 + 0x10) &&\n                            (*(undefined ***)(iVar12 + 0x14) < param_5))))) {\n                      piVar18 = (int *)(iVar12 + 0xc);\n                      iVar10 = *piVar18;\n                      iVar12 = iVar11;\n                      if (*piVar18 == 0) goto LAB_000d2962;\n                    }\n                    iVar10 = *(int *)(iVar12 + 8);\n                    iVar11 = iVar12;\n                  } while (*(int *)(iVar12 + 8) != 0);\nLAB_000d2962:\n                  if (((iVar12 == iVar3 + 0x14) || (param_4 < *(undefined ***)(iVar12 + 0x10))) ||\n                     ((param_4 == *(undefined ***)(iVar12 + 0x10) &&\n                      (param_5 < *(undefined ***)(iVar12 + 0x14))))) goto LAB_000d2bd8;\n                }\n                piVar18 = (int *)(puVar17 + -8);\n                puVar17 = puVar17 + -8;\n                for (puVar1 = *(undefined4 **)(iVar19 + 0x30); puVar1 != (undefined4 *)0x0;\n                    puVar1 = (undefined4 *)*puVar1) {\n                  *(undefined4 *)(puVar17 + -0xc) = 1;\n                  *(undefined4 *)(puVar17 + -0x10) = 0;\n                  *(int **)(puVar17 + -0x14) = &local_90;\n                  *(undefined4 **)(puVar17 + -0x18) = puVar1 + 1;\n                  *(int *)(puVar17 + -0x1c) = iVar12 + 0x18;\n                  *(undefined1 **)(puVar17 + -0x20) = local_e0;\n                  *(undefined4 *)(puVar17 + -0x24) = 0xd29ae;\n                  local_90 = iVar12 + 0x18;\n                  FUN_00074340();\n                  piVar18 = (int *)(puVar17 + -4);\n                  puVar17 = puVar17 + -4;\n                }\n              }\n            }\n          }\n        }" ({ "{") (expression_statement "local_c0 = param_4;" (assignment_expression "local_c0 = param_4" (identifier "local_c0") (= "=") (identifier "param_4")) (; ";")) (expression_statement "puVar17 = (undefined1 *)piVar18;" (assignment_expression "puVar17 = (undefined1 *)piVar18" (identifier "puVar17") (= "=") (cast_expression "(undefined1 *)piVar18" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "piVar18"))) (; ";")) (labeled_statement "LAB_000d275e:\n          if (*(int *)(*local_dc + 8) == 0) {\n            *(undefined ***)(puVar17 + -8) = local_b8 + -0x61176;\n            *(undefined4 *)(puVar17 + -0xc) = 0x5c;\n            *(int *)(puVar17 + -0x10) = (int)local_b8 + -0x1a1d93;\n                    \n            *(undefined4 *)(puVar17 + -0x14) = 0xd2f6e;\n            FUN_002446e0();\n          }" (statement_identifier "LAB_000d275e") (: ":") (if_statement "if (*(int *)(*local_dc + 8) == 0) {\n            *(undefined ***)(puVar17 + -8) = local_b8 + -0x61176;\n            *(undefined4 *)(puVar17 + -0xc) = 0x5c;\n            *(int *)(puVar17 + -0x10) = (int)local_b8 + -0x1a1d93;\n                    \n            *(undefined4 *)(puVar17 + -0x14) = 0xd2f6e;\n            FUN_002446e0();\n          }" (if "if") (parenthesized_expression "(*(int *)(*local_dc + 8) == 0)" (( "(") (binary_expression "*(int *)(*local_dc + 8) == 0" (pointer_expression "*(int *)(*local_dc + 8)" (* "*") (cast_expression "(int *)(*local_dc + 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*local_dc + 8)" (( "(") (binary_expression "*local_dc + 8" (pointer_expression "*local_dc" (* "*") (identifier "local_dc")) (+ "+") (number_literal "8")) () ")")))) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n            *(undefined ***)(puVar17 + -8) = local_b8 + -0x61176;\n            *(undefined4 *)(puVar17 + -0xc) = 0x5c;\n            *(int *)(puVar17 + -0x10) = (int)local_b8 + -0x1a1d93;\n                    \n            *(undefined4 *)(puVar17 + -0x14) = 0xd2f6e;\n            FUN_002446e0();\n          }" ({ "{") (expression_statement "*(undefined ***)(puVar17 + -8) = local_b8 + -0x61176;" (assignment_expression "*(undefined ***)(puVar17 + -8) = local_b8 + -0x61176" (pointer_expression "*(undefined ***)(puVar17 + -8)" (* "*") (cast_expression "(undefined ***)(puVar17 + -8)" (( "(") (type_descriptor "undefined ***" (type_identifier "undefined") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "(puVar17 + -8)" (( "(") (binary_expression "puVar17 + -8" (identifier "puVar17") (+ "+") (number_literal "-8")) () ")")))) (= "=") (binary_expression "local_b8 + -0x61176" (identifier "local_b8") (+ "+") (number_literal "-0x61176"))) (; ";")) (expression_statement "*(undefined4 *)(puVar17 + -0xc) = 0x5c;" (assignment_expression "*(undefined4 *)(puVar17 + -0xc) = 0x5c" (pointer_expression "*(undefined4 *)(puVar17 + -0xc)" (* "*") (cast_expression "(undefined4 *)(puVar17 + -0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + -0xc)" (( "(") (binary_expression "puVar17 + -0xc" (identifier "puVar17") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (number_literal "0x5c")) (; ";")) (expression_statement "*(int *)(puVar17 + -0x10) = (int)local_b8 + -0x1a1d93;" (assignment_expression "*(int *)(puVar17 + -0x10) = (int)local_b8 + -0x1a1d93" (pointer_expression "*(int *)(puVar17 + -0x10)" (* "*") (cast_expression "(int *)(puVar17 + -0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + -0x10)" (( "(") (binary_expression "puVar17 + -0x10" (identifier "puVar17") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (binary_expression "(int)local_b8 + -0x1a1d93" (cast_expression "(int)local_b8" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_b8")) (+ "+") (number_literal "-0x1a1d93"))) (; ";")) (expression_statement "*(undefined4 *)(puVar17 + -0x14) = 0xd2f6e;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0xd2f6e" (pointer_expression "*(undefined4 *)(puVar17 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar17 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + -0x14)" (( "(") (binary_expression "puVar17 + -0x14" (identifier "puVar17") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0xd2f6e")) (; ";")) (expression_statement "FUN_002446e0();" (call_expression "FUN_002446e0()" (identifier "FUN_002446e0") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}")))) (expression_statement "piVar18 = (int *)puVar17;" (assignment_expression "piVar18 = (int *)puVar17" (identifier "piVar18") (= "=") (cast_expression "(int *)puVar17" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar17"))) (; ";")) (if_statement "if (*(char *)(*(int *)(*local_dc + 8) + 0x18b1) != '\0') {\n            local_70 = param_4;\n            iVar19 = *(int *)(param_2 + 0x158) + 0x14;\n            local_6c = param_5;\n            local_68 = local_c0;\n            local_64 = local_b4;\n            iVar3 = *(int *)(*(int *)(param_2 + 0x158) + 0x18);\n            iVar10 = iVar19;\n            if (iVar3 == 0) {\nLAB_000d27f0:\n              local_88 = &local_70;\n              *(undefined *****)(puVar17 + -0x10) = &local_88;\n              *(undefined4 *)(puVar17 + -0x14) = 0xd2811;\n              FUN_000c5e40();\n              iVar11 = local_a8;\n            }\n            else {\n              do {\n                while ((iVar11 = iVar3, *(undefined ***)(iVar11 + 0x10) < param_4 ||\n                       ((param_4 == *(undefined ***)(iVar11 + 0x10) &&\n                        (*(undefined ***)(iVar11 + 0x14) < param_5))))) {\n                  piVar18 = (int *)(iVar11 + 0xc);\n                  iVar3 = *piVar18;\n                  iVar11 = iVar10;\n                  if (*piVar18 == 0) goto LAB_000d27da;\n                }\n                iVar3 = *(int *)(iVar11 + 8);\n                iVar10 = iVar11;\n              } while (*(int *)(iVar11 + 8) != 0);\nLAB_000d27da:\n              if (((iVar19 == iVar11) || (param_4 < *(undefined ***)(iVar11 + 0x10))) ||\n                 ((param_4 == *(undefined ***)(iVar11 + 0x10) &&\n                  (param_5 < *(undefined ***)(iVar11 + 0x14))))) goto LAB_000d27f0;\n            }\n            local_8c = iVar11 + 0x18;\n            *(undefined4 *)(puVar17 + -0xc) = 1;\n            *(undefined4 *)(puVar17 + -0x10) = 0;\n            *(int **)(puVar17 + -0x14) = local_f4;\n            *(undefined ****)(puVar17 + -0x18) = &local_68;\n            *(int *)(puVar17 + -0x1c) = local_8c;\n            *(undefined1 **)(puVar17 + -0x20) = local_e0;\n            *(undefined4 *)(puVar17 + -0x24) = 0xd2840;\n            FUN_00074340();\n            piVar18 = *(int **)(*local_dc + 0xc);\n            if (piVar18 == (int *)0x0) {\n              *(undefined ***)(puVar17 + -0xc) = local_b8 + -0x615c4;\n              *(undefined4 *)(puVar17 + -0x10) = 0x73;\n              *(int *)(puVar17 + -0x14) = (int)local_b8 + -0x1a1d93;\n                    \n              *(undefined4 *)(puVar17 + -0x18) = 0xd2fad;\n              FUN_002446e0();\n            }\n            iVar19 = *piVar18;\n            *(undefined **)(puVar17 + -0xc) = local_c4;\n            *(undefined ***)(puVar17 + -0x10) = local_b4;\n            *(undefined ***)(puVar17 + -0x14) = local_c0;\n            *(undefined ***)(puVar17 + -0x18) = param_5;\n            *(undefined ***)(puVar17 + -0x1c) = param_4;\n            *(int *)(puVar17 + -0x20) = param_2;\n            *(int **)(puVar17 + -0x24) = piVar18;\n            pcVar4 = *(code **)(iVar19 + 0x104);\n            *(undefined4 *)(puVar17 + -0x28) = 0xd287d;\n            (*pcVar4)();\n            pbVar20 = local_d8;\n            piVar18 = (int *)(puVar17 + -4);\n            if (local_d8 != (byte *)0x0) {\n              local_b4 = &local_2c;\n              local_b0 = &local_34;\n              iVar19 = *(int *)(param_2 + 0x158);\n              *(byte **)(puVar17 + -0x14) = local_d8;\n              local_34 = local_b4;\n              *(undefined4 *)(puVar17 + -0x18) = 0xd28bd;\n              sVar6 = strlen(*(char **)(puVar17 + -0x14));\n              pppuVar5 = local_b0;\n              *(undefined4 *)(puVar17 + -8) = 0;\n              *(byte **)(puVar17 + -0xc) = pbVar20 + sVar6;\n              *(byte **)(puVar17 + -0x10) = pbVar20;\n              *(undefined ****)(puVar17 + -0x14) = local_b0;\n              *(undefined4 *)(puVar17 + -0x18) = 0xd28d2;\n              FUN_00072b90();\n              *(undefined ****)(puVar17 + -0xc) = pppuVar5;\n              *(int *)(puVar17 + -0x10) = iVar19 + 0x44;\n              *(int **)(puVar17 + -0x14) = &local_ac;\n              *(undefined4 *)(puVar17 + -0x18) = 0xd28e6;\n              FUN_00094bd0();\n              iVar19 = local_ac;\n              if (local_34 != local_b4) {\n                *(undefined ***)(puVar17 + -0x18) = local_34;\n                *(undefined4 *)(puVar17 + -0x1c) = 0xd2909;\n                FUN_003ae080();\n              }\n              piVar18 = (int *)(puVar17 + -8);\n              iVar3 = *(int *)(param_2 + 0x158);\n              if (iVar19 != iVar3 + 0x48) {\n                local_34 = param_4;\n                local_30 = param_5;\n                iVar10 = *(int *)(iVar3 + 0x18);\n                iVar11 = iVar3 + 0x14;\n                if (*(int *)(iVar3 + 0x18) == 0) {\nLAB_000d2bd8:\n                  *(undefined *****)(puVar17 + -0x18) = &local_84;\n                  local_84 = local_b0;\n                  *(undefined4 *)(puVar17 + -0x1c) = 0xd2bf6;\n                  FUN_000c5e40();\n                  iVar12 = local_a8;\n                }\n                else {\n                  do {\n                    while ((iVar12 = iVar10, *(undefined ***)(iVar12 + 0x10) < param_4 ||\n                           ((param_4 == *(undefined ***)(iVar12 + 0x10) &&\n                            (*(undefined ***)(iVar12 + 0x14) < param_5))))) {\n                      piVar18 = (int *)(iVar12 + 0xc);\n                      iVar10 = *piVar18;\n                      iVar12 = iVar11;\n                      if (*piVar18 == 0) goto LAB_000d2962;\n                    }\n                    iVar10 = *(int *)(iVar12 + 8);\n                    iVar11 = iVar12;\n                  } while (*(int *)(iVar12 + 8) != 0);\nLAB_000d2962:\n                  if (((iVar12 == iVar3 + 0x14) || (param_4 < *(undefined ***)(iVar12 + 0x10))) ||\n                     ((param_4 == *(undefined ***)(iVar12 + 0x10) &&\n                      (param_5 < *(undefined ***)(iVar12 + 0x14))))) goto LAB_000d2bd8;\n                }\n                piVar18 = (int *)(puVar17 + -8);\n                puVar17 = puVar17 + -8;\n                for (puVar1 = *(undefined4 **)(iVar19 + 0x30); puVar1 != (undefined4 *)0x0;\n                    puVar1 = (undefined4 *)*puVar1) {\n                  *(undefined4 *)(puVar17 + -0xc) = 1;\n                  *(undefined4 *)(puVar17 + -0x10) = 0;\n                  *(int **)(puVar17 + -0x14) = &local_90;\n                  *(undefined4 **)(puVar17 + -0x18) = puVar1 + 1;\n                  *(int *)(puVar17 + -0x1c) = iVar12 + 0x18;\n                  *(undefined1 **)(puVar17 + -0x20) = local_e0;\n                  *(undefined4 *)(puVar17 + -0x24) = 0xd29ae;\n                  local_90 = iVar12 + 0x18;\n                  FUN_00074340();\n                  piVar18 = (int *)(puVar17 + -4);\n                  puVar17 = puVar17 + -4;\n                }\n              }\n            }\n          }" (if "if") (parenthesized_expression "(*(char *)(*(int *)(*local_dc + 8) + 0x18b1) != '\0')" (( "(") (binary_expression "*(char *)(*(int *)(*local_dc + 8) + 0x18b1) != '\0'" (pointer_expression "*(char *)(*(int *)(*local_dc + 8) + 0x18b1)" (* "*") (cast_expression "(char *)(*(int *)(*local_dc + 8) + 0x18b1)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(*local_dc + 8) + 0x18b1)" (( "(") (binary_expression "*(int *)(*local_dc + 8) + 0x18b1" (pointer_expression "*(int *)(*local_dc + 8)" (* "*") (cast_expression "(int *)(*local_dc + 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*local_dc + 8)" (( "(") (binary_expression "*local_dc + 8" (pointer_expression "*local_dc" (* "*") (identifier "local_dc")) (+ "+") (number_literal "8")) () ")")))) (+ "+") (number_literal "0x18b1")) () ")")))) (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n            local_70 = param_4;\n            iVar19 = *(int *)(param_2 + 0x158) + 0x14;\n            local_6c = param_5;\n            local_68 = local_c0;\n            local_64 = local_b4;\n            iVar3 = *(int *)(*(int *)(param_2 + 0x158) + 0x18);\n            iVar10 = iVar19;\n            if (iVar3 == 0) {\nLAB_000d27f0:\n              local_88 = &local_70;\n              *(undefined *****)(puVar17 + -0x10) = &local_88;\n              *(undefined4 *)(puVar17 + -0x14) = 0xd2811;\n              FUN_000c5e40();\n              iVar11 = local_a8;\n            }\n            else {\n              do {\n                while ((iVar11 = iVar3, *(undefined ***)(iVar11 + 0x10) < param_4 ||\n                       ((param_4 == *(undefined ***)(iVar11 + 0x10) &&\n                        (*(undefined ***)(iVar11 + 0x14) < param_5))))) {\n                  piVar18 = (int *)(iVar11 + 0xc);\n                  iVar3 = *piVar18;\n                  iVar11 = iVar10;\n                  if (*piVar18 == 0) goto LAB_000d27da;\n                }\n                iVar3 = *(int *)(iVar11 + 8);\n                iVar10 = iVar11;\n              } while (*(int *)(iVar11 + 8) != 0);\nLAB_000d27da:\n              if (((iVar19 == iVar11) || (param_4 < *(undefined ***)(iVar11 + 0x10))) ||\n                 ((param_4 == *(undefined ***)(iVar11 + 0x10) &&\n                  (param_5 < *(undefined ***)(iVar11 + 0x14))))) goto LAB_000d27f0;\n            }\n            local_8c = iVar11 + 0x18;\n            *(undefined4 *)(puVar17 + -0xc) = 1;\n            *(undefined4 *)(puVar17 + -0x10) = 0;\n            *(int **)(puVar17 + -0x14) = local_f4;\n            *(undefined ****)(puVar17 + -0x18) = &local_68;\n            *(int *)(puVar17 + -0x1c) = local_8c;\n            *(undefined1 **)(puVar17 + -0x20) = local_e0;\n            *(undefined4 *)(puVar17 + -0x24) = 0xd2840;\n            FUN_00074340();\n            piVar18 = *(int **)(*local_dc + 0xc);\n            if (piVar18 == (int *)0x0) {\n              *(undefined ***)(puVar17 + -0xc) = local_b8 + -0x615c4;\n              *(undefined4 *)(puVar17 + -0x10) = 0x73;\n              *(int *)(puVar17 + -0x14) = (int)local_b8 + -0x1a1d93;\n                    \n              *(undefined4 *)(puVar17 + -0x18) = 0xd2fad;\n              FUN_002446e0();\n            }\n            iVar19 = *piVar18;\n            *(undefined **)(puVar17 + -0xc) = local_c4;\n            *(undefined ***)(puVar17 + -0x10) = local_b4;\n            *(undefined ***)(puVar17 + -0x14) = local_c0;\n            *(undefined ***)(puVar17 + -0x18) = param_5;\n            *(undefined ***)(puVar17 + -0x1c) = param_4;\n            *(int *)(puVar17 + -0x20) = param_2;\n            *(int **)(puVar17 + -0x24) = piVar18;\n            pcVar4 = *(code **)(iVar19 + 0x104);\n            *(undefined4 *)(puVar17 + -0x28) = 0xd287d;\n            (*pcVar4)();\n            pbVar20 = local_d8;\n            piVar18 = (int *)(puVar17 + -4);\n            if (local_d8 != (byte *)0x0) {\n              local_b4 = &local_2c;\n              local_b0 = &local_34;\n              iVar19 = *(int *)(param_2 + 0x158);\n              *(byte **)(puVar17 + -0x14) = local_d8;\n              local_34 = local_b4;\n              *(undefined4 *)(puVar17 + -0x18) = 0xd28bd;\n              sVar6 = strlen(*(char **)(puVar17 + -0x14));\n              pppuVar5 = local_b0;\n              *(undefined4 *)(puVar17 + -8) = 0;\n              *(byte **)(puVar17 + -0xc) = pbVar20 + sVar6;\n              *(byte **)(puVar17 + -0x10) = pbVar20;\n              *(undefined ****)(puVar17 + -0x14) = local_b0;\n              *(undefined4 *)(puVar17 + -0x18) = 0xd28d2;\n              FUN_00072b90();\n              *(undefined ****)(puVar17 + -0xc) = pppuVar5;\n              *(int *)(puVar17 + -0x10) = iVar19 + 0x44;\n              *(int **)(puVar17 + -0x14) = &local_ac;\n              *(undefined4 *)(puVar17 + -0x18) = 0xd28e6;\n              FUN_00094bd0();\n              iVar19 = local_ac;\n              if (local_34 != local_b4) {\n                *(undefined ***)(puVar17 + -0x18) = local_34;\n                *(undefined4 *)(puVar17 + -0x1c) = 0xd2909;\n                FUN_003ae080();\n              }\n              piVar18 = (int *)(puVar17 + -8);\n              iVar3 = *(int *)(param_2 + 0x158);\n              if (iVar19 != iVar3 + 0x48) {\n                local_34 = param_4;\n                local_30 = param_5;\n                iVar10 = *(int *)(iVar3 + 0x18);\n                iVar11 = iVar3 + 0x14;\n                if (*(int *)(iVar3 + 0x18) == 0) {\nLAB_000d2bd8:\n                  *(undefined *****)(puVar17 + -0x18) = &local_84;\n                  local_84 = local_b0;\n                  *(undefined4 *)(puVar17 + -0x1c) = 0xd2bf6;\n                  FUN_000c5e40();\n                  iVar12 = local_a8;\n                }\n                else {\n                  do {\n                    while ((iVar12 = iVar10, *(undefined ***)(iVar12 + 0x10) < param_4 ||\n                           ((param_4 == *(undefined ***)(iVar12 + 0x10) &&\n                            (*(undefined ***)(iVar12 + 0x14) < param_5))))) {\n                      piVar18 = (int *)(iVar12 + 0xc);\n                      iVar10 = *piVar18;\n                      iVar12 = iVar11;\n                      if (*piVar18 == 0) goto LAB_000d2962;\n                    }\n                    iVar10 = *(int *)(iVar12 + 8);\n                    iVar11 = iVar12;\n                  } while (*(int *)(iVar12 + 8) != 0);\nLAB_000d2962:\n                  if (((iVar12 == iVar3 + 0x14) || (param_4 < *(undefined ***)(iVar12 + 0x10))) ||\n                     ((param_4 == *(undefined ***)(iVar12 + 0x10) &&\n                      (param_5 < *(undefined ***)(iVar12 + 0x14))))) goto LAB_000d2bd8;\n                }\n                piVar18 = (int *)(puVar17 + -8);\n                puVar17 = puVar17 + -8;\n                for (puVar1 = *(undefined4 **)(iVar19 + 0x30); puVar1 != (undefined4 *)0x0;\n                    puVar1 = (undefined4 *)*puVar1) {\n                  *(undefined4 *)(puVar17 + -0xc) = 1;\n                  *(undefined4 *)(puVar17 + -0x10) = 0;\n                  *(int **)(puVar17 + -0x14) = &local_90;\n                  *(undefined4 **)(puVar17 + -0x18) = puVar1 + 1;\n                  *(int *)(puVar17 + -0x1c) = iVar12 + 0x18;\n                  *(undefined1 **)(puVar17 + -0x20) = local_e0;\n                  *(undefined4 *)(puVar17 + -0x24) = 0xd29ae;\n                  local_90 = iVar12 + 0x18;\n                  FUN_00074340();\n                  piVar18 = (int *)(puVar17 + -4);\n                  puVar17 = puVar17 + -4;\n                }\n              }\n            }\n          }" ({ "{") (expression_statement "local_70 = param_4;" (assignment_expression "local_70 = param_4" (identifier "local_70") (= "=") (identifier "param_4")) (; ";")) (expression_statement "iVar19 = *(int *)(param_2 + 0x158) + 0x14;" (assignment_expression "iVar19 = *(int *)(param_2 + 0x158) + 0x14" (identifier "iVar19") (= "=") (binary_expression "*(int *)(param_2 + 0x158) + 0x14" (pointer_expression "*(int *)(param_2 + 0x158)" (* "*") (cast_expression "(int *)(param_2 + 0x158)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_2 + 0x158)" (( "(") (binary_expression "param_2 + 0x158" (identifier "param_2") (+ "+") (number_literal "0x158")) () ")")))) (+ "+") (number_literal "0x14"))) (; ";")) (expression_statement "local_6c = param_5;" (assignment_expression "local_6c = param_5" (identifier "local_6c") (= "=") (identifier "param_5")) (; ";")) (expression_statement "local_68 = local_c0;" (assignment_expression "local_68 = local_c0" (identifier "local_68") (= "=") (identifier "local_c0")) (; ";")) (expression_statement "local_64 = local_b4;" (assignment_expression "local_64 = local_b4" (identifier "local_64") (= "=") (identifier "local_b4")) (; ";")) (expression_statement "iVar3 = *(int *)(*(int *)(param_2 + 0x158) + 0x18);" (assignment_expression "iVar3 = *(int *)(*(int *)(param_2 + 0x158) + 0x18)" (identifier "iVar3") (= "=") (pointer_expression "*(int *)(*(int *)(param_2 + 0x158) + 0x18)" (* "*") (cast_expression "(int *)(*(int *)(param_2 + 0x158) + 0x18)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(param_2 + 0x158) + 0x18)" (( "(") (binary_expression "*(int *)(param_2 + 0x158) + 0x18" (pointer_expression "*(int *)(param_2 + 0x158)" (* "*") (cast_expression "(int *)(param_2 + 0x158)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_2 + 0x158)" (( "(") (binary_expression "param_2 + 0x158" (identifier "param_2") (+ "+") (number_literal "0x158")) () ")")))) (+ "+") (number_literal "0x18")) () ")"))))) (; ";")) (expression_statement "iVar10 = iVar19;" (assignment_expression "iVar10 = iVar19" (identifier "iVar10") (= "=") (identifier "iVar19")) (; ";")) (if_statement "if (iVar3 == 0) {\nLAB_000d27f0:\n              local_88 = &local_70;\n              *(undefined *****)(puVar17 + -0x10) = &local_88;\n              *(undefined4 *)(puVar17 + -0x14) = 0xd2811;\n              FUN_000c5e40();\n              iVar11 = local_a8;\n            }\n            else {\n              do {\n                while ((iVar11 = iVar3, *(undefined ***)(iVar11 + 0x10) < param_4 ||\n                       ((param_4 == *(undefined ***)(iVar11 + 0x10) &&\n                        (*(undefined ***)(iVar11 + 0x14) < param_5))))) {\n                  piVar18 = (int *)(iVar11 + 0xc);\n                  iVar3 = *piVar18;\n                  iVar11 = iVar10;\n                  if (*piVar18 == 0) goto LAB_000d27da;\n                }\n                iVar3 = *(int *)(iVar11 + 8);\n                iVar10 = iVar11;\n              } while (*(int *)(iVar11 + 8) != 0);\nLAB_000d27da:\n              if (((iVar19 == iVar11) || (param_4 < *(undefined ***)(iVar11 + 0x10))) ||\n                 ((param_4 == *(undefined ***)(iVar11 + 0x10) &&\n                  (param_5 < *(undefined ***)(iVar11 + 0x14))))) goto LAB_000d27f0;\n            }" (if "if") (parenthesized_expression "(iVar3 == 0)" (( "(") (binary_expression "iVar3 == 0" (identifier "iVar3") (== "==") (number_literal "0")) () ")")) (compound_statement "{\nLAB_000d27f0:\n              local_88 = &local_70;\n              *(undefined *****)(puVar17 + -0x10) = &local_88;\n              *(undefined4 *)(puVar17 + -0x14) = 0xd2811;\n              FUN_000c5e40();\n              iVar11 = local_a8;\n            }" ({ "{") (labeled_statement "LAB_000d27f0:\n              local_88 = &local_70;" (statement_identifier "LAB_000d27f0") (: ":") (expression_statement "local_88 = &local_70;" (assignment_expression "local_88 = &local_70" (identifier "local_88") (= "=") (pointer_expression "&local_70" (& "&") (identifier "local_70"))) (; ";"))) (expression_statement "*(undefined *****)(puVar17 + -0x10) = &local_88;" (assignment_expression "*(undefined *****)(puVar17 + -0x10) = &local_88" (pointer_expression "*(undefined *****)(puVar17 + -0x10)" (* "*") (cast_expression "(undefined *****)(puVar17 + -0x10)" (( "(") (type_descriptor "undefined *****" (type_identifier "undefined") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (parenthesized_expression "(puVar17 + -0x10)" (( "(") (binary_expression "puVar17 + -0x10" (identifier "puVar17") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (pointer_expression "&local_88" (& "&") (identifier "local_88"))) (; ";")) (expression_statement "*(undefined4 *)(puVar17 + -0x14) = 0xd2811;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0xd2811" (pointer_expression "*(undefined4 *)(puVar17 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar17 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + -0x14)" (( "(") (binary_expression "puVar17 + -0x14" (identifier "puVar17") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0xd2811")) (; ";")) (expression_statement "FUN_000c5e40();" (call_expression "FUN_000c5e40()" (identifier "FUN_000c5e40") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "iVar11 = local_a8;" (assignment_expression "iVar11 = local_a8" (identifier "iVar11") (= "=") (identifier "local_a8")) (; ";")) (} "}")) (else_clause "else {\n              do {\n                while ((iVar11 = iVar3, *(undefined ***)(iVar11 + 0x10) < param_4 ||\n                       ((param_4 == *(undefined ***)(iVar11 + 0x10) &&\n                        (*(undefined ***)(iVar11 + 0x14) < param_5))))) {\n                  piVar18 = (int *)(iVar11 + 0xc);\n                  iVar3 = *piVar18;\n                  iVar11 = iVar10;\n                  if (*piVar18 == 0) goto LAB_000d27da;\n                }\n                iVar3 = *(int *)(iVar11 + 8);\n                iVar10 = iVar11;\n              } while (*(int *)(iVar11 + 8) != 0);\nLAB_000d27da:\n              if (((iVar19 == iVar11) || (param_4 < *(undefined ***)(iVar11 + 0x10))) ||\n                 ((param_4 == *(undefined ***)(iVar11 + 0x10) &&\n                  (param_5 < *(undefined ***)(iVar11 + 0x14))))) goto LAB_000d27f0;\n            }" (else "else") (compound_statement "{\n              do {\n                while ((iVar11 = iVar3, *(undefined ***)(iVar11 + 0x10) < param_4 ||\n                       ((param_4 == *(undefined ***)(iVar11 + 0x10) &&\n                        (*(undefined ***)(iVar11 + 0x14) < param_5))))) {\n                  piVar18 = (int *)(iVar11 + 0xc);\n                  iVar3 = *piVar18;\n                  iVar11 = iVar10;\n                  if (*piVar18 == 0) goto LAB_000d27da;\n                }\n                iVar3 = *(int *)(iVar11 + 8);\n                iVar10 = iVar11;\n              } while (*(int *)(iVar11 + 8) != 0);\nLAB_000d27da:\n              if (((iVar19 == iVar11) || (param_4 < *(undefined ***)(iVar11 + 0x10))) ||\n                 ((param_4 == *(undefined ***)(iVar11 + 0x10) &&\n                  (param_5 < *(undefined ***)(iVar11 + 0x14))))) goto LAB_000d27f0;\n            }" ({ "{") (do_statement "do {\n                while ((iVar11 = iVar3, *(undefined ***)(iVar11 + 0x10) < param_4 ||\n                       ((param_4 == *(undefined ***)(iVar11 + 0x10) &&\n                        (*(undefined ***)(iVar11 + 0x14) < param_5))))) {\n                  piVar18 = (int *)(iVar11 + 0xc);\n                  iVar3 = *piVar18;\n                  iVar11 = iVar10;\n                  if (*piVar18 == 0) goto LAB_000d27da;\n                }\n                iVar3 = *(int *)(iVar11 + 8);\n                iVar10 = iVar11;\n              } while (*(int *)(iVar11 + 8) != 0);" (do "do") (compound_statement "{\n                while ((iVar11 = iVar3, *(undefined ***)(iVar11 + 0x10) < param_4 ||\n                       ((param_4 == *(undefined ***)(iVar11 + 0x10) &&\n                        (*(undefined ***)(iVar11 + 0x14) < param_5))))) {\n                  piVar18 = (int *)(iVar11 + 0xc);\n                  iVar3 = *piVar18;\n                  iVar11 = iVar10;\n                  if (*piVar18 == 0) goto LAB_000d27da;\n                }\n                iVar3 = *(int *)(iVar11 + 8);\n                iVar10 = iVar11;\n              }" ({ "{") (while_statement "while ((iVar11 = iVar3, *(undefined ***)(iVar11 + 0x10) < param_4 ||\n                       ((param_4 == *(undefined ***)(iVar11 + 0x10) &&\n                        (*(undefined ***)(iVar11 + 0x14) < param_5))))) {\n                  piVar18 = (int *)(iVar11 + 0xc);\n                  iVar3 = *piVar18;\n                  iVar11 = iVar10;\n                  if (*piVar18 == 0) goto LAB_000d27da;\n                }" (while "while") (parenthesized_expression "((iVar11 = iVar3, *(undefined ***)(iVar11 + 0x10) < param_4 ||\n                       ((param_4 == *(undefined ***)(iVar11 + 0x10) &&\n                        (*(undefined ***)(iVar11 + 0x14) < param_5)))))" (( "(") (parenthesized_expression "(iVar11 = iVar3, *(undefined ***)(iVar11 + 0x10) < param_4 ||\n                       ((param_4 == *(undefined ***)(iVar11 + 0x10) &&\n                        (*(undefined ***)(iVar11 + 0x14) < param_5))))" (( "(") (comma_expression "iVar11 = iVar3, *(undefined ***)(iVar11 + 0x10) < param_4 ||\n                       ((param_4 == *(undefined ***)(iVar11 + 0x10) &&\n                        (*(undefined ***)(iVar11 + 0x14) < param_5)))" (assignment_expression "iVar11 = iVar3" (identifier "iVar11") (= "=") (identifier "iVar3")) (, ",") (binary_expression "*(undefined ***)(iVar11 + 0x10) < param_4 ||\n                       ((param_4 == *(undefined ***)(iVar11 + 0x10) &&\n                        (*(undefined ***)(iVar11 + 0x14) < param_5)))" (binary_expression "*(undefined ***)(iVar11 + 0x10) < param_4" (pointer_expression "*(undefined ***)(iVar11 + 0x10)" (* "*") (cast_expression "(undefined ***)(iVar11 + 0x10)" (( "(") (type_descriptor "undefined ***" (type_identifier "undefined") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "(iVar11 + 0x10)" (( "(") (binary_expression "iVar11 + 0x10" (identifier "iVar11") (+ "+") (number_literal "0x10")) () ")")))) (< "<") (identifier "param_4")) (|| "||") (parenthesized_expression "((param_4 == *(undefined ***)(iVar11 + 0x10) &&\n                        (*(undefined ***)(iVar11 + 0x14) < param_5)))" (( "(") (parenthesized_expression "(param_4 == *(undefined ***)(iVar11 + 0x10) &&\n                        (*(undefined ***)(iVar11 + 0x14) < param_5))" (( "(") (binary_expression "param_4 == *(undefined ***)(iVar11 + 0x10) &&\n                        (*(undefined ***)(iVar11 + 0x14) < param_5)" (binary_expression "param_4 == *(undefined ***)(iVar11 + 0x10)" (identifier "param_4") (== "==") (pointer_expression "*(undefined ***)(iVar11 + 0x10)" (* "*") (cast_expression "(undefined ***)(iVar11 + 0x10)" (( "(") (type_descriptor "undefined ***" (type_identifier "undefined") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "(iVar11 + 0x10)" (( "(") (binary_expression "iVar11 + 0x10" (identifier "iVar11") (+ "+") (number_literal "0x10")) () ")"))))) (&& "&&") (parenthesized_expression "(*(undefined ***)(iVar11 + 0x14) < param_5)" (( "(") (binary_expression "*(undefined ***)(iVar11 + 0x14) < param_5" (pointer_expression "*(undefined ***)(iVar11 + 0x14)" (* "*") (cast_expression "(undefined ***)(iVar11 + 0x14)" (( "(") (type_descriptor "undefined ***" (type_identifier "undefined") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "(iVar11 + 0x14)" (( "(") (binary_expression "iVar11 + 0x14" (identifier "iVar11") (+ "+") (number_literal "0x14")) () ")")))) (< "<") (identifier "param_5")) () ")"))) () ")")) () ")")))) () ")")) () ")")) (compound_statement "{\n                  piVar18 = (int *)(iVar11 + 0xc);\n                  iVar3 = *piVar18;\n                  iVar11 = iVar10;\n                  if (*piVar18 == 0) goto LAB_000d27da;\n                }" ({ "{") (expression_statement "piVar18 = (int *)(iVar11 + 0xc);" (assignment_expression "piVar18 = (int *)(iVar11 + 0xc)" (identifier "piVar18") (= "=") (cast_expression "(int *)(iVar11 + 0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar11 + 0xc)" (( "(") (binary_expression "iVar11 + 0xc" (identifier "iVar11") (+ "+") (number_literal "0xc")) () ")")))) (; ";")) (expression_statement "iVar3 = *piVar18;" (assignment_expression "iVar3 = *piVar18" (identifier "iVar3") (= "=") (pointer_expression "*piVar18" (* "*") (identifier "piVar18"))) (; ";")) (expression_statement "iVar11 = iVar10;" (assignment_expression "iVar11 = iVar10" (identifier "iVar11") (= "=") (identifier "iVar10")) (; ";")) (if_statement "if (*piVar18 == 0) goto LAB_000d27da;" (if "if") (parenthesized_expression "(*piVar18 == 0)" (( "(") (binary_expression "*piVar18 == 0" (pointer_expression "*piVar18" (* "*") (identifier "piVar18")) (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_000d27da;" (goto "goto") (statement_identifier "LAB_000d27da") (; ";"))) (} "}"))) (expression_statement "iVar3 = *(int *)(iVar11 + 8);" (assignment_expression "iVar3 = *(int *)(iVar11 + 8)" (identifier "iVar3") (= "=") (pointer_expression "*(int *)(iVar11 + 8)" (* "*") (cast_expression "(int *)(iVar11 + 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar11 + 8)" (( "(") (binary_expression "iVar11 + 8" (identifier "iVar11") (+ "+") (number_literal "8")) () ")"))))) (; ";")) (expression_statement "iVar10 = iVar11;" (assignment_expression "iVar10 = iVar11" (identifier "iVar10") (= "=") (identifier "iVar11")) (; ";")) (} "}")) (while "while") (parenthesized_expression "(*(int *)(iVar11 + 8) != 0)" (( "(") (binary_expression "*(int *)(iVar11 + 8) != 0" (pointer_expression "*(int *)(iVar11 + 8)" (* "*") (cast_expression "(int *)(iVar11 + 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar11 + 8)" (( "(") (binary_expression "iVar11 + 8" (identifier "iVar11") (+ "+") (number_literal "8")) () ")")))) (!= "!=") (number_literal "0")) () ")")) (; ";")) (labeled_statement "LAB_000d27da:\n              if (((iVar19 == iVar11) || (param_4 < *(undefined ***)(iVar11 + 0x10))) ||\n                 ((param_4 == *(undefined ***)(iVar11 + 0x10) &&\n                  (param_5 < *(undefined ***)(iVar11 + 0x14))))) goto LAB_000d27f0;" (statement_identifier "LAB_000d27da") (: ":") (if_statement "if (((iVar19 == iVar11) || (param_4 < *(undefined ***)(iVar11 + 0x10))) ||\n                 ((param_4 == *(undefined ***)(iVar11 + 0x10) &&\n                  (param_5 < *(undefined ***)(iVar11 + 0x14))))) goto LAB_000d27f0;" (if "if") (parenthesized_expression "(((iVar19 == iVar11) || (param_4 < *(undefined ***)(iVar11 + 0x10))) ||\n                 ((param_4 == *(undefined ***)(iVar11 + 0x10) &&\n                  (param_5 < *(undefined ***)(iVar11 + 0x14)))))" (( "(") (binary_expression "((iVar19 == iVar11) || (param_4 < *(undefined ***)(iVar11 + 0x10))) ||\n                 ((param_4 == *(undefined ***)(iVar11 + 0x10) &&\n                  (param_5 < *(undefined ***)(iVar11 + 0x14))))" (parenthesized_expression "((iVar19 == iVar11) || (param_4 < *(undefined ***)(iVar11 + 0x10)))" (( "(") (binary_expression "(iVar19 == iVar11) || (param_4 < *(undefined ***)(iVar11 + 0x10))" (parenthesized_expression "(iVar19 == iVar11)" (( "(") (binary_expression "iVar19 == iVar11" (identifier "iVar19") (== "==") (identifier "iVar11")) () ")")) (|| "||") (parenthesized_expression "(param_4 < *(undefined ***)(iVar11 + 0x10))" (( "(") (binary_expression "param_4 < *(undefined ***)(iVar11 + 0x10)" (identifier "param_4") (< "<") (pointer_expression "*(undefined ***)(iVar11 + 0x10)" (* "*") (cast_expression "(undefined ***)(iVar11 + 0x10)" (( "(") (type_descriptor "undefined ***" (type_identifier "undefined") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "(iVar11 + 0x10)" (( "(") (binary_expression "iVar11 + 0x10" (identifier "iVar11") (+ "+") (number_literal "0x10")) () ")"))))) () ")"))) () ")")) (|| "||") (parenthesized_expression "((param_4 == *(undefined ***)(iVar11 + 0x10) &&\n                  (param_5 < *(undefined ***)(iVar11 + 0x14))))" (( "(") (parenthesized_expression "(param_4 == *(undefined ***)(iVar11 + 0x10) &&\n                  (param_5 < *(undefined ***)(iVar11 + 0x14)))" (( "(") (binary_expression "param_4 == *(undefined ***)(iVar11 + 0x10) &&\n                  (param_5 < *(undefined ***)(iVar11 + 0x14))" (binary_expression "param_4 == *(undefined ***)(iVar11 + 0x10)" (identifier "param_4") (== "==") (pointer_expression "*(undefined ***)(iVar11 + 0x10)" (* "*") (cast_expression "(undefined ***)(iVar11 + 0x10)" (( "(") (type_descriptor "undefined ***" (type_identifier "undefined") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "(iVar11 + 0x10)" (( "(") (binary_expression "iVar11 + 0x10" (identifier "iVar11") (+ "+") (number_literal "0x10")) () ")"))))) (&& "&&") (parenthesized_expression "(param_5 < *(undefined ***)(iVar11 + 0x14))" (( "(") (binary_expression "param_5 < *(undefined ***)(iVar11 + 0x14)" (identifier "param_5") (< "<") (pointer_expression "*(undefined ***)(iVar11 + 0x14)" (* "*") (cast_expression "(undefined ***)(iVar11 + 0x14)" (( "(") (type_descriptor "undefined ***" (type_identifier "undefined") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "(iVar11 + 0x14)" (( "(") (binary_expression "iVar11 + 0x14" (identifier "iVar11") (+ "+") (number_literal "0x14")) () ")"))))) () ")"))) () ")")) () ")"))) () ")")) (goto_statement "goto LAB_000d27f0;" (goto "goto") (statement_identifier "LAB_000d27f0") (; ";")))) (} "}")))) (expression_statement "local_8c = iVar11 + 0x18;" (assignment_expression "local_8c = iVar11 + 0x18" (identifier "local_8c") (= "=") (binary_expression "iVar11 + 0x18" (identifier "iVar11") (+ "+") (number_literal "0x18"))) (; ";")) (expression_statement "*(undefined4 *)(puVar17 + -0xc) = 1;" (assignment_expression "*(undefined4 *)(puVar17 + -0xc) = 1" (pointer_expression "*(undefined4 *)(puVar17 + -0xc)" (* "*") (cast_expression "(undefined4 *)(puVar17 + -0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + -0xc)" (( "(") (binary_expression "puVar17 + -0xc" (identifier "puVar17") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (number_literal "1")) (; ";")) (expression_statement "*(undefined4 *)(puVar17 + -0x10) = 0;" (assignment_expression "*(undefined4 *)(puVar17 + -0x10) = 0" (pointer_expression "*(undefined4 *)(puVar17 + -0x10)" (* "*") (cast_expression "(undefined4 *)(puVar17 + -0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + -0x10)" (( "(") (binary_expression "puVar17 + -0x10" (identifier "puVar17") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(int **)(puVar17 + -0x14) = local_f4;" (assignment_expression "*(int **)(puVar17 + -0x14) = local_f4" (pointer_expression "*(int **)(puVar17 + -0x14)" (* "*") (cast_expression "(int **)(puVar17 + -0x14)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar17 + -0x14)" (( "(") (binary_expression "puVar17 + -0x14" (identifier "puVar17") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (identifier "local_f4")) (; ";")) (expression_statement "*(undefined ****)(puVar17 + -0x18) = &local_68;" (assignment_expression "*(undefined ****)(puVar17 + -0x18) = &local_68" (pointer_expression "*(undefined ****)(puVar17 + -0x18)" (* "*") (cast_expression "(undefined ****)(puVar17 + -0x18)" (( "(") (type_descriptor "undefined ****" (type_identifier "undefined") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))) () ")") (parenthesized_expression "(puVar17 + -0x18)" (( "(") (binary_expression "puVar17 + -0x18" (identifier "puVar17") (+ "+") (number_literal "-0x18")) () ")")))) (= "=") (pointer_expression "&local_68" (& "&") (identifier "local_68"))) (; ";")) (expression_statement "*(int *)(puVar17 + -0x1c) = local_8c;" (assignment_expression "*(int *)(puVar17 + -0x1c) = local_8c" (pointer_expression "*(int *)(puVar17 + -0x1c)" (* "*") (cast_expression "(int *)(puVar17 + -0x1c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + -0x1c)" (( "(") (binary_expression "puVar17 + -0x1c" (identifier "puVar17") (+ "+") (number_literal "-0x1c")) () ")")))) (= "=") (identifier "local_8c")) (; ";")) (expression_statement "*(undefined1 **)(puVar17 + -0x20) = local_e0;" (assignment_expression "*(undefined1 **)(puVar17 + -0x20) = local_e0" (pointer_expression "*(undefined1 **)(puVar17 + -0x20)" (* "*") (cast_expression "(undefined1 **)(puVar17 + -0x20)" (( "(") (type_descriptor "undefined1 **" (type_identifier "undefined1") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar17 + -0x20)" (( "(") (binary_expression "puVar17 + -0x20" (identifier "puVar17") (+ "+") (number_literal "-0x20")) () ")")))) (= "=") (identifier "local_e0")) (; ";")) (expression_statement "*(undefined4 *)(puVar17 + -0x24) = 0xd2840;" (assignment_expression "*(undefined4 *)(puVar17 + -0x24) = 0xd2840" (pointer_expression "*(undefined4 *)(puVar17 + -0x24)" (* "*") (cast_expression "(undefined4 *)(puVar17 + -0x24)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + -0x24)" (( "(") (binary_expression "puVar17 + -0x24" (identifier "puVar17") (+ "+") (number_literal "-0x24")) () ")")))) (= "=") (number_literal "0xd2840")) (; ";")) (expression_statement "FUN_00074340();" (call_expression "FUN_00074340()" (identifier "FUN_00074340") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "piVar18 = *(int **)(*local_dc + 0xc);" (assignment_expression "piVar18 = *(int **)(*local_dc + 0xc)" (identifier "piVar18") (= "=") (pointer_expression "*(int **)(*local_dc + 0xc)" (* "*") (cast_expression "(int **)(*local_dc + 0xc)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*local_dc + 0xc)" (( "(") (binary_expression "*local_dc + 0xc" (pointer_expression "*local_dc" (* "*") (identifier "local_dc")) (+ "+") (number_literal "0xc")) () ")"))))) (; ";")) (if_statement "if (piVar18 == (int *)0x0) {\n              *(undefined ***)(puVar17 + -0xc) = local_b8 + -0x615c4;\n              *(undefined4 *)(puVar17 + -0x10) = 0x73;\n              *(int *)(puVar17 + -0x14) = (int)local_b8 + -0x1a1d93;\n                    \n              *(undefined4 *)(puVar17 + -0x18) = 0xd2fad;\n              FUN_002446e0();\n            }" (if "if") (parenthesized_expression "(piVar18 == (int *)0x0)" (( "(") (binary_expression "piVar18 == (int *)0x0" (identifier "piVar18") (== "==") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n              *(undefined ***)(puVar17 + -0xc) = local_b8 + -0x615c4;\n              *(undefined4 *)(puVar17 + -0x10) = 0x73;\n              *(int *)(puVar17 + -0x14) = (int)local_b8 + -0x1a1d93;\n                    \n              *(undefined4 *)(puVar17 + -0x18) = 0xd2fad;\n              FUN_002446e0();\n            }" ({ "{") (expression_statement "*(undefined ***)(puVar17 + -0xc) = local_b8 + -0x615c4;" (assignment_expression "*(undefined ***)(puVar17 + -0xc) = local_b8 + -0x615c4" (pointer_expression "*(undefined ***)(puVar17 + -0xc)" (* "*") (cast_expression "(undefined ***)(puVar17 + -0xc)" (( "(") (type_descriptor "undefined ***" (type_identifier "undefined") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "(puVar17 + -0xc)" (( "(") (binary_expression "puVar17 + -0xc" (identifier "puVar17") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (binary_expression "local_b8 + -0x615c4" (identifier "local_b8") (+ "+") (number_literal "-0x615c4"))) (; ";")) (expression_statement "*(undefined4 *)(puVar17 + -0x10) = 0x73;" (assignment_expression "*(undefined4 *)(puVar17 + -0x10) = 0x73" (pointer_expression "*(undefined4 *)(puVar17 + -0x10)" (* "*") (cast_expression "(undefined4 *)(puVar17 + -0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + -0x10)" (( "(") (binary_expression "puVar17 + -0x10" (identifier "puVar17") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (number_literal "0x73")) (; ";")) (expression_statement "*(int *)(puVar17 + -0x14) = (int)local_b8 + -0x1a1d93;" (assignment_expression "*(int *)(puVar17 + -0x14) = (int)local_b8 + -0x1a1d93" (pointer_expression "*(int *)(puVar17 + -0x14)" (* "*") (cast_expression "(int *)(puVar17 + -0x14)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + -0x14)" (( "(") (binary_expression "puVar17 + -0x14" (identifier "puVar17") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (binary_expression "(int)local_b8 + -0x1a1d93" (cast_expression "(int)local_b8" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_b8")) (+ "+") (number_literal "-0x1a1d93"))) (; ";")) (expression_statement "*(undefined4 *)(puVar17 + -0x18) = 0xd2fad;" (assignment_expression "*(undefined4 *)(puVar17 + -0x18) = 0xd2fad" (pointer_expression "*(undefined4 *)(puVar17 + -0x18)" (* "*") (cast_expression "(undefined4 *)(puVar17 + -0x18)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + -0x18)" (( "(") (binary_expression "puVar17 + -0x18" (identifier "puVar17") (+ "+") (number_literal "-0x18")) () ")")))) (= "=") (number_literal "0xd2fad")) (; ";")) (expression_statement "FUN_002446e0();" (call_expression "FUN_002446e0()" (identifier "FUN_002446e0") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (expression_statement "iVar19 = *piVar18;" (assignment_expression "iVar19 = *piVar18" (identifier "iVar19") (= "=") (pointer_expression "*piVar18" (* "*") (identifier "piVar18"))) (; ";")) (expression_statement "*(undefined **)(puVar17 + -0xc) = local_c4;" (assignment_expression "*(undefined **)(puVar17 + -0xc) = local_c4" (pointer_expression "*(undefined **)(puVar17 + -0xc)" (* "*") (cast_expression "(undefined **)(puVar17 + -0xc)" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar17 + -0xc)" (( "(") (binary_expression "puVar17 + -0xc" (identifier "puVar17") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (identifier "local_c4")) (; ";")) (expression_statement "*(undefined ***)(puVar17 + -0x10) = local_b4;" (assignment_expression "*(undefined ***)(puVar17 + -0x10) = local_b4" (pointer_expression "*(undefined ***)(puVar17 + -0x10)" (* "*") (cast_expression "(undefined ***)(puVar17 + -0x10)" (( "(") (type_descriptor "undefined ***" (type_identifier "undefined") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "(puVar17 + -0x10)" (( "(") (binary_expression "puVar17 + -0x10" (identifier "puVar17") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "local_b4")) (; ";")) (expression_statement "*(undefined ***)(puVar17 + -0x14) = local_c0;" (assignment_expression "*(undefined ***)(puVar17 + -0x14) = local_c0" (pointer_expression "*(undefined ***)(puVar17 + -0x14)" (* "*") (cast_expression "(undefined ***)(puVar17 + -0x14)" (( "(") (type_descriptor "undefined ***" (type_identifier "undefined") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "(puVar17 + -0x14)" (( "(") (binary_expression "puVar17 + -0x14" (identifier "puVar17") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (identifier "local_c0")) (; ";")) (expression_statement "*(undefined ***)(puVar17 + -0x18) = param_5;" (assignment_expression "*(undefined ***)(puVar17 + -0x18) = param_5" (pointer_expression "*(undefined ***)(puVar17 + -0x18)" (* "*") (cast_expression "(undefined ***)(puVar17 + -0x18)" (( "(") (type_descriptor "undefined ***" (type_identifier "undefined") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "(puVar17 + -0x18)" (( "(") (binary_expression "puVar17 + -0x18" (identifier "puVar17") (+ "+") (number_literal "-0x18")) () ")")))) (= "=") (identifier "param_5")) (; ";")) (expression_statement "*(undefined ***)(puVar17 + -0x1c) = param_4;" (assignment_expression "*(undefined ***)(puVar17 + -0x1c) = param_4" (pointer_expression "*(undefined ***)(puVar17 + -0x1c)" (* "*") (cast_expression "(undefined ***)(puVar17 + -0x1c)" (( "(") (type_descriptor "undefined ***" (type_identifier "undefined") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "(puVar17 + -0x1c)" (( "(") (binary_expression "puVar17 + -0x1c" (identifier "puVar17") (+ "+") (number_literal "-0x1c")) () ")")))) (= "=") (identifier "param_4")) (; ";")) (expression_statement "*(int *)(puVar17 + -0x20) = param_2;" (assignment_expression "*(int *)(puVar17 + -0x20) = param_2" (pointer_expression "*(int *)(puVar17 + -0x20)" (* "*") (cast_expression "(int *)(puVar17 + -0x20)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + -0x20)" (( "(") (binary_expression "puVar17 + -0x20" (identifier "puVar17") (+ "+") (number_literal "-0x20")) () ")")))) (= "=") (identifier "param_2")) (; ";")) (expression_statement "*(int **)(puVar17 + -0x24) = piVar18;" (assignment_expression "*(int **)(puVar17 + -0x24) = piVar18" (pointer_expression "*(int **)(puVar17 + -0x24)" (* "*") (cast_expression "(int **)(puVar17 + -0x24)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar17 + -0x24)" (( "(") (binary_expression "puVar17 + -0x24" (identifier "puVar17") (+ "+") (number_literal "-0x24")) () ")")))) (= "=") (identifier "piVar18")) (; ";")) (expression_statement "pcVar4 = *(code **)(iVar19 + 0x104);" (assignment_expression "pcVar4 = *(code **)(iVar19 + 0x104)" (identifier "pcVar4") (= "=") (pointer_expression "*(code **)(iVar19 + 0x104)" (* "*") (cast_expression "(code **)(iVar19 + 0x104)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar19 + 0x104)" (( "(") (binary_expression "iVar19 + 0x104" (identifier "iVar19") (+ "+") (number_literal "0x104")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)(puVar17 + -0x28) = 0xd287d;" (assignment_expression "*(undefined4 *)(puVar17 + -0x28) = 0xd287d" (pointer_expression "*(undefined4 *)(puVar17 + -0x28)" (* "*") (cast_expression "(undefined4 *)(puVar17 + -0x28)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + -0x28)" (( "(") (binary_expression "puVar17 + -0x28" (identifier "puVar17") (+ "+") (number_literal "-0x28")) () ")")))) (= "=") (number_literal "0xd287d")) (; ";")) (expression_statement "(*pcVar4)();" (call_expression "(*pcVar4)()" (parenthesized_expression "(*pcVar4)" (( "(") (pointer_expression "*pcVar4" (* "*") (identifier "pcVar4")) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "pbVar20 = local_d8;" (assignment_expression "pbVar20 = local_d8" (identifier "pbVar20") (= "=") (identifier "local_d8")) (; ";")) (expression_statement "piVar18 = (int *)(puVar17 + -4);" (assignment_expression "piVar18 = (int *)(puVar17 + -4)" (identifier "piVar18") (= "=") (cast_expression "(int *)(puVar17 + -4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + -4)" (( "(") (binary_expression "puVar17 + -4" (identifier "puVar17") (+ "+") (number_literal "-4")) () ")")))) (; ";")) (if_statement "if (local_d8 != (byte *)0x0) {\n              local_b4 = &local_2c;\n              local_b0 = &local_34;\n              iVar19 = *(int *)(param_2 + 0x158);\n              *(byte **)(puVar17 + -0x14) = local_d8;\n              local_34 = local_b4;\n              *(undefined4 *)(puVar17 + -0x18) = 0xd28bd;\n              sVar6 = strlen(*(char **)(puVar17 + -0x14));\n              pppuVar5 = local_b0;\n              *(undefined4 *)(puVar17 + -8) = 0;\n              *(byte **)(puVar17 + -0xc) = pbVar20 + sVar6;\n              *(byte **)(puVar17 + -0x10) = pbVar20;\n              *(undefined ****)(puVar17 + -0x14) = local_b0;\n              *(undefined4 *)(puVar17 + -0x18) = 0xd28d2;\n              FUN_00072b90();\n              *(undefined ****)(puVar17 + -0xc) = pppuVar5;\n              *(int *)(puVar17 + -0x10) = iVar19 + 0x44;\n              *(int **)(puVar17 + -0x14) = &local_ac;\n              *(undefined4 *)(puVar17 + -0x18) = 0xd28e6;\n              FUN_00094bd0();\n              iVar19 = local_ac;\n              if (local_34 != local_b4) {\n                *(undefined ***)(puVar17 + -0x18) = local_34;\n                *(undefined4 *)(puVar17 + -0x1c) = 0xd2909;\n                FUN_003ae080();\n              }\n              piVar18 = (int *)(puVar17 + -8);\n              iVar3 = *(int *)(param_2 + 0x158);\n              if (iVar19 != iVar3 + 0x48) {\n                local_34 = param_4;\n                local_30 = param_5;\n                iVar10 = *(int *)(iVar3 + 0x18);\n                iVar11 = iVar3 + 0x14;\n                if (*(int *)(iVar3 + 0x18) == 0) {\nLAB_000d2bd8:\n                  *(undefined *****)(puVar17 + -0x18) = &local_84;\n                  local_84 = local_b0;\n                  *(undefined4 *)(puVar17 + -0x1c) = 0xd2bf6;\n                  FUN_000c5e40();\n                  iVar12 = local_a8;\n                }\n                else {\n                  do {\n                    while ((iVar12 = iVar10, *(undefined ***)(iVar12 + 0x10) < param_4 ||\n                           ((param_4 == *(undefined ***)(iVar12 + 0x10) &&\n                            (*(undefined ***)(iVar12 + 0x14) < param_5))))) {\n                      piVar18 = (int *)(iVar12 + 0xc);\n                      iVar10 = *piVar18;\n                      iVar12 = iVar11;\n                      if (*piVar18 == 0) goto LAB_000d2962;\n                    }\n                    iVar10 = *(int *)(iVar12 + 8);\n                    iVar11 = iVar12;\n                  } while (*(int *)(iVar12 + 8) != 0);\nLAB_000d2962:\n                  if (((iVar12 == iVar3 + 0x14) || (param_4 < *(undefined ***)(iVar12 + 0x10))) ||\n                     ((param_4 == *(undefined ***)(iVar12 + 0x10) &&\n                      (param_5 < *(undefined ***)(iVar12 + 0x14))))) goto LAB_000d2bd8;\n                }\n                piVar18 = (int *)(puVar17 + -8);\n                puVar17 = puVar17 + -8;\n                for (puVar1 = *(undefined4 **)(iVar19 + 0x30); puVar1 != (undefined4 *)0x0;\n                    puVar1 = (undefined4 *)*puVar1) {\n                  *(undefined4 *)(puVar17 + -0xc) = 1;\n                  *(undefined4 *)(puVar17 + -0x10) = 0;\n                  *(int **)(puVar17 + -0x14) = &local_90;\n                  *(undefined4 **)(puVar17 + -0x18) = puVar1 + 1;\n                  *(int *)(puVar17 + -0x1c) = iVar12 + 0x18;\n                  *(undefined1 **)(puVar17 + -0x20) = local_e0;\n                  *(undefined4 *)(puVar17 + -0x24) = 0xd29ae;\n                  local_90 = iVar12 + 0x18;\n                  FUN_00074340();\n                  piVar18 = (int *)(puVar17 + -4);\n                  puVar17 = puVar17 + -4;\n                }\n              }\n            }" (if "if") (parenthesized_expression "(local_d8 != (byte *)0x0)" (( "(") (binary_expression "local_d8 != (byte *)0x0" (identifier "local_d8") (!= "!=") (cast_expression "(byte *)0x0" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n              local_b4 = &local_2c;\n              local_b0 = &local_34;\n              iVar19 = *(int *)(param_2 + 0x158);\n              *(byte **)(puVar17 + -0x14) = local_d8;\n              local_34 = local_b4;\n              *(undefined4 *)(puVar17 + -0x18) = 0xd28bd;\n              sVar6 = strlen(*(char **)(puVar17 + -0x14));\n              pppuVar5 = local_b0;\n              *(undefined4 *)(puVar17 + -8) = 0;\n              *(byte **)(puVar17 + -0xc) = pbVar20 + sVar6;\n              *(byte **)(puVar17 + -0x10) = pbVar20;\n              *(undefined ****)(puVar17 + -0x14) = local_b0;\n              *(undefined4 *)(puVar17 + -0x18) = 0xd28d2;\n              FUN_00072b90();\n              *(undefined ****)(puVar17 + -0xc) = pppuVar5;\n              *(int *)(puVar17 + -0x10) = iVar19 + 0x44;\n              *(int **)(puVar17 + -0x14) = &local_ac;\n              *(undefined4 *)(puVar17 + -0x18) = 0xd28e6;\n              FUN_00094bd0();\n              iVar19 = local_ac;\n              if (local_34 != local_b4) {\n                *(undefined ***)(puVar17 + -0x18) = local_34;\n                *(undefined4 *)(puVar17 + -0x1c) = 0xd2909;\n                FUN_003ae080();\n              }\n              piVar18 = (int *)(puVar17 + -8);\n              iVar3 = *(int *)(param_2 + 0x158);\n              if (iVar19 != iVar3 + 0x48) {\n                local_34 = param_4;\n                local_30 = param_5;\n                iVar10 = *(int *)(iVar3 + 0x18);\n                iVar11 = iVar3 + 0x14;\n                if (*(int *)(iVar3 + 0x18) == 0) {\nLAB_000d2bd8:\n                  *(undefined *****)(puVar17 + -0x18) = &local_84;\n                  local_84 = local_b0;\n                  *(undefined4 *)(puVar17 + -0x1c) = 0xd2bf6;\n                  FUN_000c5e40();\n                  iVar12 = local_a8;\n                }\n                else {\n                  do {\n                    while ((iVar12 = iVar10, *(undefined ***)(iVar12 + 0x10) < param_4 ||\n                           ((param_4 == *(undefined ***)(iVar12 + 0x10) &&\n                            (*(undefined ***)(iVar12 + 0x14) < param_5))))) {\n                      piVar18 = (int *)(iVar12 + 0xc);\n                      iVar10 = *piVar18;\n                      iVar12 = iVar11;\n                      if (*piVar18 == 0) goto LAB_000d2962;\n                    }\n                    iVar10 = *(int *)(iVar12 + 8);\n                    iVar11 = iVar12;\n                  } while (*(int *)(iVar12 + 8) != 0);\nLAB_000d2962:\n                  if (((iVar12 == iVar3 + 0x14) || (param_4 < *(undefined ***)(iVar12 + 0x10))) ||\n                     ((param_4 == *(undefined ***)(iVar12 + 0x10) &&\n                      (param_5 < *(undefined ***)(iVar12 + 0x14))))) goto LAB_000d2bd8;\n                }\n                piVar18 = (int *)(puVar17 + -8);\n                puVar17 = puVar17 + -8;\n                for (puVar1 = *(undefined4 **)(iVar19 + 0x30); puVar1 != (undefined4 *)0x0;\n                    puVar1 = (undefined4 *)*puVar1) {\n                  *(undefined4 *)(puVar17 + -0xc) = 1;\n                  *(undefined4 *)(puVar17 + -0x10) = 0;\n                  *(int **)(puVar17 + -0x14) = &local_90;\n                  *(undefined4 **)(puVar17 + -0x18) = puVar1 + 1;\n                  *(int *)(puVar17 + -0x1c) = iVar12 + 0x18;\n                  *(undefined1 **)(puVar17 + -0x20) = local_e0;\n                  *(undefined4 *)(puVar17 + -0x24) = 0xd29ae;\n                  local_90 = iVar12 + 0x18;\n                  FUN_00074340();\n                  piVar18 = (int *)(puVar17 + -4);\n                  puVar17 = puVar17 + -4;\n                }\n              }\n            }" ({ "{") (expression_statement "local_b4 = &local_2c;" (assignment_expression "local_b4 = &local_2c" (identifier "local_b4") (= "=") (pointer_expression "&local_2c" (& "&") (identifier "local_2c"))) (; ";")) (expression_statement "local_b0 = &local_34;" (assignment_expression "local_b0 = &local_34" (identifier "local_b0") (= "=") (pointer_expression "&local_34" (& "&") (identifier "local_34"))) (; ";")) (expression_statement "iVar19 = *(int *)(param_2 + 0x158);" (assignment_expression "iVar19 = *(int *)(param_2 + 0x158)" (identifier "iVar19") (= "=") (pointer_expression "*(int *)(param_2 + 0x158)" (* "*") (cast_expression "(int *)(param_2 + 0x158)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_2 + 0x158)" (( "(") (binary_expression "param_2 + 0x158" (identifier "param_2") (+ "+") (number_literal "0x158")) () ")"))))) (; ";")) (expression_statement "*(byte **)(puVar17 + -0x14) = local_d8;" (assignment_expression "*(byte **)(puVar17 + -0x14) = local_d8" (pointer_expression "*(byte **)(puVar17 + -0x14)" (* "*") (cast_expression "(byte **)(puVar17 + -0x14)" (( "(") (type_descriptor "byte **" (type_identifier "byte") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar17 + -0x14)" (( "(") (binary_expression "puVar17 + -0x14" (identifier "puVar17") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (identifier "local_d8")) (; ";")) (expression_statement "local_34 = local_b4;" (assignment_expression "local_34 = local_b4" (identifier "local_34") (= "=") (identifier "local_b4")) (; ";")) (expression_statement "*(undefined4 *)(puVar17 + -0x18) = 0xd28bd;" (assignment_expression "*(undefined4 *)(puVar17 + -0x18) = 0xd28bd" (pointer_expression "*(undefined4 *)(puVar17 + -0x18)" (* "*") (cast_expression "(undefined4 *)(puVar17 + -0x18)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + -0x18)" (( "(") (binary_expression "puVar17 + -0x18" (identifier "puVar17") (+ "+") (number_literal "-0x18")) () ")")))) (= "=") (number_literal "0xd28bd")) (; ";")) (expression_statement "sVar6 = strlen(*(char **)(puVar17 + -0x14));" (assignment_expression "sVar6 = strlen(*(char **)(puVar17 + -0x14))" (identifier "sVar6") (= "=") (call_expression "strlen(*(char **)(puVar17 + -0x14))" (identifier "strlen") (argument_list "(*(char **)(puVar17 + -0x14))" (( "(") (pointer_expression "*(char **)(puVar17 + -0x14)" (* "*") (cast_expression "(char **)(puVar17 + -0x14)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar17 + -0x14)" (( "(") (binary_expression "puVar17 + -0x14" (identifier "puVar17") (+ "+") (number_literal "-0x14")) () ")")))) () ")")))) (; ";")) (expression_statement "pppuVar5 = local_b0;" (assignment_expression "pppuVar5 = local_b0" (identifier "pppuVar5") (= "=") (identifier "local_b0")) (; ";")) (expression_statement "*(undefined4 *)(puVar17 + -8) = 0;" (assignment_expression "*(undefined4 *)(puVar17 + -8) = 0" (pointer_expression "*(undefined4 *)(puVar17 + -8)" (* "*") (cast_expression "(undefined4 *)(puVar17 + -8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + -8)" (( "(") (binary_expression "puVar17 + -8" (identifier "puVar17") (+ "+") (number_literal "-8")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(byte **)(puVar17 + -0xc) = pbVar20 + sVar6;" (assignment_expression "*(byte **)(puVar17 + -0xc) = pbVar20 + sVar6" (pointer_expression "*(byte **)(puVar17 + -0xc)" (* "*") (cast_expression "(byte **)(puVar17 + -0xc)" (( "(") (type_descriptor "byte **" (type_identifier "byte") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar17 + -0xc)" (( "(") (binary_expression "puVar17 + -0xc" (identifier "puVar17") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (binary_expression "pbVar20 + sVar6" (identifier "pbVar20") (+ "+") (identifier "sVar6"))) (; ";")) (expression_statement "*(byte **)(puVar17 + -0x10) = pbVar20;" (assignment_expression "*(byte **)(puVar17 + -0x10) = pbVar20" (pointer_expression "*(byte **)(puVar17 + -0x10)" (* "*") (cast_expression "(byte **)(puVar17 + -0x10)" (( "(") (type_descriptor "byte **" (type_identifier "byte") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar17 + -0x10)" (( "(") (binary_expression "puVar17 + -0x10" (identifier "puVar17") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "pbVar20")) (; ";")) (expression_statement "*(undefined ****)(puVar17 + -0x14) = local_b0;" (assignment_expression "*(undefined ****)(puVar17 + -0x14) = local_b0" (pointer_expression "*(undefined ****)(puVar17 + -0x14)" (* "*") (cast_expression "(undefined ****)(puVar17 + -0x14)" (( "(") (type_descriptor "undefined ****" (type_identifier "undefined") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))) () ")") (parenthesized_expression "(puVar17 + -0x14)" (( "(") (binary_expression "puVar17 + -0x14" (identifier "puVar17") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (identifier "local_b0")) (; ";")) (expression_statement "*(undefined4 *)(puVar17 + -0x18) = 0xd28d2;" (assignment_expression "*(undefined4 *)(puVar17 + -0x18) = 0xd28d2" (pointer_expression "*(undefined4 *)(puVar17 + -0x18)" (* "*") (cast_expression "(undefined4 *)(puVar17 + -0x18)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + -0x18)" (( "(") (binary_expression "puVar17 + -0x18" (identifier "puVar17") (+ "+") (number_literal "-0x18")) () ")")))) (= "=") (number_literal "0xd28d2")) (; ";")) (expression_statement "FUN_00072b90();" (call_expression "FUN_00072b90()" (identifier "FUN_00072b90") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "*(undefined ****)(puVar17 + -0xc) = pppuVar5;" (assignment_expression "*(undefined ****)(puVar17 + -0xc) = pppuVar5" (pointer_expression "*(undefined ****)(puVar17 + -0xc)" (* "*") (cast_expression "(undefined ****)(puVar17 + -0xc)" (( "(") (type_descriptor "undefined ****" (type_identifier "undefined") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))) () ")") (parenthesized_expression "(puVar17 + -0xc)" (( "(") (binary_expression "puVar17 + -0xc" (identifier "puVar17") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (identifier "pppuVar5")) (; ";")) (expression_statement "*(int *)(puVar17 + -0x10) = iVar19 + 0x44;" (assignment_expression "*(int *)(puVar17 + -0x10) = iVar19 + 0x44" (pointer_expression "*(int *)(puVar17 + -0x10)" (* "*") (cast_expression "(int *)(puVar17 + -0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + -0x10)" (( "(") (binary_expression "puVar17 + -0x10" (identifier "puVar17") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (binary_expression "iVar19 + 0x44" (identifier "iVar19") (+ "+") (number_literal "0x44"))) (; ";")) (expression_statement "*(int **)(puVar17 + -0x14) = &local_ac;" (assignment_expression "*(int **)(puVar17 + -0x14) = &local_ac" (pointer_expression "*(int **)(puVar17 + -0x14)" (* "*") (cast_expression "(int **)(puVar17 + -0x14)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar17 + -0x14)" (( "(") (binary_expression "puVar17 + -0x14" (identifier "puVar17") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (pointer_expression "&local_ac" (& "&") (identifier "local_ac"))) (; ";")) (expression_statement "*(undefined4 *)(puVar17 + -0x18) = 0xd28e6;" (assignment_expression "*(undefined4 *)(puVar17 + -0x18) = 0xd28e6" (pointer_expression "*(undefined4 *)(puVar17 + -0x18)" (* "*") (cast_expression "(undefined4 *)(puVar17 + -0x18)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + -0x18)" (( "(") (binary_expression "puVar17 + -0x18" (identifier "puVar17") (+ "+") (number_literal "-0x18")) () ")")))) (= "=") (number_literal "0xd28e6")) (; ";")) (expression_statement "FUN_00094bd0();" (call_expression "FUN_00094bd0()" (identifier "FUN_00094bd0") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "iVar19 = local_ac;" (assignment_expression "iVar19 = local_ac" (identifier "iVar19") (= "=") (identifier "local_ac")) (; ";")) (if_statement "if (local_34 != local_b4) {\n                *(undefined ***)(puVar17 + -0x18) = local_34;\n                *(undefined4 *)(puVar17 + -0x1c) = 0xd2909;\n                FUN_003ae080();\n              }" (if "if") (parenthesized_expression "(local_34 != local_b4)" (( "(") (binary_expression "local_34 != local_b4" (identifier "local_34") (!= "!=") (identifier "local_b4")) () ")")) (compound_statement "{\n                *(undefined ***)(puVar17 + -0x18) = local_34;\n                *(undefined4 *)(puVar17 + -0x1c) = 0xd2909;\n                FUN_003ae080();\n              }" ({ "{") (expression_statement "*(undefined ***)(puVar17 + -0x18) = local_34;" (assignment_expression "*(undefined ***)(puVar17 + -0x18) = local_34" (pointer_expression "*(undefined ***)(puVar17 + -0x18)" (* "*") (cast_expression "(undefined ***)(puVar17 + -0x18)" (( "(") (type_descriptor "undefined ***" (type_identifier "undefined") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "(puVar17 + -0x18)" (( "(") (binary_expression "puVar17 + -0x18" (identifier "puVar17") (+ "+") (number_literal "-0x18")) () ")")))) (= "=") (identifier "local_34")) (; ";")) (expression_statement "*(undefined4 *)(puVar17 + -0x1c) = 0xd2909;" (assignment_expression "*(undefined4 *)(puVar17 + -0x1c) = 0xd2909" (pointer_expression "*(undefined4 *)(puVar17 + -0x1c)" (* "*") (cast_expression "(undefined4 *)(puVar17 + -0x1c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + -0x1c)" (( "(") (binary_expression "puVar17 + -0x1c" (identifier "puVar17") (+ "+") (number_literal "-0x1c")) () ")")))) (= "=") (number_literal "0xd2909")) (; ";")) (expression_statement "FUN_003ae080();" (call_expression "FUN_003ae080()" (identifier "FUN_003ae080") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (expression_statement "piVar18 = (int *)(puVar17 + -8);" (assignment_expression "piVar18 = (int *)(puVar17 + -8)" (identifier "piVar18") (= "=") (cast_expression "(int *)(puVar17 + -8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + -8)" (( "(") (binary_expression "puVar17 + -8" (identifier "puVar17") (+ "+") (number_literal "-8")) () ")")))) (; ";")) (expression_statement "iVar3 = *(int *)(param_2 + 0x158);" (assignment_expression "iVar3 = *(int *)(param_2 + 0x158)" (identifier "iVar3") (= "=") (pointer_expression "*(int *)(param_2 + 0x158)" (* "*") (cast_expression "(int *)(param_2 + 0x158)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_2 + 0x158)" (( "(") (binary_expression "param_2 + 0x158" (identifier "param_2") (+ "+") (number_literal "0x158")) () ")"))))) (; ";")) (if_statement "if (iVar19 != iVar3 + 0x48) {\n                local_34 = param_4;\n                local_30 = param_5;\n                iVar10 = *(int *)(iVar3 + 0x18);\n                iVar11 = iVar3 + 0x14;\n                if (*(int *)(iVar3 + 0x18) == 0) {\nLAB_000d2bd8:\n                  *(undefined *****)(puVar17 + -0x18) = &local_84;\n                  local_84 = local_b0;\n                  *(undefined4 *)(puVar17 + -0x1c) = 0xd2bf6;\n                  FUN_000c5e40();\n                  iVar12 = local_a8;\n                }\n                else {\n                  do {\n                    while ((iVar12 = iVar10, *(undefined ***)(iVar12 + 0x10) < param_4 ||\n                           ((param_4 == *(undefined ***)(iVar12 + 0x10) &&\n                            (*(undefined ***)(iVar12 + 0x14) < param_5))))) {\n                      piVar18 = (int *)(iVar12 + 0xc);\n                      iVar10 = *piVar18;\n                      iVar12 = iVar11;\n                      if (*piVar18 == 0) goto LAB_000d2962;\n                    }\n                    iVar10 = *(int *)(iVar12 + 8);\n                    iVar11 = iVar12;\n                  } while (*(int *)(iVar12 + 8) != 0);\nLAB_000d2962:\n                  if (((iVar12 == iVar3 + 0x14) || (param_4 < *(undefined ***)(iVar12 + 0x10))) ||\n                     ((param_4 == *(undefined ***)(iVar12 + 0x10) &&\n                      (param_5 < *(undefined ***)(iVar12 + 0x14))))) goto LAB_000d2bd8;\n                }\n                piVar18 = (int *)(puVar17 + -8);\n                puVar17 = puVar17 + -8;\n                for (puVar1 = *(undefined4 **)(iVar19 + 0x30); puVar1 != (undefined4 *)0x0;\n                    puVar1 = (undefined4 *)*puVar1) {\n                  *(undefined4 *)(puVar17 + -0xc) = 1;\n                  *(undefined4 *)(puVar17 + -0x10) = 0;\n                  *(int **)(puVar17 + -0x14) = &local_90;\n                  *(undefined4 **)(puVar17 + -0x18) = puVar1 + 1;\n                  *(int *)(puVar17 + -0x1c) = iVar12 + 0x18;\n                  *(undefined1 **)(puVar17 + -0x20) = local_e0;\n                  *(undefined4 *)(puVar17 + -0x24) = 0xd29ae;\n                  local_90 = iVar12 + 0x18;\n                  FUN_00074340();\n                  piVar18 = (int *)(puVar17 + -4);\n                  puVar17 = puVar17 + -4;\n                }\n              }" (if "if") (parenthesized_expression "(iVar19 != iVar3 + 0x48)" (( "(") (binary_expression "iVar19 != iVar3 + 0x48" (identifier "iVar19") (!= "!=") (binary_expression "iVar3 + 0x48" (identifier "iVar3") (+ "+") (number_literal "0x48"))) () ")")) (compound_statement "{\n                local_34 = param_4;\n                local_30 = param_5;\n                iVar10 = *(int *)(iVar3 + 0x18);\n                iVar11 = iVar3 + 0x14;\n                if (*(int *)(iVar3 + 0x18) == 0) {\nLAB_000d2bd8:\n                  *(undefined *****)(puVar17 + -0x18) = &local_84;\n                  local_84 = local_b0;\n                  *(undefined4 *)(puVar17 + -0x1c) = 0xd2bf6;\n                  FUN_000c5e40();\n                  iVar12 = local_a8;\n                }\n                else {\n                  do {\n                    while ((iVar12 = iVar10, *(undefined ***)(iVar12 + 0x10) < param_4 ||\n                           ((param_4 == *(undefined ***)(iVar12 + 0x10) &&\n                            (*(undefined ***)(iVar12 + 0x14) < param_5))))) {\n                      piVar18 = (int *)(iVar12 + 0xc);\n                      iVar10 = *piVar18;\n                      iVar12 = iVar11;\n                      if (*piVar18 == 0) goto LAB_000d2962;\n                    }\n                    iVar10 = *(int *)(iVar12 + 8);\n                    iVar11 = iVar12;\n                  } while (*(int *)(iVar12 + 8) != 0);\nLAB_000d2962:\n                  if (((iVar12 == iVar3 + 0x14) || (param_4 < *(undefined ***)(iVar12 + 0x10))) ||\n                     ((param_4 == *(undefined ***)(iVar12 + 0x10) &&\n                      (param_5 < *(undefined ***)(iVar12 + 0x14))))) goto LAB_000d2bd8;\n                }\n                piVar18 = (int *)(puVar17 + -8);\n                puVar17 = puVar17 + -8;\n                for (puVar1 = *(undefined4 **)(iVar19 + 0x30); puVar1 != (undefined4 *)0x0;\n                    puVar1 = (undefined4 *)*puVar1) {\n                  *(undefined4 *)(puVar17 + -0xc) = 1;\n                  *(undefined4 *)(puVar17 + -0x10) = 0;\n                  *(int **)(puVar17 + -0x14) = &local_90;\n                  *(undefined4 **)(puVar17 + -0x18) = puVar1 + 1;\n                  *(int *)(puVar17 + -0x1c) = iVar12 + 0x18;\n                  *(undefined1 **)(puVar17 + -0x20) = local_e0;\n                  *(undefined4 *)(puVar17 + -0x24) = 0xd29ae;\n                  local_90 = iVar12 + 0x18;\n                  FUN_00074340();\n                  piVar18 = (int *)(puVar17 + -4);\n                  puVar17 = puVar17 + -4;\n                }\n              }" ({ "{") (expression_statement "local_34 = param_4;" (assignment_expression "local_34 = param_4" (identifier "local_34") (= "=") (identifier "param_4")) (; ";")) (expression_statement "local_30 = param_5;" (assignment_expression "local_30 = param_5" (identifier "local_30") (= "=") (identifier "param_5")) (; ";")) (expression_statement "iVar10 = *(int *)(iVar3 + 0x18);" (assignment_expression "iVar10 = *(int *)(iVar3 + 0x18)" (identifier "iVar10") (= "=") (pointer_expression "*(int *)(iVar3 + 0x18)" (* "*") (cast_expression "(int *)(iVar3 + 0x18)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar3 + 0x18)" (( "(") (binary_expression "iVar3 + 0x18" (identifier "iVar3") (+ "+") (number_literal "0x18")) () ")"))))) (; ";")) (expression_statement "iVar11 = iVar3 + 0x14;" (assignment_expression "iVar11 = iVar3 + 0x14" (identifier "iVar11") (= "=") (binary_expression "iVar3 + 0x14" (identifier "iVar3") (+ "+") (number_literal "0x14"))) (; ";")) (if_statement "if (*(int *)(iVar3 + 0x18) == 0) {\nLAB_000d2bd8:\n                  *(undefined *****)(puVar17 + -0x18) = &local_84;\n                  local_84 = local_b0;\n                  *(undefined4 *)(puVar17 + -0x1c) = 0xd2bf6;\n                  FUN_000c5e40();\n                  iVar12 = local_a8;\n                }\n                else {\n                  do {\n                    while ((iVar12 = iVar10, *(undefined ***)(iVar12 + 0x10) < param_4 ||\n                           ((param_4 == *(undefined ***)(iVar12 + 0x10) &&\n                            (*(undefined ***)(iVar12 + 0x14) < param_5))))) {\n                      piVar18 = (int *)(iVar12 + 0xc);\n                      iVar10 = *piVar18;\n                      iVar12 = iVar11;\n                      if (*piVar18 == 0) goto LAB_000d2962;\n                    }\n                    iVar10 = *(int *)(iVar12 + 8);\n                    iVar11 = iVar12;\n                  } while (*(int *)(iVar12 + 8) != 0);\nLAB_000d2962:\n                  if (((iVar12 == iVar3 + 0x14) || (param_4 < *(undefined ***)(iVar12 + 0x10))) ||\n                     ((param_4 == *(undefined ***)(iVar12 + 0x10) &&\n                      (param_5 < *(undefined ***)(iVar12 + 0x14))))) goto LAB_000d2bd8;\n                }" (if "if") (parenthesized_expression "(*(int *)(iVar3 + 0x18) == 0)" (( "(") (binary_expression "*(int *)(iVar3 + 0x18) == 0" (pointer_expression "*(int *)(iVar3 + 0x18)" (* "*") (cast_expression "(int *)(iVar3 + 0x18)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar3 + 0x18)" (( "(") (binary_expression "iVar3 + 0x18" (identifier "iVar3") (+ "+") (number_literal "0x18")) () ")")))) (== "==") (number_literal "0")) () ")")) (compound_statement "{\nLAB_000d2bd8:\n                  *(undefined *****)(puVar17 + -0x18) = &local_84;\n                  local_84 = local_b0;\n                  *(undefined4 *)(puVar17 + -0x1c) = 0xd2bf6;\n                  FUN_000c5e40();\n                  iVar12 = local_a8;\n                }" ({ "{") (labeled_statement "LAB_000d2bd8:\n                  *(undefined *****)(puVar17 + -0x18) = &local_84;" (statement_identifier "LAB_000d2bd8") (: ":") (expression_statement "*(undefined *****)(puVar17 + -0x18) = &local_84;" (assignment_expression "*(undefined *****)(puVar17 + -0x18) = &local_84" (pointer_expression "*(undefined *****)(puVar17 + -0x18)" (* "*") (cast_expression "(undefined *****)(puVar17 + -0x18)" (( "(") (type_descriptor "undefined *****" (type_identifier "undefined") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (parenthesized_expression "(puVar17 + -0x18)" (( "(") (binary_expression "puVar17 + -0x18" (identifier "puVar17") (+ "+") (number_literal "-0x18")) () ")")))) (= "=") (pointer_expression "&local_84" (& "&") (identifier "local_84"))) (; ";"))) (expression_statement "local_84 = local_b0;" (assignment_expression "local_84 = local_b0" (identifier "local_84") (= "=") (identifier "local_b0")) (; ";")) (expression_statement "*(undefined4 *)(puVar17 + -0x1c) = 0xd2bf6;" (assignment_expression "*(undefined4 *)(puVar17 + -0x1c) = 0xd2bf6" (pointer_expression "*(undefined4 *)(puVar17 + -0x1c)" (* "*") (cast_expression "(undefined4 *)(puVar17 + -0x1c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + -0x1c)" (( "(") (binary_expression "puVar17 + -0x1c" (identifier "puVar17") (+ "+") (number_literal "-0x1c")) () ")")))) (= "=") (number_literal "0xd2bf6")) (; ";")) (expression_statement "FUN_000c5e40();" (call_expression "FUN_000c5e40()" (identifier "FUN_000c5e40") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "iVar12 = local_a8;" (assignment_expression "iVar12 = local_a8" (identifier "iVar12") (= "=") (identifier "local_a8")) (; ";")) (} "}")) (else_clause "else {\n                  do {\n                    while ((iVar12 = iVar10, *(undefined ***)(iVar12 + 0x10) < param_4 ||\n                           ((param_4 == *(undefined ***)(iVar12 + 0x10) &&\n                            (*(undefined ***)(iVar12 + 0x14) < param_5))))) {\n                      piVar18 = (int *)(iVar12 + 0xc);\n                      iVar10 = *piVar18;\n                      iVar12 = iVar11;\n                      if (*piVar18 == 0) goto LAB_000d2962;\n                    }\n                    iVar10 = *(int *)(iVar12 + 8);\n                    iVar11 = iVar12;\n                  } while (*(int *)(iVar12 + 8) != 0);\nLAB_000d2962:\n                  if (((iVar12 == iVar3 + 0x14) || (param_4 < *(undefined ***)(iVar12 + 0x10))) ||\n                     ((param_4 == *(undefined ***)(iVar12 + 0x10) &&\n                      (param_5 < *(undefined ***)(iVar12 + 0x14))))) goto LAB_000d2bd8;\n                }" (else "else") (compound_statement "{\n                  do {\n                    while ((iVar12 = iVar10, *(undefined ***)(iVar12 + 0x10) < param_4 ||\n                           ((param_4 == *(undefined ***)(iVar12 + 0x10) &&\n                            (*(undefined ***)(iVar12 + 0x14) < param_5))))) {\n                      piVar18 = (int *)(iVar12 + 0xc);\n                      iVar10 = *piVar18;\n                      iVar12 = iVar11;\n                      if (*piVar18 == 0) goto LAB_000d2962;\n                    }\n                    iVar10 = *(int *)(iVar12 + 8);\n                    iVar11 = iVar12;\n                  } while (*(int *)(iVar12 + 8) != 0);\nLAB_000d2962:\n                  if (((iVar12 == iVar3 + 0x14) || (param_4 < *(undefined ***)(iVar12 + 0x10))) ||\n                     ((param_4 == *(undefined ***)(iVar12 + 0x10) &&\n                      (param_5 < *(undefined ***)(iVar12 + 0x14))))) goto LAB_000d2bd8;\n                }" ({ "{") (do_statement "do {\n                    while ((iVar12 = iVar10, *(undefined ***)(iVar12 + 0x10) < param_4 ||\n                           ((param_4 == *(undefined ***)(iVar12 + 0x10) &&\n                            (*(undefined ***)(iVar12 + 0x14) < param_5))))) {\n                      piVar18 = (int *)(iVar12 + 0xc);\n                      iVar10 = *piVar18;\n                      iVar12 = iVar11;\n                      if (*piVar18 == 0) goto LAB_000d2962;\n                    }\n                    iVar10 = *(int *)(iVar12 + 8);\n                    iVar11 = iVar12;\n                  } while (*(int *)(iVar12 + 8) != 0);" (do "do") (compound_statement "{\n                    while ((iVar12 = iVar10, *(undefined ***)(iVar12 + 0x10) < param_4 ||\n                           ((param_4 == *(undefined ***)(iVar12 + 0x10) &&\n                            (*(undefined ***)(iVar12 + 0x14) < param_5))))) {\n                      piVar18 = (int *)(iVar12 + 0xc);\n                      iVar10 = *piVar18;\n                      iVar12 = iVar11;\n                      if (*piVar18 == 0) goto LAB_000d2962;\n                    }\n                    iVar10 = *(int *)(iVar12 + 8);\n                    iVar11 = iVar12;\n                  }" ({ "{") (while_statement "while ((iVar12 = iVar10, *(undefined ***)(iVar12 + 0x10) < param_4 ||\n                           ((param_4 == *(undefined ***)(iVar12 + 0x10) &&\n                            (*(undefined ***)(iVar12 + 0x14) < param_5))))) {\n                      piVar18 = (int *)(iVar12 + 0xc);\n                      iVar10 = *piVar18;\n                      iVar12 = iVar11;\n                      if (*piVar18 == 0) goto LAB_000d2962;\n                    }" (while "while") (parenthesized_expression "((iVar12 = iVar10, *(undefined ***)(iVar12 + 0x10) < param_4 ||\n                           ((param_4 == *(undefined ***)(iVar12 + 0x10) &&\n                            (*(undefined ***)(iVar12 + 0x14) < param_5)))))" (( "(") (parenthesized_expression "(iVar12 = iVar10, *(undefined ***)(iVar12 + 0x10) < param_4 ||\n                           ((param_4 == *(undefined ***)(iVar12 + 0x10) &&\n                            (*(undefined ***)(iVar12 + 0x14) < param_5))))" (( "(") (comma_expression "iVar12 = iVar10, *(undefined ***)(iVar12 + 0x10) < param_4 ||\n                           ((param_4 == *(undefined ***)(iVar12 + 0x10) &&\n                            (*(undefined ***)(iVar12 + 0x14) < param_5)))" (assignment_expression "iVar12 = iVar10" (identifier "iVar12") (= "=") (identifier "iVar10")) (, ",") (binary_expression "*(undefined ***)(iVar12 + 0x10) < param_4 ||\n                           ((param_4 == *(undefined ***)(iVar12 + 0x10) &&\n                            (*(undefined ***)(iVar12 + 0x14) < param_5)))" (binary_expression "*(undefined ***)(iVar12 + 0x10) < param_4" (pointer_expression "*(undefined ***)(iVar12 + 0x10)" (* "*") (cast_expression "(undefined ***)(iVar12 + 0x10)" (( "(") (type_descriptor "undefined ***" (type_identifier "undefined") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "(iVar12 + 0x10)" (( "(") (binary_expression "iVar12 + 0x10" (identifier "iVar12") (+ "+") (number_literal "0x10")) () ")")))) (< "<") (identifier "param_4")) (|| "||") (parenthesized_expression "((param_4 == *(undefined ***)(iVar12 + 0x10) &&\n                            (*(undefined ***)(iVar12 + 0x14) < param_5)))" (( "(") (parenthesized_expression "(param_4 == *(undefined ***)(iVar12 + 0x10) &&\n                            (*(undefined ***)(iVar12 + 0x14) < param_5))" (( "(") (binary_expression "param_4 == *(undefined ***)(iVar12 + 0x10) &&\n                            (*(undefined ***)(iVar12 + 0x14) < param_5)" (binary_expression "param_4 == *(undefined ***)(iVar12 + 0x10)" (identifier "param_4") (== "==") (pointer_expression "*(undefined ***)(iVar12 + 0x10)" (* "*") (cast_expression "(undefined ***)(iVar12 + 0x10)" (( "(") (type_descriptor "undefined ***" (type_identifier "undefined") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "(iVar12 + 0x10)" (( "(") (binary_expression "iVar12 + 0x10" (identifier "iVar12") (+ "+") (number_literal "0x10")) () ")"))))) (&& "&&") (parenthesized_expression "(*(undefined ***)(iVar12 + 0x14) < param_5)" (( "(") (binary_expression "*(undefined ***)(iVar12 + 0x14) < param_5" (pointer_expression "*(undefined ***)(iVar12 + 0x14)" (* "*") (cast_expression "(undefined ***)(iVar12 + 0x14)" (( "(") (type_descriptor "undefined ***" (type_identifier "undefined") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "(iVar12 + 0x14)" (( "(") (binary_expression "iVar12 + 0x14" (identifier "iVar12") (+ "+") (number_literal "0x14")) () ")")))) (< "<") (identifier "param_5")) () ")"))) () ")")) () ")")))) () ")")) () ")")) (compound_statement "{\n                      piVar18 = (int *)(iVar12 + 0xc);\n                      iVar10 = *piVar18;\n                      iVar12 = iVar11;\n                      if (*piVar18 == 0) goto LAB_000d2962;\n                    }" ({ "{") (expression_statement "piVar18 = (int *)(iVar12 + 0xc);" (assignment_expression "piVar18 = (int *)(iVar12 + 0xc)" (identifier "piVar18") (= "=") (cast_expression "(int *)(iVar12 + 0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar12 + 0xc)" (( "(") (binary_expression "iVar12 + 0xc" (identifier "iVar12") (+ "+") (number_literal "0xc")) () ")")))) (; ";")) (expression_statement "iVar10 = *piVar18;" (assignment_expression "iVar10 = *piVar18" (identifier "iVar10") (= "=") (pointer_expression "*piVar18" (* "*") (identifier "piVar18"))) (; ";")) (expression_statement "iVar12 = iVar11;" (assignment_expression "iVar12 = iVar11" (identifier "iVar12") (= "=") (identifier "iVar11")) (; ";")) (if_statement "if (*piVar18 == 0) goto LAB_000d2962;" (if "if") (parenthesized_expression "(*piVar18 == 0)" (( "(") (binary_expression "*piVar18 == 0" (pointer_expression "*piVar18" (* "*") (identifier "piVar18")) (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_000d2962;" (goto "goto") (statement_identifier "LAB_000d2962") (; ";"))) (} "}"))) (expression_statement "iVar10 = *(int *)(iVar12 + 8);" (assignment_expression "iVar10 = *(int *)(iVar12 + 8)" (identifier "iVar10") (= "=") (pointer_expression "*(int *)(iVar12 + 8)" (* "*") (cast_expression "(int *)(iVar12 + 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar12 + 8)" (( "(") (binary_expression "iVar12 + 8" (identifier "iVar12") (+ "+") (number_literal "8")) () ")"))))) (; ";")) (expression_statement "iVar11 = iVar12;" (assignment_expression "iVar11 = iVar12" (identifier "iVar11") (= "=") (identifier "iVar12")) (; ";")) (} "}")) (while "while") (parenthesized_expression "(*(int *)(iVar12 + 8) != 0)" (( "(") (binary_expression "*(int *)(iVar12 + 8) != 0" (pointer_expression "*(int *)(iVar12 + 8)" (* "*") (cast_expression "(int *)(iVar12 + 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar12 + 8)" (( "(") (binary_expression "iVar12 + 8" (identifier "iVar12") (+ "+") (number_literal "8")) () ")")))) (!= "!=") (number_literal "0")) () ")")) (; ";")) (labeled_statement "LAB_000d2962:\n                  if (((iVar12 == iVar3 + 0x14) || (param_4 < *(undefined ***)(iVar12 + 0x10))) ||\n                     ((param_4 == *(undefined ***)(iVar12 + 0x10) &&\n                      (param_5 < *(undefined ***)(iVar12 + 0x14))))) goto LAB_000d2bd8;" (statement_identifier "LAB_000d2962") (: ":") (if_statement "if (((iVar12 == iVar3 + 0x14) || (param_4 < *(undefined ***)(iVar12 + 0x10))) ||\n                     ((param_4 == *(undefined ***)(iVar12 + 0x10) &&\n                      (param_5 < *(undefined ***)(iVar12 + 0x14))))) goto LAB_000d2bd8;" (if "if") (parenthesized_expression "(((iVar12 == iVar3 + 0x14) || (param_4 < *(undefined ***)(iVar12 + 0x10))) ||\n                     ((param_4 == *(undefined ***)(iVar12 + 0x10) &&\n                      (param_5 < *(undefined ***)(iVar12 + 0x14)))))" (( "(") (binary_expression "((iVar12 == iVar3 + 0x14) || (param_4 < *(undefined ***)(iVar12 + 0x10))) ||\n                     ((param_4 == *(undefined ***)(iVar12 + 0x10) &&\n                      (param_5 < *(undefined ***)(iVar12 + 0x14))))" (parenthesized_expression "((iVar12 == iVar3 + 0x14) || (param_4 < *(undefined ***)(iVar12 + 0x10)))" (( "(") (binary_expression "(iVar12 == iVar3 + 0x14) || (param_4 < *(undefined ***)(iVar12 + 0x10))" (parenthesized_expression "(iVar12 == iVar3 + 0x14)" (( "(") (binary_expression "iVar12 == iVar3 + 0x14" (identifier "iVar12") (== "==") (binary_expression "iVar3 + 0x14" (identifier "iVar3") (+ "+") (number_literal "0x14"))) () ")")) (|| "||") (parenthesized_expression "(param_4 < *(undefined ***)(iVar12 + 0x10))" (( "(") (binary_expression "param_4 < *(undefined ***)(iVar12 + 0x10)" (identifier "param_4") (< "<") (pointer_expression "*(undefined ***)(iVar12 + 0x10)" (* "*") (cast_expression "(undefined ***)(iVar12 + 0x10)" (( "(") (type_descriptor "undefined ***" (type_identifier "undefined") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "(iVar12 + 0x10)" (( "(") (binary_expression "iVar12 + 0x10" (identifier "iVar12") (+ "+") (number_literal "0x10")) () ")"))))) () ")"))) () ")")) (|| "||") (parenthesized_expression "((param_4 == *(undefined ***)(iVar12 + 0x10) &&\n                      (param_5 < *(undefined ***)(iVar12 + 0x14))))" (( "(") (parenthesized_expression "(param_4 == *(undefined ***)(iVar12 + 0x10) &&\n                      (param_5 < *(undefined ***)(iVar12 + 0x14)))" (( "(") (binary_expression "param_4 == *(undefined ***)(iVar12 + 0x10) &&\n                      (param_5 < *(undefined ***)(iVar12 + 0x14))" (binary_expression "param_4 == *(undefined ***)(iVar12 + 0x10)" (identifier "param_4") (== "==") (pointer_expression "*(undefined ***)(iVar12 + 0x10)" (* "*") (cast_expression "(undefined ***)(iVar12 + 0x10)" (( "(") (type_descriptor "undefined ***" (type_identifier "undefined") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "(iVar12 + 0x10)" (( "(") (binary_expression "iVar12 + 0x10" (identifier "iVar12") (+ "+") (number_literal "0x10")) () ")"))))) (&& "&&") (parenthesized_expression "(param_5 < *(undefined ***)(iVar12 + 0x14))" (( "(") (binary_expression "param_5 < *(undefined ***)(iVar12 + 0x14)" (identifier "param_5") (< "<") (pointer_expression "*(undefined ***)(iVar12 + 0x14)" (* "*") (cast_expression "(undefined ***)(iVar12 + 0x14)" (( "(") (type_descriptor "undefined ***" (type_identifier "undefined") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "(iVar12 + 0x14)" (( "(") (binary_expression "iVar12 + 0x14" (identifier "iVar12") (+ "+") (number_literal "0x14")) () ")"))))) () ")"))) () ")")) () ")"))) () ")")) (goto_statement "goto LAB_000d2bd8;" (goto "goto") (statement_identifier "LAB_000d2bd8") (; ";")))) (} "}")))) (expression_statement "piVar18 = (int *)(puVar17 + -8);" (assignment_expression "piVar18 = (int *)(puVar17 + -8)" (identifier "piVar18") (= "=") (cast_expression "(int *)(puVar17 + -8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + -8)" (( "(") (binary_expression "puVar17 + -8" (identifier "puVar17") (+ "+") (number_literal "-8")) () ")")))) (; ";")) (expression_statement "puVar17 = puVar17 + -8;" (assignment_expression "puVar17 = puVar17 + -8" (identifier "puVar17") (= "=") (binary_expression "puVar17 + -8" (identifier "puVar17") (+ "+") (number_literal "-8"))) (; ";")) (for_statement "for (puVar1 = *(undefined4 **)(iVar19 + 0x30); puVar1 != (undefined4 *)0x0;\n                    puVar1 = (undefined4 *)*puVar1) {\n                  *(undefined4 *)(puVar17 + -0xc) = 1;\n                  *(undefined4 *)(puVar17 + -0x10) = 0;\n                  *(int **)(puVar17 + -0x14) = &local_90;\n                  *(undefined4 **)(puVar17 + -0x18) = puVar1 + 1;\n                  *(int *)(puVar17 + -0x1c) = iVar12 + 0x18;\n                  *(undefined1 **)(puVar17 + -0x20) = local_e0;\n                  *(undefined4 *)(puVar17 + -0x24) = 0xd29ae;\n                  local_90 = iVar12 + 0x18;\n                  FUN_00074340();\n                  piVar18 = (int *)(puVar17 + -4);\n                  puVar17 = puVar17 + -4;\n                }" (for "for") (( "(") (assignment_expression "puVar1 = *(undefined4 **)(iVar19 + 0x30)" (identifier "puVar1") (= "=") (pointer_expression "*(undefined4 **)(iVar19 + 0x30)" (* "*") (cast_expression "(undefined4 **)(iVar19 + 0x30)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar19 + 0x30)" (( "(") (binary_expression "iVar19 + 0x30" (identifier "iVar19") (+ "+") (number_literal "0x30")) () ")"))))) (; ";") (binary_expression "puVar1 != (undefined4 *)0x0" (identifier "puVar1") (!= "!=") (cast_expression "(undefined4 *)0x0" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";") (assignment_expression "puVar1 = (undefined4 *)*puVar1" (identifier "puVar1") (= "=") (cast_expression "(undefined4 *)*puVar1" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*puVar1" (* "*") (identifier "puVar1")))) () ")") (compound_statement "{\n                  *(undefined4 *)(puVar17 + -0xc) = 1;\n                  *(undefined4 *)(puVar17 + -0x10) = 0;\n                  *(int **)(puVar17 + -0x14) = &local_90;\n                  *(undefined4 **)(puVar17 + -0x18) = puVar1 + 1;\n                  *(int *)(puVar17 + -0x1c) = iVar12 + 0x18;\n                  *(undefined1 **)(puVar17 + -0x20) = local_e0;\n                  *(undefined4 *)(puVar17 + -0x24) = 0xd29ae;\n                  local_90 = iVar12 + 0x18;\n                  FUN_00074340();\n                  piVar18 = (int *)(puVar17 + -4);\n                  puVar17 = puVar17 + -4;\n                }" ({ "{") (expression_statement "*(undefined4 *)(puVar17 + -0xc) = 1;" (assignment_expression "*(undefined4 *)(puVar17 + -0xc) = 1" (pointer_expression "*(undefined4 *)(puVar17 + -0xc)" (* "*") (cast_expression "(undefined4 *)(puVar17 + -0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + -0xc)" (( "(") (binary_expression "puVar17 + -0xc" (identifier "puVar17") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (number_literal "1")) (; ";")) (expression_statement "*(undefined4 *)(puVar17 + -0x10) = 0;" (assignment_expression "*(undefined4 *)(puVar17 + -0x10) = 0" (pointer_expression "*(undefined4 *)(puVar17 + -0x10)" (* "*") (cast_expression "(undefined4 *)(puVar17 + -0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + -0x10)" (( "(") (binary_expression "puVar17 + -0x10" (identifier "puVar17") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(int **)(puVar17 + -0x14) = &local_90;" (assignment_expression "*(int **)(puVar17 + -0x14) = &local_90" (pointer_expression "*(int **)(puVar17 + -0x14)" (* "*") (cast_expression "(int **)(puVar17 + -0x14)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar17 + -0x14)" (( "(") (binary_expression "puVar17 + -0x14" (identifier "puVar17") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (pointer_expression "&local_90" (& "&") (identifier "local_90"))) (; ";")) (expression_statement "*(undefined4 **)(puVar17 + -0x18) = puVar1 + 1;" (assignment_expression "*(undefined4 **)(puVar17 + -0x18) = puVar1 + 1" (pointer_expression "*(undefined4 **)(puVar17 + -0x18)" (* "*") (cast_expression "(undefined4 **)(puVar17 + -0x18)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar17 + -0x18)" (( "(") (binary_expression "puVar17 + -0x18" (identifier "puVar17") (+ "+") (number_literal "-0x18")) () ")")))) (= "=") (binary_expression "puVar1 + 1" (identifier "puVar1") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "*(int *)(puVar17 + -0x1c) = iVar12 + 0x18;" (assignment_expression "*(int *)(puVar17 + -0x1c) = iVar12 + 0x18" (pointer_expression "*(int *)(puVar17 + -0x1c)" (* "*") (cast_expression "(int *)(puVar17 + -0x1c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + -0x1c)" (( "(") (binary_expression "puVar17 + -0x1c" (identifier "puVar17") (+ "+") (number_literal "-0x1c")) () ")")))) (= "=") (binary_expression "iVar12 + 0x18" (identifier "iVar12") (+ "+") (number_literal "0x18"))) (; ";")) (expression_statement "*(undefined1 **)(puVar17 + -0x20) = local_e0;" (assignment_expression "*(undefined1 **)(puVar17 + -0x20) = local_e0" (pointer_expression "*(undefined1 **)(puVar17 + -0x20)" (* "*") (cast_expression "(undefined1 **)(puVar17 + -0x20)" (( "(") (type_descriptor "undefined1 **" (type_identifier "undefined1") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar17 + -0x20)" (( "(") (binary_expression "puVar17 + -0x20" (identifier "puVar17") (+ "+") (number_literal "-0x20")) () ")")))) (= "=") (identifier "local_e0")) (; ";")) (expression_statement "*(undefined4 *)(puVar17 + -0x24) = 0xd29ae;" (assignment_expression "*(undefined4 *)(puVar17 + -0x24) = 0xd29ae" (pointer_expression "*(undefined4 *)(puVar17 + -0x24)" (* "*") (cast_expression "(undefined4 *)(puVar17 + -0x24)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + -0x24)" (( "(") (binary_expression "puVar17 + -0x24" (identifier "puVar17") (+ "+") (number_literal "-0x24")) () ")")))) (= "=") (number_literal "0xd29ae")) (; ";")) (expression_statement "local_90 = iVar12 + 0x18;" (assignment_expression "local_90 = iVar12 + 0x18" (identifier "local_90") (= "=") (binary_expression "iVar12 + 0x18" (identifier "iVar12") (+ "+") (number_literal "0x18"))) (; ";")) (expression_statement "FUN_00074340();" (call_expression "FUN_00074340()" (identifier "FUN_00074340") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "piVar18 = (int *)(puVar17 + -4);" (assignment_expression "piVar18 = (int *)(puVar17 + -4)" (identifier "piVar18") (= "=") (cast_expression "(int *)(puVar17 + -4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + -4)" (( "(") (binary_expression "puVar17 + -4" (identifier "puVar17") (+ "+") (number_literal "-4")) () ")")))) (; ";")) (expression_statement "puVar17 = puVar17 + -4;" (assignment_expression "puVar17 = puVar17 + -4" (identifier "puVar17") (= "=") (binary_expression "puVar17 + -4" (identifier "puVar17") (+ "+") (number_literal "-4"))) (; ";")) (} "}"))) (} "}"))) (} "}"))) (} "}"))) (} "}"))) (} "}")) (else_clause "else {\n        if (puVar15 < param_4[0x2c]) {\n          local_70 = (undefined **)0x0;\nLAB_000d2a1f:\n          *(undefined ***)((int)piVar18 + -8) = local_b8 + -0x615ed;\n          *(undefined4 *)((int)piVar18 + -0xc) = 0x11c;\n          *(int *)((int)piVar18 + -0x10) = (int)local_b8 + -0x19ca36;\n                    \n          *(undefined4 *)((int)piVar18 + -0x14) = 0xd2a40;\n          FUN_002446e0();\n        }\n        uVar16 = (int)puVar15 - (int)param_4[0x2c];\n        local_b0 = (undefined ***)param_4[0x30];\n        if ((uint)((int)local_b0 - (int)param_4[0x2f] >> 2) <= uVar16) {\n          *(undefined ***)((int)piVar18 + -8) = local_b8 + -0x6156c;\n          *(undefined4 *)((int)piVar18 + -0xc) = 0x8ad;\n          *(int *)((int)piVar18 + -0x10) = (int)local_b8 + -0x19cc7b;\n                    \n          *(undefined4 *)((int)piVar18 + -0x14) = 0xd2f8f;\n          FUN_002446e0();\n        }\n        local_70 = *(undefined ***)(param_4[0x2f] + uVar16 * 4);\n        if (local_70 == (undefined **)0x0) goto LAB_000d2a1f;\n        if ((*(byte *)((int)local_70 + 0x2a) & 0x10) == 0) {\n          if ((*(byte *)((int)local_70 + 0x2a) & 7) == 0) goto LAB_000d25f7;\nLAB_000d29e2:\n          local_f0 = (undefined **)local_70[0xc];\n          bVar13 = 0;\n          local_b4 = (undefined **)0x0;\n          local_c0 = (undefined **)0x0;\n          bVar24 = CARRY4((uint)local_bc,(uint)local_f0);\n          local_c4 = local_bc + (int)local_f0;\n          bVar26 = local_c4 == (undefined *)0x0;\n        }\n        else {\n          *(undefined ***)((int)piVar18 + -0xc) = local_70;\n          *(int *)((int)piVar18 + -0x10) = param_2;\n          *(undefined4 *)((int)piVar18 + -0x14) = 0xd29d2;\n          local_70 = (undefined **)FUN_0034cd90();\n          if ((*(byte *)((int)local_70 + 0x2a) & 7) != 0) goto LAB_000d29e2;\nLAB_000d25f7:\n          local_f0 = (undefined **)local_70[0xc];\n          local_c0 = (undefined **)local_70[2];\n          local_c4 = local_bc + (int)local_f0;\n          if (((uint)local_c0[0xb] & 1) == 0) {\n            local_b4 = (undefined **)local_70[3];\n            bVar13 = *(byte *)((int)local_70 + 0x2b) >> 5 & 1;\n            bVar24 = (*(byte *)(local_70 + 10) & 0xf) < 2;\n            bVar26 = (*(byte *)(local_70 + 10) & 0xf) == 2;\n            if (bVar26) {\n              bVar24 = false;\n              bVar26 = local_d2 == '\0';\n              if ((!bVar26) &&\n                 (((bVar13 == 0 || (bVar26 = uVar21 == 0x17, 0x17 < uVar21)) ||\n                  (bVar24 = (0x843f84U >> (uVar2 & 0x1f) & 1) != 0, !bVar24)))) {\n                local_b0 = *(undefined ****)(param_2 + 0x15c);\n                *(undefined4 *)((int)piVar18 + -0xc) = 1;\n                *(undefined4 *)((int)piVar18 + -0x10) = 0;\n                *(undefined *****)((int)piVar18 + -0x14) = &local_94;\n                *(undefined ****)((int)piVar18 + -0x18) = &local_78;\n                local_94 = local_b0 + 0xd;\n                *(undefined ****)((int)piVar18 + -0x1c) = local_94;\n                *(undefined1 **)((int)piVar18 + -0x20) = local_e0;\n                    \n                *(undefined4 *)((int)piVar18 + -0x24) = 0xd2ccb;\n                local_78 = local_c0;\n                local_74 = local_b4;\n                FUN_00074280();\n                bVar24 = (undefined1 *)0xffffffe3 < (undefined1 *)((int)piVar18 + -0x20);\n                bVar26 = piVar18 == (int *)0x4;\n                piVar18 = (int *)((int)piVar18 + -4);\n              }\n            }\n          }\n          else {\n            local_b4 = (undefined **)0x0;\n            bVar24 = false;\n            bVar13 = 0;\n            bVar26 = true;\n            local_c0 = (undefined **)0x0;\n          }\n        }\n        pbVar20 = *local_70;\n        iVar19 = 8;\n        pbVar9 = (byte *)((int)local_b8 + -0x19ca26);\n        pbVar22 = pbVar20;\n        do {\n          if (iVar19 == 0) break;\n          iVar19 = iVar19 + -1;\n          bVar24 = *pbVar9 < *pbVar22;\n          bVar26 = *pbVar9 == *pbVar22;\n          pbVar9 = pbVar9 + (uint)bVar27 * -2 + 1;\n          pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n        } while (bVar26);\n        bVar25 = false;\n        bVar24 = (!bVar24 && !bVar26) == bVar24;\n        if (bVar24) {\n          pbVar20 = pbVar20 + 8;\n        }\n        else {\n          iVar19 = 7;\n          pbVar9 = (byte *)((int)local_b8 + -0x19ca1d);\n          pbVar22 = pbVar20;\n          do {\n            if (iVar19 == 0) break;\n            iVar19 = iVar19 + -1;\n            bVar25 = *pbVar9 < *pbVar22;\n            bVar24 = *pbVar9 == *pbVar22;\n            pbVar9 = pbVar9 + (uint)bVar27 * -2 + 1;\n            pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n          } while (bVar24);\n          pbVar20 = pbVar20 + 7;\n          if ((!bVar25 && !bVar24) != bVar25) {\n            pbVar20 = local_d8;\n          }\n        }\n        local_d8 = pbVar20;\n        if (local_d1 != '\0') {\n          if (bVar13 == 0) {\n            local_34 = (undefined **)0x0;\n            local_30 = (undefined **)0x0;\n          }\n          else {\n            local_34 = local_c0;\n            local_30 = local_b4;\n          }\n          local_b0 = &local_34;\n          *(undefined ****)((int)piVar18 + -0xc) = local_b0;\n          *(int *)((int)piVar18 + -0x10) = local_c8;\n          *(undefined4 *)((int)piVar18 + -0x14) = 0xd26b9;\n          FUN_00073b00();\n          puVar1 = *(undefined4 **)(local_cc + 4);\n          if (puVar1 == *(undefined4 **)(local_cc + 8)) {\n            *(undefined ****)((int)piVar18 + -8) = &local_70;\n            *(undefined4 **)((int)piVar18 + -0xc) = puVar1;\n            *(int *)((int)piVar18 + -0x10) = local_cc;\n            *(undefined4 *)((int)piVar18 + -0x14) = 0xd2b4b;\n            FUN_000726c0();\n          }\n          else {\n            *puVar1 = local_70;\n            *(undefined4 **)(local_cc + 4) = puVar1 + 1;\n          }\n          *(undefined ****)((int)piVar18 + -0xc) = local_b0;\n          *(undefined ***)((int)piVar18 + -0x10) = local_e8;\n          local_34 = local_f0;\n          local_30 = (undefined **)0x0;\n          local_2c = local_bc;\n          local_28 = (int)local_bc >> 0x1f;\n          *(undefined4 *)((int)piVar18 + -0x14) = 0xd270d;\n          FUN_00073e70();\n          local_30 = (undefined **)0x0;\n          local_34 = (undefined **)*param_7;\n          puVar1 = *(undefined4 **)(local_d0 + 4);\n          if (puVar1 == *(undefined4 **)(local_d0 + 8)) {\n            *(undefined ****)((int)piVar18 + -8) = local_b0;\n            *(undefined4 **)((int)piVar18 + -0xc) = puVar1;\n            *(int *)((int)piVar18 + -0x10) = local_d0;\n            *(undefined4 *)((int)piVar18 + -0x14) = 0xd2bbd;\n            FUN_00072a40();\n          }\n          else {\n            *puVar1 = local_34;\n            puVar1[1] = 0;\n            *(undefined4 **)(local_d0 + 4) = puVar1 + 2;\n          }\n          local_68 = (undefined **)0x0;\n          *(undefined ****)((int)piVar18 + -0xc) = &local_68;\n          *(int *)((int)piVar18 + -0x10) = local_ec;\n          *(undefined4 *)((int)piVar18 + -0x14) = 0xd2753;\n          FUN_00074020();\n        }\n        puVar17 = (undefined1 *)piVar18;\n        if (bVar13 != 0) goto LAB_000d275e;\n      }" (else "else") (compound_statement "{\n        if (puVar15 < param_4[0x2c]) {\n          local_70 = (undefined **)0x0;\nLAB_000d2a1f:\n          *(undefined ***)((int)piVar18 + -8) = local_b8 + -0x615ed;\n          *(undefined4 *)((int)piVar18 + -0xc) = 0x11c;\n          *(int *)((int)piVar18 + -0x10) = (int)local_b8 + -0x19ca36;\n                    \n          *(undefined4 *)((int)piVar18 + -0x14) = 0xd2a40;\n          FUN_002446e0();\n        }\n        uVar16 = (int)puVar15 - (int)param_4[0x2c];\n        local_b0 = (undefined ***)param_4[0x30];\n        if ((uint)((int)local_b0 - (int)param_4[0x2f] >> 2) <= uVar16) {\n          *(undefined ***)((int)piVar18 + -8) = local_b8 + -0x6156c;\n          *(undefined4 *)((int)piVar18 + -0xc) = 0x8ad;\n          *(int *)((int)piVar18 + -0x10) = (int)local_b8 + -0x19cc7b;\n                    \n          *(undefined4 *)((int)piVar18 + -0x14) = 0xd2f8f;\n          FUN_002446e0();\n        }\n        local_70 = *(undefined ***)(param_4[0x2f] + uVar16 * 4);\n        if (local_70 == (undefined **)0x0) goto LAB_000d2a1f;\n        if ((*(byte *)((int)local_70 + 0x2a) & 0x10) == 0) {\n          if ((*(byte *)((int)local_70 + 0x2a) & 7) == 0) goto LAB_000d25f7;\nLAB_000d29e2:\n          local_f0 = (undefined **)local_70[0xc];\n          bVar13 = 0;\n          local_b4 = (undefined **)0x0;\n          local_c0 = (undefined **)0x0;\n          bVar24 = CARRY4((uint)local_bc,(uint)local_f0);\n          local_c4 = local_bc + (int)local_f0;\n          bVar26 = local_c4 == (undefined *)0x0;\n        }\n        else {\n          *(undefined ***)((int)piVar18 + -0xc) = local_70;\n          *(int *)((int)piVar18 + -0x10) = param_2;\n          *(undefined4 *)((int)piVar18 + -0x14) = 0xd29d2;\n          local_70 = (undefined **)FUN_0034cd90();\n          if ((*(byte *)((int)local_70 + 0x2a) & 7) != 0) goto LAB_000d29e2;\nLAB_000d25f7:\n          local_f0 = (undefined **)local_70[0xc];\n          local_c0 = (undefined **)local_70[2];\n          local_c4 = local_bc + (int)local_f0;\n          if (((uint)local_c0[0xb] & 1) == 0) {\n            local_b4 = (undefined **)local_70[3];\n            bVar13 = *(byte *)((int)local_70 + 0x2b) >> 5 & 1;\n            bVar24 = (*(byte *)(local_70 + 10) & 0xf) < 2;\n            bVar26 = (*(byte *)(local_70 + 10) & 0xf) == 2;\n            if (bVar26) {\n              bVar24 = false;\n              bVar26 = local_d2 == '\0';\n              if ((!bVar26) &&\n                 (((bVar13 == 0 || (bVar26 = uVar21 == 0x17, 0x17 < uVar21)) ||\n                  (bVar24 = (0x843f84U >> (uVar2 & 0x1f) & 1) != 0, !bVar24)))) {\n                local_b0 = *(undefined ****)(param_2 + 0x15c);\n                *(undefined4 *)((int)piVar18 + -0xc) = 1;\n                *(undefined4 *)((int)piVar18 + -0x10) = 0;\n                *(undefined *****)((int)piVar18 + -0x14) = &local_94;\n                *(undefined ****)((int)piVar18 + -0x18) = &local_78;\n                local_94 = local_b0 + 0xd;\n                *(undefined ****)((int)piVar18 + -0x1c) = local_94;\n                *(undefined1 **)((int)piVar18 + -0x20) = local_e0;\n                    \n                *(undefined4 *)((int)piVar18 + -0x24) = 0xd2ccb;\n                local_78 = local_c0;\n                local_74 = local_b4;\n                FUN_00074280();\n                bVar24 = (undefined1 *)0xffffffe3 < (undefined1 *)((int)piVar18 + -0x20);\n                bVar26 = piVar18 == (int *)0x4;\n                piVar18 = (int *)((int)piVar18 + -4);\n              }\n            }\n          }\n          else {\n            local_b4 = (undefined **)0x0;\n            bVar24 = false;\n            bVar13 = 0;\n            bVar26 = true;\n            local_c0 = (undefined **)0x0;\n          }\n        }\n        pbVar20 = *local_70;\n        iVar19 = 8;\n        pbVar9 = (byte *)((int)local_b8 + -0x19ca26);\n        pbVar22 = pbVar20;\n        do {\n          if (iVar19 == 0) break;\n          iVar19 = iVar19 + -1;\n          bVar24 = *pbVar9 < *pbVar22;\n          bVar26 = *pbVar9 == *pbVar22;\n          pbVar9 = pbVar9 + (uint)bVar27 * -2 + 1;\n          pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n        } while (bVar26);\n        bVar25 = false;\n        bVar24 = (!bVar24 && !bVar26) == bVar24;\n        if (bVar24) {\n          pbVar20 = pbVar20 + 8;\n        }\n        else {\n          iVar19 = 7;\n          pbVar9 = (byte *)((int)local_b8 + -0x19ca1d);\n          pbVar22 = pbVar20;\n          do {\n            if (iVar19 == 0) break;\n            iVar19 = iVar19 + -1;\n            bVar25 = *pbVar9 < *pbVar22;\n            bVar24 = *pbVar9 == *pbVar22;\n            pbVar9 = pbVar9 + (uint)bVar27 * -2 + 1;\n            pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n          } while (bVar24);\n          pbVar20 = pbVar20 + 7;\n          if ((!bVar25 && !bVar24) != bVar25) {\n            pbVar20 = local_d8;\n          }\n        }\n        local_d8 = pbVar20;\n        if (local_d1 != '\0') {\n          if (bVar13 == 0) {\n            local_34 = (undefined **)0x0;\n            local_30 = (undefined **)0x0;\n          }\n          else {\n            local_34 = local_c0;\n            local_30 = local_b4;\n          }\n          local_b0 = &local_34;\n          *(undefined ****)((int)piVar18 + -0xc) = local_b0;\n          *(int *)((int)piVar18 + -0x10) = local_c8;\n          *(undefined4 *)((int)piVar18 + -0x14) = 0xd26b9;\n          FUN_00073b00();\n          puVar1 = *(undefined4 **)(local_cc + 4);\n          if (puVar1 == *(undefined4 **)(local_cc + 8)) {\n            *(undefined ****)((int)piVar18 + -8) = &local_70;\n            *(undefined4 **)((int)piVar18 + -0xc) = puVar1;\n            *(int *)((int)piVar18 + -0x10) = local_cc;\n            *(undefined4 *)((int)piVar18 + -0x14) = 0xd2b4b;\n            FUN_000726c0();\n          }\n          else {\n            *puVar1 = local_70;\n            *(undefined4 **)(local_cc + 4) = puVar1 + 1;\n          }\n          *(undefined ****)((int)piVar18 + -0xc) = local_b0;\n          *(undefined ***)((int)piVar18 + -0x10) = local_e8;\n          local_34 = local_f0;\n          local_30 = (undefined **)0x0;\n          local_2c = local_bc;\n          local_28 = (int)local_bc >> 0x1f;\n          *(undefined4 *)((int)piVar18 + -0x14) = 0xd270d;\n          FUN_00073e70();\n          local_30 = (undefined **)0x0;\n          local_34 = (undefined **)*param_7;\n          puVar1 = *(undefined4 **)(local_d0 + 4);\n          if (puVar1 == *(undefined4 **)(local_d0 + 8)) {\n            *(undefined ****)((int)piVar18 + -8) = local_b0;\n            *(undefined4 **)((int)piVar18 + -0xc) = puVar1;\n            *(int *)((int)piVar18 + -0x10) = local_d0;\n            *(undefined4 *)((int)piVar18 + -0x14) = 0xd2bbd;\n            FUN_00072a40();\n          }\n          else {\n            *puVar1 = local_34;\n            puVar1[1] = 0;\n            *(undefined4 **)(local_d0 + 4) = puVar1 + 2;\n          }\n          local_68 = (undefined **)0x0;\n          *(undefined ****)((int)piVar18 + -0xc) = &local_68;\n          *(int *)((int)piVar18 + -0x10) = local_ec;\n          *(undefined4 *)((int)piVar18 + -0x14) = 0xd2753;\n          FUN_00074020();\n        }\n        puVar17 = (undefined1 *)piVar18;\n        if (bVar13 != 0) goto LAB_000d275e;\n      }" ({ "{") (if_statement "if (puVar15 < param_4[0x2c]) {\n          local_70 = (undefined **)0x0;\nLAB_000d2a1f:\n          *(undefined ***)((int)piVar18 + -8) = local_b8 + -0x615ed;\n          *(undefined4 *)((int)piVar18 + -0xc) = 0x11c;\n          *(int *)((int)piVar18 + -0x10) = (int)local_b8 + -0x19ca36;\n                    \n          *(undefined4 *)((int)piVar18 + -0x14) = 0xd2a40;\n          FUN_002446e0();\n        }" (if "if") (parenthesized_expression "(puVar15 < param_4[0x2c])" (( "(") (binary_expression "puVar15 < param_4[0x2c]" (identifier "puVar15") (< "<") (subscript_expression "param_4[0x2c]" (identifier "param_4") ([ "[") (number_literal "0x2c") (] "]"))) () ")")) (compound_statement "{\n          local_70 = (undefined **)0x0;\nLAB_000d2a1f:\n          *(undefined ***)((int)piVar18 + -8) = local_b8 + -0x615ed;\n          *(undefined4 *)((int)piVar18 + -0xc) = 0x11c;\n          *(int *)((int)piVar18 + -0x10) = (int)local_b8 + -0x19ca36;\n                    \n          *(undefined4 *)((int)piVar18 + -0x14) = 0xd2a40;\n          FUN_002446e0();\n        }" ({ "{") (expression_statement "local_70 = (undefined **)0x0;" (assignment_expression "local_70 = (undefined **)0x0" (identifier "local_70") (= "=") (cast_expression "(undefined **)0x0" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (number_literal "0x0"))) (; ";")) (labeled_statement "LAB_000d2a1f:\n          *(undefined ***)((int)piVar18 + -8) = local_b8 + -0x615ed;" (statement_identifier "LAB_000d2a1f") (: ":") (expression_statement "*(undefined ***)((int)piVar18 + -8) = local_b8 + -0x615ed;" (assignment_expression "*(undefined ***)((int)piVar18 + -8) = local_b8 + -0x615ed" (pointer_expression "*(undefined ***)((int)piVar18 + -8)" (* "*") (cast_expression "(undefined ***)((int)piVar18 + -8)" (( "(") (type_descriptor "undefined ***" (type_identifier "undefined") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "((int)piVar18 + -8)" (( "(") (binary_expression "(int)piVar18 + -8" (cast_expression "(int)piVar18" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar18")) (+ "+") (number_literal "-8")) () ")")))) (= "=") (binary_expression "local_b8 + -0x615ed" (identifier "local_b8") (+ "+") (number_literal "-0x615ed"))) (; ";"))) (expression_statement "*(undefined4 *)((int)piVar18 + -0xc) = 0x11c;" (assignment_expression "*(undefined4 *)((int)piVar18 + -0xc) = 0x11c" (pointer_expression "*(undefined4 *)((int)piVar18 + -0xc)" (* "*") (cast_expression "(undefined4 *)((int)piVar18 + -0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar18 + -0xc)" (( "(") (binary_expression "(int)piVar18 + -0xc" (cast_expression "(int)piVar18" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar18")) (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (number_literal "0x11c")) (; ";")) (expression_statement "*(int *)((int)piVar18 + -0x10) = (int)local_b8 + -0x19ca36;" (assignment_expression "*(int *)((int)piVar18 + -0x10) = (int)local_b8 + -0x19ca36" (pointer_expression "*(int *)((int)piVar18 + -0x10)" (* "*") (cast_expression "(int *)((int)piVar18 + -0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar18 + -0x10)" (( "(") (binary_expression "(int)piVar18 + -0x10" (cast_expression "(int)piVar18" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar18")) (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (binary_expression "(int)local_b8 + -0x19ca36" (cast_expression "(int)local_b8" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_b8")) (+ "+") (number_literal "-0x19ca36"))) (; ";")) (expression_statement "*(undefined4 *)((int)piVar18 + -0x14) = 0xd2a40;" (assignment_expression "*(undefined4 *)((int)piVar18 + -0x14) = 0xd2a40" (pointer_expression "*(undefined4 *)((int)piVar18 + -0x14)" (* "*") (cast_expression "(undefined4 *)((int)piVar18 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar18 + -0x14)" (( "(") (binary_expression "(int)piVar18 + -0x14" (cast_expression "(int)piVar18" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar18")) (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0xd2a40")) (; ";")) (expression_statement "FUN_002446e0();" (call_expression "FUN_002446e0()" (identifier "FUN_002446e0") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (expression_statement "uVar16 = (int)puVar15 - (int)param_4[0x2c];" (assignment_expression "uVar16 = (int)puVar15 - (int)param_4[0x2c]" (identifier "uVar16") (= "=") (binary_expression "(int)puVar15 - (int)param_4[0x2c]" (cast_expression "(int)puVar15" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar15")) (- "-") (cast_expression "(int)param_4[0x2c]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "param_4[0x2c]" (identifier "param_4") ([ "[") (number_literal "0x2c") (] "]"))))) (; ";")) (expression_statement "local_b0 = (undefined ***)param_4[0x30];" (assignment_expression "local_b0 = (undefined ***)param_4[0x30]" (identifier "local_b0") (= "=") (cast_expression "(undefined ***)param_4[0x30]" (( "(") (type_descriptor "undefined ***" (type_identifier "undefined") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (subscript_expression "param_4[0x30]" (identifier "param_4") ([ "[") (number_literal "0x30") (] "]")))) (; ";")) (if_statement "if ((uint)((int)local_b0 - (int)param_4[0x2f] >> 2) <= uVar16) {\n          *(undefined ***)((int)piVar18 + -8) = local_b8 + -0x6156c;\n          *(undefined4 *)((int)piVar18 + -0xc) = 0x8ad;\n          *(int *)((int)piVar18 + -0x10) = (int)local_b8 + -0x19cc7b;\n                    \n          *(undefined4 *)((int)piVar18 + -0x14) = 0xd2f8f;\n          FUN_002446e0();\n        }" (if "if") (parenthesized_expression "((uint)((int)local_b0 - (int)param_4[0x2f] >> 2) <= uVar16)" (( "(") (binary_expression "(uint)((int)local_b0 - (int)param_4[0x2f] >> 2) <= uVar16" (call_expression "(uint)((int)local_b0 - (int)param_4[0x2f] >> 2)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "((int)local_b0 - (int)param_4[0x2f] >> 2)" (( "(") (binary_expression "(int)local_b0 - (int)param_4[0x2f] >> 2" (binary_expression "(int)local_b0 - (int)param_4[0x2f]" (cast_expression "(int)local_b0" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_b0")) (- "-") (cast_expression "(int)param_4[0x2f]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "param_4[0x2f]" (identifier "param_4") ([ "[") (number_literal "0x2f") (] "]")))) (>> ">>") (number_literal "2")) () ")"))) (<= "<=") (identifier "uVar16")) () ")")) (compound_statement "{\n          *(undefined ***)((int)piVar18 + -8) = local_b8 + -0x6156c;\n          *(undefined4 *)((int)piVar18 + -0xc) = 0x8ad;\n          *(int *)((int)piVar18 + -0x10) = (int)local_b8 + -0x19cc7b;\n                    \n          *(undefined4 *)((int)piVar18 + -0x14) = 0xd2f8f;\n          FUN_002446e0();\n        }" ({ "{") (expression_statement "*(undefined ***)((int)piVar18 + -8) = local_b8 + -0x6156c;" (assignment_expression "*(undefined ***)((int)piVar18 + -8) = local_b8 + -0x6156c" (pointer_expression "*(undefined ***)((int)piVar18 + -8)" (* "*") (cast_expression "(undefined ***)((int)piVar18 + -8)" (( "(") (type_descriptor "undefined ***" (type_identifier "undefined") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "((int)piVar18 + -8)" (( "(") (binary_expression "(int)piVar18 + -8" (cast_expression "(int)piVar18" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar18")) (+ "+") (number_literal "-8")) () ")")))) (= "=") (binary_expression "local_b8 + -0x6156c" (identifier "local_b8") (+ "+") (number_literal "-0x6156c"))) (; ";")) (expression_statement "*(undefined4 *)((int)piVar18 + -0xc) = 0x8ad;" (assignment_expression "*(undefined4 *)((int)piVar18 + -0xc) = 0x8ad" (pointer_expression "*(undefined4 *)((int)piVar18 + -0xc)" (* "*") (cast_expression "(undefined4 *)((int)piVar18 + -0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar18 + -0xc)" (( "(") (binary_expression "(int)piVar18 + -0xc" (cast_expression "(int)piVar18" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar18")) (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (number_literal "0x8ad")) (; ";")) (expression_statement "*(int *)((int)piVar18 + -0x10) = (int)local_b8 + -0x19cc7b;" (assignment_expression "*(int *)((int)piVar18 + -0x10) = (int)local_b8 + -0x19cc7b" (pointer_expression "*(int *)((int)piVar18 + -0x10)" (* "*") (cast_expression "(int *)((int)piVar18 + -0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar18 + -0x10)" (( "(") (binary_expression "(int)piVar18 + -0x10" (cast_expression "(int)piVar18" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar18")) (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (binary_expression "(int)local_b8 + -0x19cc7b" (cast_expression "(int)local_b8" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_b8")) (+ "+") (number_literal "-0x19cc7b"))) (; ";")) (expression_statement "*(undefined4 *)((int)piVar18 + -0x14) = 0xd2f8f;" (assignment_expression "*(undefined4 *)((int)piVar18 + -0x14) = 0xd2f8f" (pointer_expression "*(undefined4 *)((int)piVar18 + -0x14)" (* "*") (cast_expression "(undefined4 *)((int)piVar18 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar18 + -0x14)" (( "(") (binary_expression "(int)piVar18 + -0x14" (cast_expression "(int)piVar18" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar18")) (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0xd2f8f")) (; ";")) (expression_statement "FUN_002446e0();" (call_expression "FUN_002446e0()" (identifier "FUN_002446e0") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (expression_statement "local_70 = *(undefined ***)(param_4[0x2f] + uVar16 * 4);" (assignment_expression "local_70 = *(undefined ***)(param_4[0x2f] + uVar16 * 4)" (identifier "local_70") (= "=") (pointer_expression "*(undefined ***)(param_4[0x2f] + uVar16 * 4)" (* "*") (cast_expression "(undefined ***)(param_4[0x2f] + uVar16 * 4)" (( "(") (type_descriptor "undefined ***" (type_identifier "undefined") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "(param_4[0x2f] + uVar16 * 4)" (( "(") (binary_expression "param_4[0x2f] + uVar16 * 4" (subscript_expression "param_4[0x2f]" (identifier "param_4") ([ "[") (number_literal "0x2f") (] "]")) (+ "+") (binary_expression "uVar16 * 4" (identifier "uVar16") (* "*") (number_literal "4"))) () ")"))))) (; ";")) (if_statement "if (local_70 == (undefined **)0x0) goto LAB_000d2a1f;" (if "if") (parenthesized_expression "(local_70 == (undefined **)0x0)" (( "(") (binary_expression "local_70 == (undefined **)0x0" (identifier "local_70") (== "==") (cast_expression "(undefined **)0x0" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (number_literal "0x0"))) () ")")) (goto_statement "goto LAB_000d2a1f;" (goto "goto") (statement_identifier "LAB_000d2a1f") (; ";"))) (if_statement "if ((*(byte *)((int)local_70 + 0x2a) & 0x10) == 0) {\n          if ((*(byte *)((int)local_70 + 0x2a) & 7) == 0) goto LAB_000d25f7;\nLAB_000d29e2:\n          local_f0 = (undefined **)local_70[0xc];\n          bVar13 = 0;\n          local_b4 = (undefined **)0x0;\n          local_c0 = (undefined **)0x0;\n          bVar24 = CARRY4((uint)local_bc,(uint)local_f0);\n          local_c4 = local_bc + (int)local_f0;\n          bVar26 = local_c4 == (undefined *)0x0;\n        }\n        else {\n          *(undefined ***)((int)piVar18 + -0xc) = local_70;\n          *(int *)((int)piVar18 + -0x10) = param_2;\n          *(undefined4 *)((int)piVar18 + -0x14) = 0xd29d2;\n          local_70 = (undefined **)FUN_0034cd90();\n          if ((*(byte *)((int)local_70 + 0x2a) & 7) != 0) goto LAB_000d29e2;\nLAB_000d25f7:\n          local_f0 = (undefined **)local_70[0xc];\n          local_c0 = (undefined **)local_70[2];\n          local_c4 = local_bc + (int)local_f0;\n          if (((uint)local_c0[0xb] & 1) == 0) {\n            local_b4 = (undefined **)local_70[3];\n            bVar13 = *(byte *)((int)local_70 + 0x2b) >> 5 & 1;\n            bVar24 = (*(byte *)(local_70 + 10) & 0xf) < 2;\n            bVar26 = (*(byte *)(local_70 + 10) & 0xf) == 2;\n            if (bVar26) {\n              bVar24 = false;\n              bVar26 = local_d2 == '\0';\n              if ((!bVar26) &&\n                 (((bVar13 == 0 || (bVar26 = uVar21 == 0x17, 0x17 < uVar21)) ||\n                  (bVar24 = (0x843f84U >> (uVar2 & 0x1f) & 1) != 0, !bVar24)))) {\n                local_b0 = *(undefined ****)(param_2 + 0x15c);\n                *(undefined4 *)((int)piVar18 + -0xc) = 1;\n                *(undefined4 *)((int)piVar18 + -0x10) = 0;\n                *(undefined *****)((int)piVar18 + -0x14) = &local_94;\n                *(undefined ****)((int)piVar18 + -0x18) = &local_78;\n                local_94 = local_b0 + 0xd;\n                *(undefined ****)((int)piVar18 + -0x1c) = local_94;\n                *(undefined1 **)((int)piVar18 + -0x20) = local_e0;\n                    \n                *(undefined4 *)((int)piVar18 + -0x24) = 0xd2ccb;\n                local_78 = local_c0;\n                local_74 = local_b4;\n                FUN_00074280();\n                bVar24 = (undefined1 *)0xffffffe3 < (undefined1 *)((int)piVar18 + -0x20);\n                bVar26 = piVar18 == (int *)0x4;\n                piVar18 = (int *)((int)piVar18 + -4);\n              }\n            }\n          }\n          else {\n            local_b4 = (undefined **)0x0;\n            bVar24 = false;\n            bVar13 = 0;\n            bVar26 = true;\n            local_c0 = (undefined **)0x0;\n          }\n        }" (if "if") (parenthesized_expression "((*(byte *)((int)local_70 + 0x2a) & 0x10) == 0)" (( "(") (binary_expression "(*(byte *)((int)local_70 + 0x2a) & 0x10) == 0" (parenthesized_expression "(*(byte *)((int)local_70 + 0x2a) & 0x10)" (( "(") (binary_expression "*(byte *)((int)local_70 + 0x2a) & 0x10" (pointer_expression "*(byte *)((int)local_70 + 0x2a)" (* "*") (cast_expression "(byte *)((int)local_70 + 0x2a)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)local_70 + 0x2a)" (( "(") (binary_expression "(int)local_70 + 0x2a" (cast_expression "(int)local_70" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_70")) (+ "+") (number_literal "0x2a")) () ")")))) (& "&") (number_literal "0x10")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n          if ((*(byte *)((int)local_70 + 0x2a) & 7) == 0) goto LAB_000d25f7;\nLAB_000d29e2:\n          local_f0 = (undefined **)local_70[0xc];\n          bVar13 = 0;\n          local_b4 = (undefined **)0x0;\n          local_c0 = (undefined **)0x0;\n          bVar24 = CARRY4((uint)local_bc,(uint)local_f0);\n          local_c4 = local_bc + (int)local_f0;\n          bVar26 = local_c4 == (undefined *)0x0;\n        }" ({ "{") (if_statement "if ((*(byte *)((int)local_70 + 0x2a) & 7) == 0) goto LAB_000d25f7;" (if "if") (parenthesized_expression "((*(byte *)((int)local_70 + 0x2a) & 7) == 0)" (( "(") (binary_expression "(*(byte *)((int)local_70 + 0x2a) & 7) == 0" (parenthesized_expression "(*(byte *)((int)local_70 + 0x2a) & 7)" (( "(") (binary_expression "*(byte *)((int)local_70 + 0x2a) & 7" (pointer_expression "*(byte *)((int)local_70 + 0x2a)" (* "*") (cast_expression "(byte *)((int)local_70 + 0x2a)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)local_70 + 0x2a)" (( "(") (binary_expression "(int)local_70 + 0x2a" (cast_expression "(int)local_70" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_70")) (+ "+") (number_literal "0x2a")) () ")")))) (& "&") (number_literal "7")) () ")")) (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_000d25f7;" (goto "goto") (statement_identifier "LAB_000d25f7") (; ";"))) (labeled_statement "LAB_000d29e2:\n          local_f0 = (undefined **)local_70[0xc];" (statement_identifier "LAB_000d29e2") (: ":") (expression_statement "local_f0 = (undefined **)local_70[0xc];" (assignment_expression "local_f0 = (undefined **)local_70[0xc]" (identifier "local_f0") (= "=") (cast_expression "(undefined **)local_70[0xc]" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (subscript_expression "local_70[0xc]" (identifier "local_70") ([ "[") (number_literal "0xc") (] "]")))) (; ";"))) (expression_statement "bVar13 = 0;" (assignment_expression "bVar13 = 0" (identifier "bVar13") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_b4 = (undefined **)0x0;" (assignment_expression "local_b4 = (undefined **)0x0" (identifier "local_b4") (= "=") (cast_expression "(undefined **)0x0" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "local_c0 = (undefined **)0x0;" (assignment_expression "local_c0 = (undefined **)0x0" (identifier "local_c0") (= "=") (cast_expression "(undefined **)0x0" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "bVar24 = CARRY4((uint)local_bc,(uint)local_f0);" (assignment_expression "bVar24 = CARRY4((uint)local_bc,(uint)local_f0)" (identifier "bVar24") (= "=") (call_expression "CARRY4((uint)local_bc,(uint)local_f0)" (identifier "CARRY4") (argument_list "((uint)local_bc,(uint)local_f0)" (( "(") (cast_expression "(uint)local_bc" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "local_bc")) (, ",") (cast_expression "(uint)local_f0" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "local_f0")) () ")")))) (; ";")) (expression_statement "local_c4 = local_bc + (int)local_f0;" (assignment_expression "local_c4 = local_bc + (int)local_f0" (identifier "local_c4") (= "=") (binary_expression "local_bc + (int)local_f0" (identifier "local_bc") (+ "+") (cast_expression "(int)local_f0" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_f0")))) (; ";")) (expression_statement "bVar26 = local_c4 == (undefined *)0x0;" (assignment_expression "bVar26 = local_c4 == (undefined *)0x0" (identifier "bVar26") (= "=") (binary_expression "local_c4 == (undefined *)0x0" (identifier "local_c4") (== "==") (cast_expression "(undefined *)0x0" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0")))) (; ";")) (} "}")) (else_clause "else {\n          *(undefined ***)((int)piVar18 + -0xc) = local_70;\n          *(int *)((int)piVar18 + -0x10) = param_2;\n          *(undefined4 *)((int)piVar18 + -0x14) = 0xd29d2;\n          local_70 = (undefined **)FUN_0034cd90();\n          if ((*(byte *)((int)local_70 + 0x2a) & 7) != 0) goto LAB_000d29e2;\nLAB_000d25f7:\n          local_f0 = (undefined **)local_70[0xc];\n          local_c0 = (undefined **)local_70[2];\n          local_c4 = local_bc + (int)local_f0;\n          if (((uint)local_c0[0xb] & 1) == 0) {\n            local_b4 = (undefined **)local_70[3];\n            bVar13 = *(byte *)((int)local_70 + 0x2b) >> 5 & 1;\n            bVar24 = (*(byte *)(local_70 + 10) & 0xf) < 2;\n            bVar26 = (*(byte *)(local_70 + 10) & 0xf) == 2;\n            if (bVar26) {\n              bVar24 = false;\n              bVar26 = local_d2 == '\0';\n              if ((!bVar26) &&\n                 (((bVar13 == 0 || (bVar26 = uVar21 == 0x17, 0x17 < uVar21)) ||\n                  (bVar24 = (0x843f84U >> (uVar2 & 0x1f) & 1) != 0, !bVar24)))) {\n                local_b0 = *(undefined ****)(param_2 + 0x15c);\n                *(undefined4 *)((int)piVar18 + -0xc) = 1;\n                *(undefined4 *)((int)piVar18 + -0x10) = 0;\n                *(undefined *****)((int)piVar18 + -0x14) = &local_94;\n                *(undefined ****)((int)piVar18 + -0x18) = &local_78;\n                local_94 = local_b0 + 0xd;\n                *(undefined ****)((int)piVar18 + -0x1c) = local_94;\n                *(undefined1 **)((int)piVar18 + -0x20) = local_e0;\n                    \n                *(undefined4 *)((int)piVar18 + -0x24) = 0xd2ccb;\n                local_78 = local_c0;\n                local_74 = local_b4;\n                FUN_00074280();\n                bVar24 = (undefined1 *)0xffffffe3 < (undefined1 *)((int)piVar18 + -0x20);\n                bVar26 = piVar18 == (int *)0x4;\n                piVar18 = (int *)((int)piVar18 + -4);\n              }\n            }\n          }\n          else {\n            local_b4 = (undefined **)0x0;\n            bVar24 = false;\n            bVar13 = 0;\n            bVar26 = true;\n            local_c0 = (undefined **)0x0;\n          }\n        }" (else "else") (compound_statement "{\n          *(undefined ***)((int)piVar18 + -0xc) = local_70;\n          *(int *)((int)piVar18 + -0x10) = param_2;\n          *(undefined4 *)((int)piVar18 + -0x14) = 0xd29d2;\n          local_70 = (undefined **)FUN_0034cd90();\n          if ((*(byte *)((int)local_70 + 0x2a) & 7) != 0) goto LAB_000d29e2;\nLAB_000d25f7:\n          local_f0 = (undefined **)local_70[0xc];\n          local_c0 = (undefined **)local_70[2];\n          local_c4 = local_bc + (int)local_f0;\n          if (((uint)local_c0[0xb] & 1) == 0) {\n            local_b4 = (undefined **)local_70[3];\n            bVar13 = *(byte *)((int)local_70 + 0x2b) >> 5 & 1;\n            bVar24 = (*(byte *)(local_70 + 10) & 0xf) < 2;\n            bVar26 = (*(byte *)(local_70 + 10) & 0xf) == 2;\n            if (bVar26) {\n              bVar24 = false;\n              bVar26 = local_d2 == '\0';\n              if ((!bVar26) &&\n                 (((bVar13 == 0 || (bVar26 = uVar21 == 0x17, 0x17 < uVar21)) ||\n                  (bVar24 = (0x843f84U >> (uVar2 & 0x1f) & 1) != 0, !bVar24)))) {\n                local_b0 = *(undefined ****)(param_2 + 0x15c);\n                *(undefined4 *)((int)piVar18 + -0xc) = 1;\n                *(undefined4 *)((int)piVar18 + -0x10) = 0;\n                *(undefined *****)((int)piVar18 + -0x14) = &local_94;\n                *(undefined ****)((int)piVar18 + -0x18) = &local_78;\n                local_94 = local_b0 + 0xd;\n                *(undefined ****)((int)piVar18 + -0x1c) = local_94;\n                *(undefined1 **)((int)piVar18 + -0x20) = local_e0;\n                    \n                *(undefined4 *)((int)piVar18 + -0x24) = 0xd2ccb;\n                local_78 = local_c0;\n                local_74 = local_b4;\n                FUN_00074280();\n                bVar24 = (undefined1 *)0xffffffe3 < (undefined1 *)((int)piVar18 + -0x20);\n                bVar26 = piVar18 == (int *)0x4;\n                piVar18 = (int *)((int)piVar18 + -4);\n              }\n            }\n          }\n          else {\n            local_b4 = (undefined **)0x0;\n            bVar24 = false;\n            bVar13 = 0;\n            bVar26 = true;\n            local_c0 = (undefined **)0x0;\n          }\n        }" ({ "{") (expression_statement "*(undefined ***)((int)piVar18 + -0xc) = local_70;" (assignment_expression "*(undefined ***)((int)piVar18 + -0xc) = local_70" (pointer_expression "*(undefined ***)((int)piVar18 + -0xc)" (* "*") (cast_expression "(undefined ***)((int)piVar18 + -0xc)" (( "(") (type_descriptor "undefined ***" (type_identifier "undefined") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "((int)piVar18 + -0xc)" (( "(") (binary_expression "(int)piVar18 + -0xc" (cast_expression "(int)piVar18" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar18")) (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (identifier "local_70")) (; ";")) (expression_statement "*(int *)((int)piVar18 + -0x10) = param_2;" (assignment_expression "*(int *)((int)piVar18 + -0x10) = param_2" (pointer_expression "*(int *)((int)piVar18 + -0x10)" (* "*") (cast_expression "(int *)((int)piVar18 + -0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar18 + -0x10)" (( "(") (binary_expression "(int)piVar18 + -0x10" (cast_expression "(int)piVar18" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar18")) (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "param_2")) (; ";")) (expression_statement "*(undefined4 *)((int)piVar18 + -0x14) = 0xd29d2;" (assignment_expression "*(undefined4 *)((int)piVar18 + -0x14) = 0xd29d2" (pointer_expression "*(undefined4 *)((int)piVar18 + -0x14)" (* "*") (cast_expression "(undefined4 *)((int)piVar18 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar18 + -0x14)" (( "(") (binary_expression "(int)piVar18 + -0x14" (cast_expression "(int)piVar18" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar18")) (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0xd29d2")) (; ";")) (expression_statement "local_70 = (undefined **)FUN_0034cd90();" (assignment_expression "local_70 = (undefined **)FUN_0034cd90()" (identifier "local_70") (= "=") (cast_expression "(undefined **)FUN_0034cd90()" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (call_expression "FUN_0034cd90()" (identifier "FUN_0034cd90") (argument_list "()" (( "(") () ")"))))) (; ";")) (if_statement "if ((*(byte *)((int)local_70 + 0x2a) & 7) != 0) goto LAB_000d29e2;" (if "if") (parenthesized_expression "((*(byte *)((int)local_70 + 0x2a) & 7) != 0)" (( "(") (binary_expression "(*(byte *)((int)local_70 + 0x2a) & 7) != 0" (parenthesized_expression "(*(byte *)((int)local_70 + 0x2a) & 7)" (( "(") (binary_expression "*(byte *)((int)local_70 + 0x2a) & 7" (pointer_expression "*(byte *)((int)local_70 + 0x2a)" (* "*") (cast_expression "(byte *)((int)local_70 + 0x2a)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)local_70 + 0x2a)" (( "(") (binary_expression "(int)local_70 + 0x2a" (cast_expression "(int)local_70" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_70")) (+ "+") (number_literal "0x2a")) () ")")))) (& "&") (number_literal "7")) () ")")) (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_000d29e2;" (goto "goto") (statement_identifier "LAB_000d29e2") (; ";"))) (labeled_statement "LAB_000d25f7:\n          local_f0 = (undefined **)local_70[0xc];" (statement_identifier "LAB_000d25f7") (: ":") (expression_statement "local_f0 = (undefined **)local_70[0xc];" (assignment_expression "local_f0 = (undefined **)local_70[0xc]" (identifier "local_f0") (= "=") (cast_expression "(undefined **)local_70[0xc]" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (subscript_expression "local_70[0xc]" (identifier "local_70") ([ "[") (number_literal "0xc") (] "]")))) (; ";"))) (expression_statement "local_c0 = (undefined **)local_70[2];" (assignment_expression "local_c0 = (undefined **)local_70[2]" (identifier "local_c0") (= "=") (cast_expression "(undefined **)local_70[2]" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (subscript_expression "local_70[2]" (identifier "local_70") ([ "[") (number_literal "2") (] "]")))) (; ";")) (expression_statement "local_c4 = local_bc + (int)local_f0;" (assignment_expression "local_c4 = local_bc + (int)local_f0" (identifier "local_c4") (= "=") (binary_expression "local_bc + (int)local_f0" (identifier "local_bc") (+ "+") (cast_expression "(int)local_f0" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_f0")))) (; ";")) (if_statement "if (((uint)local_c0[0xb] & 1) == 0) {\n            local_b4 = (undefined **)local_70[3];\n            bVar13 = *(byte *)((int)local_70 + 0x2b) >> 5 & 1;\n            bVar24 = (*(byte *)(local_70 + 10) & 0xf) < 2;\n            bVar26 = (*(byte *)(local_70 + 10) & 0xf) == 2;\n            if (bVar26) {\n              bVar24 = false;\n              bVar26 = local_d2 == '\0';\n              if ((!bVar26) &&\n                 (((bVar13 == 0 || (bVar26 = uVar21 == 0x17, 0x17 < uVar21)) ||\n                  (bVar24 = (0x843f84U >> (uVar2 & 0x1f) & 1) != 0, !bVar24)))) {\n                local_b0 = *(undefined ****)(param_2 + 0x15c);\n                *(undefined4 *)((int)piVar18 + -0xc) = 1;\n                *(undefined4 *)((int)piVar18 + -0x10) = 0;\n                *(undefined *****)((int)piVar18 + -0x14) = &local_94;\n                *(undefined ****)((int)piVar18 + -0x18) = &local_78;\n                local_94 = local_b0 + 0xd;\n                *(undefined ****)((int)piVar18 + -0x1c) = local_94;\n                *(undefined1 **)((int)piVar18 + -0x20) = local_e0;\n                    \n                *(undefined4 *)((int)piVar18 + -0x24) = 0xd2ccb;\n                local_78 = local_c0;\n                local_74 = local_b4;\n                FUN_00074280();\n                bVar24 = (undefined1 *)0xffffffe3 < (undefined1 *)((int)piVar18 + -0x20);\n                bVar26 = piVar18 == (int *)0x4;\n                piVar18 = (int *)((int)piVar18 + -4);\n              }\n            }\n          }\n          else {\n            local_b4 = (undefined **)0x0;\n            bVar24 = false;\n            bVar13 = 0;\n            bVar26 = true;\n            local_c0 = (undefined **)0x0;\n          }" (if "if") (parenthesized_expression "(((uint)local_c0[0xb] & 1) == 0)" (( "(") (binary_expression "((uint)local_c0[0xb] & 1) == 0" (parenthesized_expression "((uint)local_c0[0xb] & 1)" (( "(") (binary_expression "(uint)local_c0[0xb] & 1" (cast_expression "(uint)local_c0[0xb]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (subscript_expression "local_c0[0xb]" (identifier "local_c0") ([ "[") (number_literal "0xb") (] "]"))) (& "&") (number_literal "1")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n            local_b4 = (undefined **)local_70[3];\n            bVar13 = *(byte *)((int)local_70 + 0x2b) >> 5 & 1;\n            bVar24 = (*(byte *)(local_70 + 10) & 0xf) < 2;\n            bVar26 = (*(byte *)(local_70 + 10) & 0xf) == 2;\n            if (bVar26) {\n              bVar24 = false;\n              bVar26 = local_d2 == '\0';\n              if ((!bVar26) &&\n                 (((bVar13 == 0 || (bVar26 = uVar21 == 0x17, 0x17 < uVar21)) ||\n                  (bVar24 = (0x843f84U >> (uVar2 & 0x1f) & 1) != 0, !bVar24)))) {\n                local_b0 = *(undefined ****)(param_2 + 0x15c);\n                *(undefined4 *)((int)piVar18 + -0xc) = 1;\n                *(undefined4 *)((int)piVar18 + -0x10) = 0;\n                *(undefined *****)((int)piVar18 + -0x14) = &local_94;\n                *(undefined ****)((int)piVar18 + -0x18) = &local_78;\n                local_94 = local_b0 + 0xd;\n                *(undefined ****)((int)piVar18 + -0x1c) = local_94;\n                *(undefined1 **)((int)piVar18 + -0x20) = local_e0;\n                    \n                *(undefined4 *)((int)piVar18 + -0x24) = 0xd2ccb;\n                local_78 = local_c0;\n                local_74 = local_b4;\n                FUN_00074280();\n                bVar24 = (undefined1 *)0xffffffe3 < (undefined1 *)((int)piVar18 + -0x20);\n                bVar26 = piVar18 == (int *)0x4;\n                piVar18 = (int *)((int)piVar18 + -4);\n              }\n            }\n          }" ({ "{") (expression_statement "local_b4 = (undefined **)local_70[3];" (assignment_expression "local_b4 = (undefined **)local_70[3]" (identifier "local_b4") (= "=") (cast_expression "(undefined **)local_70[3]" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (subscript_expression "local_70[3]" (identifier "local_70") ([ "[") (number_literal "3") (] "]")))) (; ";")) (expression_statement "bVar13 = *(byte *)((int)local_70 + 0x2b) >> 5 & 1;" (assignment_expression "bVar13 = *(byte *)((int)local_70 + 0x2b) >> 5 & 1" (identifier "bVar13") (= "=") (binary_expression "*(byte *)((int)local_70 + 0x2b) >> 5 & 1" (binary_expression "*(byte *)((int)local_70 + 0x2b) >> 5" (pointer_expression "*(byte *)((int)local_70 + 0x2b)" (* "*") (cast_expression "(byte *)((int)local_70 + 0x2b)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)local_70 + 0x2b)" (( "(") (binary_expression "(int)local_70 + 0x2b" (cast_expression "(int)local_70" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_70")) (+ "+") (number_literal "0x2b")) () ")")))) (>> ">>") (number_literal "5")) (& "&") (number_literal "1"))) (; ";")) (expression_statement "bVar24 = (*(byte *)(local_70 + 10) & 0xf) < 2;" (assignment_expression "bVar24 = (*(byte *)(local_70 + 10) & 0xf) < 2" (identifier "bVar24") (= "=") (binary_expression "(*(byte *)(local_70 + 10) & 0xf) < 2" (parenthesized_expression "(*(byte *)(local_70 + 10) & 0xf)" (( "(") (binary_expression "*(byte *)(local_70 + 10) & 0xf" (pointer_expression "*(byte *)(local_70 + 10)" (* "*") (cast_expression "(byte *)(local_70 + 10)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_70 + 10)" (( "(") (binary_expression "local_70 + 10" (identifier "local_70") (+ "+") (number_literal "10")) () ")")))) (& "&") (number_literal "0xf")) () ")")) (< "<") (number_literal "2"))) (; ";")) (expression_statement "bVar26 = (*(byte *)(local_70 + 10) & 0xf) == 2;" (assignment_expression "bVar26 = (*(byte *)(local_70 + 10) & 0xf) == 2" (identifier "bVar26") (= "=") (binary_expression "(*(byte *)(local_70 + 10) & 0xf) == 2" (parenthesized_expression "(*(byte *)(local_70 + 10) & 0xf)" (( "(") (binary_expression "*(byte *)(local_70 + 10) & 0xf" (pointer_expression "*(byte *)(local_70 + 10)" (* "*") (cast_expression "(byte *)(local_70 + 10)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_70 + 10)" (( "(") (binary_expression "local_70 + 10" (identifier "local_70") (+ "+") (number_literal "10")) () ")")))) (& "&") (number_literal "0xf")) () ")")) (== "==") (number_literal "2"))) (; ";")) (if_statement "if (bVar26) {\n              bVar24 = false;\n              bVar26 = local_d2 == '\0';\n              if ((!bVar26) &&\n                 (((bVar13 == 0 || (bVar26 = uVar21 == 0x17, 0x17 < uVar21)) ||\n                  (bVar24 = (0x843f84U >> (uVar2 & 0x1f) & 1) != 0, !bVar24)))) {\n                local_b0 = *(undefined ****)(param_2 + 0x15c);\n                *(undefined4 *)((int)piVar18 + -0xc) = 1;\n                *(undefined4 *)((int)piVar18 + -0x10) = 0;\n                *(undefined *****)((int)piVar18 + -0x14) = &local_94;\n                *(undefined ****)((int)piVar18 + -0x18) = &local_78;\n                local_94 = local_b0 + 0xd;\n                *(undefined ****)((int)piVar18 + -0x1c) = local_94;\n                *(undefined1 **)((int)piVar18 + -0x20) = local_e0;\n                    \n                *(undefined4 *)((int)piVar18 + -0x24) = 0xd2ccb;\n                local_78 = local_c0;\n                local_74 = local_b4;\n                FUN_00074280();\n                bVar24 = (undefined1 *)0xffffffe3 < (undefined1 *)((int)piVar18 + -0x20);\n                bVar26 = piVar18 == (int *)0x4;\n                piVar18 = (int *)((int)piVar18 + -4);\n              }\n            }" (if "if") (parenthesized_expression "(bVar26)" (( "(") (identifier "bVar26") () ")")) (compound_statement "{\n              bVar24 = false;\n              bVar26 = local_d2 == '\0';\n              if ((!bVar26) &&\n                 (((bVar13 == 0 || (bVar26 = uVar21 == 0x17, 0x17 < uVar21)) ||\n                  (bVar24 = (0x843f84U >> (uVar2 & 0x1f) & 1) != 0, !bVar24)))) {\n                local_b0 = *(undefined ****)(param_2 + 0x15c);\n                *(undefined4 *)((int)piVar18 + -0xc) = 1;\n                *(undefined4 *)((int)piVar18 + -0x10) = 0;\n                *(undefined *****)((int)piVar18 + -0x14) = &local_94;\n                *(undefined ****)((int)piVar18 + -0x18) = &local_78;\n                local_94 = local_b0 + 0xd;\n                *(undefined ****)((int)piVar18 + -0x1c) = local_94;\n                *(undefined1 **)((int)piVar18 + -0x20) = local_e0;\n                    \n                *(undefined4 *)((int)piVar18 + -0x24) = 0xd2ccb;\n                local_78 = local_c0;\n                local_74 = local_b4;\n                FUN_00074280();\n                bVar24 = (undefined1 *)0xffffffe3 < (undefined1 *)((int)piVar18 + -0x20);\n                bVar26 = piVar18 == (int *)0x4;\n                piVar18 = (int *)((int)piVar18 + -4);\n              }\n            }" ({ "{") (expression_statement "bVar24 = false;" (assignment_expression "bVar24 = false" (identifier "bVar24") (= "=") (false "false")) (; ";")) (expression_statement "bVar26 = local_d2 == '\0';" (assignment_expression "bVar26 = local_d2 == '\0'" (identifier "bVar26") (= "=") (binary_expression "local_d2 == '\0'" (identifier "local_d2") (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'")))) (; ";")) (if_statement "if ((!bVar26) &&\n                 (((bVar13 == 0 || (bVar26 = uVar21 == 0x17, 0x17 < uVar21)) ||\n                  (bVar24 = (0x843f84U >> (uVar2 & 0x1f) & 1) != 0, !bVar24)))) {\n                local_b0 = *(undefined ****)(param_2 + 0x15c);\n                *(undefined4 *)((int)piVar18 + -0xc) = 1;\n                *(undefined4 *)((int)piVar18 + -0x10) = 0;\n                *(undefined *****)((int)piVar18 + -0x14) = &local_94;\n                *(undefined ****)((int)piVar18 + -0x18) = &local_78;\n                local_94 = local_b0 + 0xd;\n                *(undefined ****)((int)piVar18 + -0x1c) = local_94;\n                *(undefined1 **)((int)piVar18 + -0x20) = local_e0;\n                    \n                *(undefined4 *)((int)piVar18 + -0x24) = 0xd2ccb;\n                local_78 = local_c0;\n                local_74 = local_b4;\n                FUN_00074280();\n                bVar24 = (undefined1 *)0xffffffe3 < (undefined1 *)((int)piVar18 + -0x20);\n                bVar26 = piVar18 == (int *)0x4;\n                piVar18 = (int *)((int)piVar18 + -4);\n              }" (if "if") (parenthesized_expression "((!bVar26) &&\n                 (((bVar13 == 0 || (bVar26 = uVar21 == 0x17, 0x17 < uVar21)) ||\n                  (bVar24 = (0x843f84U >> (uVar2 & 0x1f) & 1) != 0, !bVar24))))" (( "(") (binary_expression "(!bVar26) &&\n                 (((bVar13 == 0 || (bVar26 = uVar21 == 0x17, 0x17 < uVar21)) ||\n                  (bVar24 = (0x843f84U >> (uVar2 & 0x1f) & 1) != 0, !bVar24)))" (parenthesized_expression "(!bVar26)" (( "(") (unary_expression "!bVar26" (! "!") (identifier "bVar26")) () ")")) (&& "&&") (parenthesized_expression "(((bVar13 == 0 || (bVar26 = uVar21 == 0x17, 0x17 < uVar21)) ||\n                  (bVar24 = (0x843f84U >> (uVar2 & 0x1f) & 1) != 0, !bVar24)))" (( "(") (parenthesized_expression "((bVar13 == 0 || (bVar26 = uVar21 == 0x17, 0x17 < uVar21)) ||\n                  (bVar24 = (0x843f84U >> (uVar2 & 0x1f) & 1) != 0, !bVar24))" (( "(") (binary_expression "(bVar13 == 0 || (bVar26 = uVar21 == 0x17, 0x17 < uVar21)) ||\n                  (bVar24 = (0x843f84U >> (uVar2 & 0x1f) & 1) != 0, !bVar24)" (parenthesized_expression "(bVar13 == 0 || (bVar26 = uVar21 == 0x17, 0x17 < uVar21))" (( "(") (binary_expression "bVar13 == 0 || (bVar26 = uVar21 == 0x17, 0x17 < uVar21)" (binary_expression "bVar13 == 0" (identifier "bVar13") (== "==") (number_literal "0")) (|| "||") (parenthesized_expression "(bVar26 = uVar21 == 0x17, 0x17 < uVar21)" (( "(") (comma_expression "bVar26 = uVar21 == 0x17, 0x17 < uVar21" (assignment_expression "bVar26 = uVar21 == 0x17" (identifier "bVar26") (= "=") (binary_expression "uVar21 == 0x17" (identifier "uVar21") (== "==") (number_literal "0x17"))) (, ",") (binary_expression "0x17 < uVar21" (number_literal "0x17") (< "<") (identifier "uVar21"))) () ")"))) () ")")) (|| "||") (parenthesized_expression "(bVar24 = (0x843f84U >> (uVar2 & 0x1f) & 1) != 0, !bVar24)" (( "(") (comma_expression "bVar24 = (0x843f84U >> (uVar2 & 0x1f) & 1) != 0, !bVar24" (assignment_expression "bVar24 = (0x843f84U >> (uVar2 & 0x1f) & 1) != 0" (identifier "bVar24") (= "=") (binary_expression "(0x843f84U >> (uVar2 & 0x1f) & 1) != 0" (parenthesized_expression "(0x843f84U >> (uVar2 & 0x1f) & 1)" (( "(") (binary_expression "0x843f84U >> (uVar2 & 0x1f) & 1" (binary_expression "0x843f84U >> (uVar2 & 0x1f)" (number_literal "0x843f84U") (>> ">>") (parenthesized_expression "(uVar2 & 0x1f)" (( "(") (binary_expression "uVar2 & 0x1f" (identifier "uVar2") (& "&") (number_literal "0x1f")) () ")"))) (& "&") (number_literal "1")) () ")")) (!= "!=") (number_literal "0"))) (, ",") (unary_expression "!bVar24" (! "!") (identifier "bVar24"))) () ")"))) () ")")) () ")"))) () ")")) (compound_statement "{\n                local_b0 = *(undefined ****)(param_2 + 0x15c);\n                *(undefined4 *)((int)piVar18 + -0xc) = 1;\n                *(undefined4 *)((int)piVar18 + -0x10) = 0;\n                *(undefined *****)((int)piVar18 + -0x14) = &local_94;\n                *(undefined ****)((int)piVar18 + -0x18) = &local_78;\n                local_94 = local_b0 + 0xd;\n                *(undefined ****)((int)piVar18 + -0x1c) = local_94;\n                *(undefined1 **)((int)piVar18 + -0x20) = local_e0;\n                    \n                *(undefined4 *)((int)piVar18 + -0x24) = 0xd2ccb;\n                local_78 = local_c0;\n                local_74 = local_b4;\n                FUN_00074280();\n                bVar24 = (undefined1 *)0xffffffe3 < (undefined1 *)((int)piVar18 + -0x20);\n                bVar26 = piVar18 == (int *)0x4;\n                piVar18 = (int *)((int)piVar18 + -4);\n              }" ({ "{") (expression_statement "local_b0 = *(undefined ****)(param_2 + 0x15c);" (assignment_expression "local_b0 = *(undefined ****)(param_2 + 0x15c)" (identifier "local_b0") (= "=") (pointer_expression "*(undefined ****)(param_2 + 0x15c)" (* "*") (cast_expression "(undefined ****)(param_2 + 0x15c)" (( "(") (type_descriptor "undefined ****" (type_identifier "undefined") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))) () ")") (parenthesized_expression "(param_2 + 0x15c)" (( "(") (binary_expression "param_2 + 0x15c" (identifier "param_2") (+ "+") (number_literal "0x15c")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)((int)piVar18 + -0xc) = 1;" (assignment_expression "*(undefined4 *)((int)piVar18 + -0xc) = 1" (pointer_expression "*(undefined4 *)((int)piVar18 + -0xc)" (* "*") (cast_expression "(undefined4 *)((int)piVar18 + -0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar18 + -0xc)" (( "(") (binary_expression "(int)piVar18 + -0xc" (cast_expression "(int)piVar18" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar18")) (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (number_literal "1")) (; ";")) (expression_statement "*(undefined4 *)((int)piVar18 + -0x10) = 0;" (assignment_expression "*(undefined4 *)((int)piVar18 + -0x10) = 0" (pointer_expression "*(undefined4 *)((int)piVar18 + -0x10)" (* "*") (cast_expression "(undefined4 *)((int)piVar18 + -0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar18 + -0x10)" (( "(") (binary_expression "(int)piVar18 + -0x10" (cast_expression "(int)piVar18" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar18")) (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(undefined *****)((int)piVar18 + -0x14) = &local_94;" (assignment_expression "*(undefined *****)((int)piVar18 + -0x14) = &local_94" (pointer_expression "*(undefined *****)((int)piVar18 + -0x14)" (* "*") (cast_expression "(undefined *****)((int)piVar18 + -0x14)" (( "(") (type_descriptor "undefined *****" (type_identifier "undefined") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (parenthesized_expression "((int)piVar18 + -0x14)" (( "(") (binary_expression "(int)piVar18 + -0x14" (cast_expression "(int)piVar18" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar18")) (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (pointer_expression "&local_94" (& "&") (identifier "local_94"))) (; ";")) (expression_statement "*(undefined ****)((int)piVar18 + -0x18) = &local_78;" (assignment_expression "*(undefined ****)((int)piVar18 + -0x18) = &local_78" (pointer_expression "*(undefined ****)((int)piVar18 + -0x18)" (* "*") (cast_expression "(undefined ****)((int)piVar18 + -0x18)" (( "(") (type_descriptor "undefined ****" (type_identifier "undefined") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))) () ")") (parenthesized_expression "((int)piVar18 + -0x18)" (( "(") (binary_expression "(int)piVar18 + -0x18" (cast_expression "(int)piVar18" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar18")) (+ "+") (number_literal "-0x18")) () ")")))) (= "=") (pointer_expression "&local_78" (& "&") (identifier "local_78"))) (; ";")) (expression_statement "local_94 = local_b0 + 0xd;" (assignment_expression "local_94 = local_b0 + 0xd" (identifier "local_94") (= "=") (binary_expression "local_b0 + 0xd" (identifier "local_b0") (+ "+") (number_literal "0xd"))) (; ";")) (expression_statement "*(undefined ****)((int)piVar18 + -0x1c) = local_94;" (assignment_expression "*(undefined ****)((int)piVar18 + -0x1c) = local_94" (pointer_expression "*(undefined ****)((int)piVar18 + -0x1c)" (* "*") (cast_expression "(undefined ****)((int)piVar18 + -0x1c)" (( "(") (type_descriptor "undefined ****" (type_identifier "undefined") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))) () ")") (parenthesized_expression "((int)piVar18 + -0x1c)" (( "(") (binary_expression "(int)piVar18 + -0x1c" (cast_expression "(int)piVar18" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar18")) (+ "+") (number_literal "-0x1c")) () ")")))) (= "=") (identifier "local_94")) (; ";")) (expression_statement "*(undefined1 **)((int)piVar18 + -0x20) = local_e0;" (assignment_expression "*(undefined1 **)((int)piVar18 + -0x20) = local_e0" (pointer_expression "*(undefined1 **)((int)piVar18 + -0x20)" (* "*") (cast_expression "(undefined1 **)((int)piVar18 + -0x20)" (( "(") (type_descriptor "undefined1 **" (type_identifier "undefined1") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)piVar18 + -0x20)" (( "(") (binary_expression "(int)piVar18 + -0x20" (cast_expression "(int)piVar18" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar18")) (+ "+") (number_literal "-0x20")) () ")")))) (= "=") (identifier "local_e0")) (; ";")) (expression_statement "*(undefined4 *)((int)piVar18 + -0x24) = 0xd2ccb;" (assignment_expression "*(undefined4 *)((int)piVar18 + -0x24) = 0xd2ccb" (pointer_expression "*(undefined4 *)((int)piVar18 + -0x24)" (* "*") (cast_expression "(undefined4 *)((int)piVar18 + -0x24)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar18 + -0x24)" (( "(") (binary_expression "(int)piVar18 + -0x24" (cast_expression "(int)piVar18" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar18")) (+ "+") (number_literal "-0x24")) () ")")))) (= "=") (number_literal "0xd2ccb")) (; ";")) (expression_statement "local_78 = local_c0;" (assignment_expression "local_78 = local_c0" (identifier "local_78") (= "=") (identifier "local_c0")) (; ";")) (expression_statement "local_74 = local_b4;" (assignment_expression "local_74 = local_b4" (identifier "local_74") (= "=") (identifier "local_b4")) (; ";")) (expression_statement "FUN_00074280();" (call_expression "FUN_00074280()" (identifier "FUN_00074280") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "bVar24 = (undefined1 *)0xffffffe3 < (undefined1 *)((int)piVar18 + -0x20);" (assignment_expression "bVar24 = (undefined1 *)0xffffffe3 < (undefined1 *)((int)piVar18 + -0x20)" (identifier "bVar24") (= "=") (binary_expression "(undefined1 *)0xffffffe3 < (undefined1 *)((int)piVar18 + -0x20)" (cast_expression "(undefined1 *)0xffffffe3" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0xffffffe3")) (< "<") (cast_expression "(undefined1 *)((int)piVar18 + -0x20)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar18 + -0x20)" (( "(") (binary_expression "(int)piVar18 + -0x20" (cast_expression "(int)piVar18" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar18")) (+ "+") (number_literal "-0x20")) () ")"))))) (; ";")) (expression_statement "bVar26 = piVar18 == (int *)0x4;" (assignment_expression "bVar26 = piVar18 == (int *)0x4" (identifier "bVar26") (= "=") (binary_expression "piVar18 == (int *)0x4" (identifier "piVar18") (== "==") (cast_expression "(int *)0x4" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x4")))) (; ";")) (expression_statement "piVar18 = (int *)((int)piVar18 + -4);" (assignment_expression "piVar18 = (int *)((int)piVar18 + -4)" (identifier "piVar18") (= "=") (cast_expression "(int *)((int)piVar18 + -4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar18 + -4)" (( "(") (binary_expression "(int)piVar18 + -4" (cast_expression "(int)piVar18" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar18")) (+ "+") (number_literal "-4")) () ")")))) (; ";")) (} "}"))) (} "}"))) (} "}")) (else_clause "else {\n            local_b4 = (undefined **)0x0;\n            bVar24 = false;\n            bVar13 = 0;\n            bVar26 = true;\n            local_c0 = (undefined **)0x0;\n          }" (else "else") (compound_statement "{\n            local_b4 = (undefined **)0x0;\n            bVar24 = false;\n            bVar13 = 0;\n            bVar26 = true;\n            local_c0 = (undefined **)0x0;\n          }" ({ "{") (expression_statement "local_b4 = (undefined **)0x0;" (assignment_expression "local_b4 = (undefined **)0x0" (identifier "local_b4") (= "=") (cast_expression "(undefined **)0x0" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "bVar24 = false;" (assignment_expression "bVar24 = false" (identifier "bVar24") (= "=") (false "false")) (; ";")) (expression_statement "bVar13 = 0;" (assignment_expression "bVar13 = 0" (identifier "bVar13") (= "=") (number_literal "0")) (; ";")) (expression_statement "bVar26 = true;" (assignment_expression "bVar26 = true" (identifier "bVar26") (= "=") (true "true")) (; ";")) (expression_statement "local_c0 = (undefined **)0x0;" (assignment_expression "local_c0 = (undefined **)0x0" (identifier "local_c0") (= "=") (cast_expression "(undefined **)0x0" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (number_literal "0x0"))) (; ";")) (} "}")))) (} "}")))) (expression_statement "pbVar20 = *local_70;" (assignment_expression "pbVar20 = *local_70" (identifier "pbVar20") (= "=") (pointer_expression "*local_70" (* "*") (identifier "local_70"))) (; ";")) (expression_statement "iVar19 = 8;" (assignment_expression "iVar19 = 8" (identifier "iVar19") (= "=") (number_literal "8")) (; ";")) (expression_statement "pbVar9 = (byte *)((int)local_b8 + -0x19ca26);" (assignment_expression "pbVar9 = (byte *)((int)local_b8 + -0x19ca26)" (identifier "pbVar9") (= "=") (cast_expression "(byte *)((int)local_b8 + -0x19ca26)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)local_b8 + -0x19ca26)" (( "(") (binary_expression "(int)local_b8 + -0x19ca26" (cast_expression "(int)local_b8" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_b8")) (+ "+") (number_literal "-0x19ca26")) () ")")))) (; ";")) (expression_statement "pbVar22 = pbVar20;" (assignment_expression "pbVar22 = pbVar20" (identifier "pbVar22") (= "=") (identifier "pbVar20")) (; ";")) (do_statement "do {\n          if (iVar19 == 0) break;\n          iVar19 = iVar19 + -1;\n          bVar24 = *pbVar9 < *pbVar22;\n          bVar26 = *pbVar9 == *pbVar22;\n          pbVar9 = pbVar9 + (uint)bVar27 * -2 + 1;\n          pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n        } while (bVar26);" (do "do") (compound_statement "{\n          if (iVar19 == 0) break;\n          iVar19 = iVar19 + -1;\n          bVar24 = *pbVar9 < *pbVar22;\n          bVar26 = *pbVar9 == *pbVar22;\n          pbVar9 = pbVar9 + (uint)bVar27 * -2 + 1;\n          pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n        }" ({ "{") (if_statement "if (iVar19 == 0) break;" (if "if") (parenthesized_expression "(iVar19 == 0)" (( "(") (binary_expression "iVar19 == 0" (identifier "iVar19") (== "==") (number_literal "0")) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "iVar19 = iVar19 + -1;" (assignment_expression "iVar19 = iVar19 + -1" (identifier "iVar19") (= "=") (binary_expression "iVar19 + -1" (identifier "iVar19") (+ "+") (number_literal "-1"))) (; ";")) (expression_statement "bVar24 = *pbVar9 < *pbVar22;" (assignment_expression "bVar24 = *pbVar9 < *pbVar22" (identifier "bVar24") (= "=") (binary_expression "*pbVar9 < *pbVar22" (pointer_expression "*pbVar9" (* "*") (identifier "pbVar9")) (< "<") (pointer_expression "*pbVar22" (* "*") (identifier "pbVar22")))) (; ";")) (expression_statement "bVar26 = *pbVar9 == *pbVar22;" (assignment_expression "bVar26 = *pbVar9 == *pbVar22" (identifier "bVar26") (= "=") (binary_expression "*pbVar9 == *pbVar22" (pointer_expression "*pbVar9" (* "*") (identifier "pbVar9")) (== "==") (pointer_expression "*pbVar22" (* "*") (identifier "pbVar22")))) (; ";")) (expression_statement "pbVar9 = pbVar9 + (uint)bVar27 * -2 + 1;" (assignment_expression "pbVar9 = pbVar9 + (uint)bVar27 * -2 + 1" (identifier "pbVar9") (= "=") (binary_expression "pbVar9 + (uint)bVar27 * -2 + 1" (binary_expression "pbVar9 + (uint)bVar27 * -2" (identifier "pbVar9") (+ "+") (binary_expression "(uint)bVar27 * -2" (cast_expression "(uint)bVar27" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar27")) (* "*") (number_literal "-2"))) (+ "+") (number_literal "1"))) (; ";")) (expression_statement "pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;" (assignment_expression "pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1" (identifier "pbVar22") (= "=") (binary_expression "pbVar22 + (uint)bVar27 * -2 + 1" (binary_expression "pbVar22 + (uint)bVar27 * -2" (identifier "pbVar22") (+ "+") (binary_expression "(uint)bVar27 * -2" (cast_expression "(uint)bVar27" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar27")) (* "*") (number_literal "-2"))) (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(bVar26)" (( "(") (identifier "bVar26") () ")")) (; ";")) (expression_statement "bVar25 = false;" (assignment_expression "bVar25 = false" (identifier "bVar25") (= "=") (false "false")) (; ";")) (expression_statement "bVar24 = (!bVar24 && !bVar26) == bVar24;" (assignment_expression "bVar24 = (!bVar24 && !bVar26) == bVar24" (identifier "bVar24") (= "=") (binary_expression "(!bVar24 && !bVar26) == bVar24" (parenthesized_expression "(!bVar24 && !bVar26)" (( "(") (binary_expression "!bVar24 && !bVar26" (unary_expression "!bVar24" (! "!") (identifier "bVar24")) (&& "&&") (unary_expression "!bVar26" (! "!") (identifier "bVar26"))) () ")")) (== "==") (identifier "bVar24"))) (; ";")) (if_statement "if (bVar24) {\n          pbVar20 = pbVar20 + 8;\n        }\n        else {\n          iVar19 = 7;\n          pbVar9 = (byte *)((int)local_b8 + -0x19ca1d);\n          pbVar22 = pbVar20;\n          do {\n            if (iVar19 == 0) break;\n            iVar19 = iVar19 + -1;\n            bVar25 = *pbVar9 < *pbVar22;\n            bVar24 = *pbVar9 == *pbVar22;\n            pbVar9 = pbVar9 + (uint)bVar27 * -2 + 1;\n            pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n          } while (bVar24);\n          pbVar20 = pbVar20 + 7;\n          if ((!bVar25 && !bVar24) != bVar25) {\n            pbVar20 = local_d8;\n          }\n        }" (if "if") (parenthesized_expression "(bVar24)" (( "(") (identifier "bVar24") () ")")) (compound_statement "{\n          pbVar20 = pbVar20 + 8;\n        }" ({ "{") (expression_statement "pbVar20 = pbVar20 + 8;" (assignment_expression "pbVar20 = pbVar20 + 8" (identifier "pbVar20") (= "=") (binary_expression "pbVar20 + 8" (identifier "pbVar20") (+ "+") (number_literal "8"))) (; ";")) (} "}")) (else_clause "else {\n          iVar19 = 7;\n          pbVar9 = (byte *)((int)local_b8 + -0x19ca1d);\n          pbVar22 = pbVar20;\n          do {\n            if (iVar19 == 0) break;\n            iVar19 = iVar19 + -1;\n            bVar25 = *pbVar9 < *pbVar22;\n            bVar24 = *pbVar9 == *pbVar22;\n            pbVar9 = pbVar9 + (uint)bVar27 * -2 + 1;\n            pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n          } while (bVar24);\n          pbVar20 = pbVar20 + 7;\n          if ((!bVar25 && !bVar24) != bVar25) {\n            pbVar20 = local_d8;\n          }\n        }" (else "else") (compound_statement "{\n          iVar19 = 7;\n          pbVar9 = (byte *)((int)local_b8 + -0x19ca1d);\n          pbVar22 = pbVar20;\n          do {\n            if (iVar19 == 0) break;\n            iVar19 = iVar19 + -1;\n            bVar25 = *pbVar9 < *pbVar22;\n            bVar24 = *pbVar9 == *pbVar22;\n            pbVar9 = pbVar9 + (uint)bVar27 * -2 + 1;\n            pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n          } while (bVar24);\n          pbVar20 = pbVar20 + 7;\n          if ((!bVar25 && !bVar24) != bVar25) {\n            pbVar20 = local_d8;\n          }\n        }" ({ "{") (expression_statement "iVar19 = 7;" (assignment_expression "iVar19 = 7" (identifier "iVar19") (= "=") (number_literal "7")) (; ";")) (expression_statement "pbVar9 = (byte *)((int)local_b8 + -0x19ca1d);" (assignment_expression "pbVar9 = (byte *)((int)local_b8 + -0x19ca1d)" (identifier "pbVar9") (= "=") (cast_expression "(byte *)((int)local_b8 + -0x19ca1d)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)local_b8 + -0x19ca1d)" (( "(") (binary_expression "(int)local_b8 + -0x19ca1d" (cast_expression "(int)local_b8" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_b8")) (+ "+") (number_literal "-0x19ca1d")) () ")")))) (; ";")) (expression_statement "pbVar22 = pbVar20;" (assignment_expression "pbVar22 = pbVar20" (identifier "pbVar22") (= "=") (identifier "pbVar20")) (; ";")) (do_statement "do {\n            if (iVar19 == 0) break;\n            iVar19 = iVar19 + -1;\n            bVar25 = *pbVar9 < *pbVar22;\n            bVar24 = *pbVar9 == *pbVar22;\n            pbVar9 = pbVar9 + (uint)bVar27 * -2 + 1;\n            pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n          } while (bVar24);" (do "do") (compound_statement "{\n            if (iVar19 == 0) break;\n            iVar19 = iVar19 + -1;\n            bVar25 = *pbVar9 < *pbVar22;\n            bVar24 = *pbVar9 == *pbVar22;\n            pbVar9 = pbVar9 + (uint)bVar27 * -2 + 1;\n            pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;\n          }" ({ "{") (if_statement "if (iVar19 == 0) break;" (if "if") (parenthesized_expression "(iVar19 == 0)" (( "(") (binary_expression "iVar19 == 0" (identifier "iVar19") (== "==") (number_literal "0")) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "iVar19 = iVar19 + -1;" (assignment_expression "iVar19 = iVar19 + -1" (identifier "iVar19") (= "=") (binary_expression "iVar19 + -1" (identifier "iVar19") (+ "+") (number_literal "-1"))) (; ";")) (expression_statement "bVar25 = *pbVar9 < *pbVar22;" (assignment_expression "bVar25 = *pbVar9 < *pbVar22" (identifier "bVar25") (= "=") (binary_expression "*pbVar9 < *pbVar22" (pointer_expression "*pbVar9" (* "*") (identifier "pbVar9")) (< "<") (pointer_expression "*pbVar22" (* "*") (identifier "pbVar22")))) (; ";")) (expression_statement "bVar24 = *pbVar9 == *pbVar22;" (assignment_expression "bVar24 = *pbVar9 == *pbVar22" (identifier "bVar24") (= "=") (binary_expression "*pbVar9 == *pbVar22" (pointer_expression "*pbVar9" (* "*") (identifier "pbVar9")) (== "==") (pointer_expression "*pbVar22" (* "*") (identifier "pbVar22")))) (; ";")) (expression_statement "pbVar9 = pbVar9 + (uint)bVar27 * -2 + 1;" (assignment_expression "pbVar9 = pbVar9 + (uint)bVar27 * -2 + 1" (identifier "pbVar9") (= "=") (binary_expression "pbVar9 + (uint)bVar27 * -2 + 1" (binary_expression "pbVar9 + (uint)bVar27 * -2" (identifier "pbVar9") (+ "+") (binary_expression "(uint)bVar27 * -2" (cast_expression "(uint)bVar27" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar27")) (* "*") (number_literal "-2"))) (+ "+") (number_literal "1"))) (; ";")) (expression_statement "pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;" (assignment_expression "pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1" (identifier "pbVar22") (= "=") (binary_expression "pbVar22 + (uint)bVar27 * -2 + 1" (binary_expression "pbVar22 + (uint)bVar27 * -2" (identifier "pbVar22") (+ "+") (binary_expression "(uint)bVar27 * -2" (cast_expression "(uint)bVar27" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar27")) (* "*") (number_literal "-2"))) (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(bVar24)" (( "(") (identifier "bVar24") () ")")) (; ";")) (expression_statement "pbVar20 = pbVar20 + 7;" (assignment_expression "pbVar20 = pbVar20 + 7" (identifier "pbVar20") (= "=") (binary_expression "pbVar20 + 7" (identifier "pbVar20") (+ "+") (number_literal "7"))) (; ";")) (if_statement "if ((!bVar25 && !bVar24) != bVar25) {\n            pbVar20 = local_d8;\n          }" (if "if") (parenthesized_expression "((!bVar25 && !bVar24) != bVar25)" (( "(") (binary_expression "(!bVar25 && !bVar24) != bVar25" (parenthesized_expression "(!bVar25 && !bVar24)" (( "(") (binary_expression "!bVar25 && !bVar24" (unary_expression "!bVar25" (! "!") (identifier "bVar25")) (&& "&&") (unary_expression "!bVar24" (! "!") (identifier "bVar24"))) () ")")) (!= "!=") (identifier "bVar25")) () ")")) (compound_statement "{\n            pbVar20 = local_d8;\n          }" ({ "{") (expression_statement "pbVar20 = local_d8;" (assignment_expression "pbVar20 = local_d8" (identifier "pbVar20") (= "=") (identifier "local_d8")) (; ";")) (} "}"))) (} "}")))) (expression_statement "local_d8 = pbVar20;" (assignment_expression "local_d8 = pbVar20" (identifier "local_d8") (= "=") (identifier "pbVar20")) (; ";")) (if_statement "if (local_d1 != '\0') {\n          if (bVar13 == 0) {\n            local_34 = (undefined **)0x0;\n            local_30 = (undefined **)0x0;\n          }\n          else {\n            local_34 = local_c0;\n            local_30 = local_b4;\n          }\n          local_b0 = &local_34;\n          *(undefined ****)((int)piVar18 + -0xc) = local_b0;\n          *(int *)((int)piVar18 + -0x10) = local_c8;\n          *(undefined4 *)((int)piVar18 + -0x14) = 0xd26b9;\n          FUN_00073b00();\n          puVar1 = *(undefined4 **)(local_cc + 4);\n          if (puVar1 == *(undefined4 **)(local_cc + 8)) {\n            *(undefined ****)((int)piVar18 + -8) = &local_70;\n            *(undefined4 **)((int)piVar18 + -0xc) = puVar1;\n            *(int *)((int)piVar18 + -0x10) = local_cc;\n            *(undefined4 *)((int)piVar18 + -0x14) = 0xd2b4b;\n            FUN_000726c0();\n          }\n          else {\n            *puVar1 = local_70;\n            *(undefined4 **)(local_cc + 4) = puVar1 + 1;\n          }\n          *(undefined ****)((int)piVar18 + -0xc) = local_b0;\n          *(undefined ***)((int)piVar18 + -0x10) = local_e8;\n          local_34 = local_f0;\n          local_30 = (undefined **)0x0;\n          local_2c = local_bc;\n          local_28 = (int)local_bc >> 0x1f;\n          *(undefined4 *)((int)piVar18 + -0x14) = 0xd270d;\n          FUN_00073e70();\n          local_30 = (undefined **)0x0;\n          local_34 = (undefined **)*param_7;\n          puVar1 = *(undefined4 **)(local_d0 + 4);\n          if (puVar1 == *(undefined4 **)(local_d0 + 8)) {\n            *(undefined ****)((int)piVar18 + -8) = local_b0;\n            *(undefined4 **)((int)piVar18 + -0xc) = puVar1;\n            *(int *)((int)piVar18 + -0x10) = local_d0;\n            *(undefined4 *)((int)piVar18 + -0x14) = 0xd2bbd;\n            FUN_00072a40();\n          }\n          else {\n            *puVar1 = local_34;\n            puVar1[1] = 0;\n            *(undefined4 **)(local_d0 + 4) = puVar1 + 2;\n          }\n          local_68 = (undefined **)0x0;\n          *(undefined ****)((int)piVar18 + -0xc) = &local_68;\n          *(int *)((int)piVar18 + -0x10) = local_ec;\n          *(undefined4 *)((int)piVar18 + -0x14) = 0xd2753;\n          FUN_00074020();\n        }" (if "if") (parenthesized_expression "(local_d1 != '\0')" (( "(") (binary_expression "local_d1 != '\0'" (identifier "local_d1") (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n          if (bVar13 == 0) {\n            local_34 = (undefined **)0x0;\n            local_30 = (undefined **)0x0;\n          }\n          else {\n            local_34 = local_c0;\n            local_30 = local_b4;\n          }\n          local_b0 = &local_34;\n          *(undefined ****)((int)piVar18 + -0xc) = local_b0;\n          *(int *)((int)piVar18 + -0x10) = local_c8;\n          *(undefined4 *)((int)piVar18 + -0x14) = 0xd26b9;\n          FUN_00073b00();\n          puVar1 = *(undefined4 **)(local_cc + 4);\n          if (puVar1 == *(undefined4 **)(local_cc + 8)) {\n            *(undefined ****)((int)piVar18 + -8) = &local_70;\n            *(undefined4 **)((int)piVar18 + -0xc) = puVar1;\n            *(int *)((int)piVar18 + -0x10) = local_cc;\n            *(undefined4 *)((int)piVar18 + -0x14) = 0xd2b4b;\n            FUN_000726c0();\n          }\n          else {\n            *puVar1 = local_70;\n            *(undefined4 **)(local_cc + 4) = puVar1 + 1;\n          }\n          *(undefined ****)((int)piVar18 + -0xc) = local_b0;\n          *(undefined ***)((int)piVar18 + -0x10) = local_e8;\n          local_34 = local_f0;\n          local_30 = (undefined **)0x0;\n          local_2c = local_bc;\n          local_28 = (int)local_bc >> 0x1f;\n          *(undefined4 *)((int)piVar18 + -0x14) = 0xd270d;\n          FUN_00073e70();\n          local_30 = (undefined **)0x0;\n          local_34 = (undefined **)*param_7;\n          puVar1 = *(undefined4 **)(local_d0 + 4);\n          if (puVar1 == *(undefined4 **)(local_d0 + 8)) {\n            *(undefined ****)((int)piVar18 + -8) = local_b0;\n            *(undefined4 **)((int)piVar18 + -0xc) = puVar1;\n            *(int *)((int)piVar18 + -0x10) = local_d0;\n            *(undefined4 *)((int)piVar18 + -0x14) = 0xd2bbd;\n            FUN_00072a40();\n          }\n          else {\n            *puVar1 = local_34;\n            puVar1[1] = 0;\n            *(undefined4 **)(local_d0 + 4) = puVar1 + 2;\n          }\n          local_68 = (undefined **)0x0;\n          *(undefined ****)((int)piVar18 + -0xc) = &local_68;\n          *(int *)((int)piVar18 + -0x10) = local_ec;\n          *(undefined4 *)((int)piVar18 + -0x14) = 0xd2753;\n          FUN_00074020();\n        }" ({ "{") (if_statement "if (bVar13 == 0) {\n            local_34 = (undefined **)0x0;\n            local_30 = (undefined **)0x0;\n          }\n          else {\n            local_34 = local_c0;\n            local_30 = local_b4;\n          }" (if "if") (parenthesized_expression "(bVar13 == 0)" (( "(") (binary_expression "bVar13 == 0" (identifier "bVar13") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n            local_34 = (undefined **)0x0;\n            local_30 = (undefined **)0x0;\n          }" ({ "{") (expression_statement "local_34 = (undefined **)0x0;" (assignment_expression "local_34 = (undefined **)0x0" (identifier "local_34") (= "=") (cast_expression "(undefined **)0x0" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "local_30 = (undefined **)0x0;" (assignment_expression "local_30 = (undefined **)0x0" (identifier "local_30") (= "=") (cast_expression "(undefined **)0x0" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (number_literal "0x0"))) (; ";")) (} "}")) (else_clause "else {\n            local_34 = local_c0;\n            local_30 = local_b4;\n          }" (else "else") (compound_statement "{\n            local_34 = local_c0;\n            local_30 = local_b4;\n          }" ({ "{") (expression_statement "local_34 = local_c0;" (assignment_expression "local_34 = local_c0" (identifier "local_34") (= "=") (identifier "local_c0")) (; ";")) (expression_statement "local_30 = local_b4;" (assignment_expression "local_30 = local_b4" (identifier "local_30") (= "=") (identifier "local_b4")) (; ";")) (} "}")))) (expression_statement "local_b0 = &local_34;" (assignment_expression "local_b0 = &local_34" (identifier "local_b0") (= "=") (pointer_expression "&local_34" (& "&") (identifier "local_34"))) (; ";")) (expression_statement "*(undefined ****)((int)piVar18 + -0xc) = local_b0;" (assignment_expression "*(undefined ****)((int)piVar18 + -0xc) = local_b0" (pointer_expression "*(undefined ****)((int)piVar18 + -0xc)" (* "*") (cast_expression "(undefined ****)((int)piVar18 + -0xc)" (( "(") (type_descriptor "undefined ****" (type_identifier "undefined") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))) () ")") (parenthesized_expression "((int)piVar18 + -0xc)" (( "(") (binary_expression "(int)piVar18 + -0xc" (cast_expression "(int)piVar18" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar18")) (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (identifier "local_b0")) (; ";")) (expression_statement "*(int *)((int)piVar18 + -0x10) = local_c8;" (assignment_expression "*(int *)((int)piVar18 + -0x10) = local_c8" (pointer_expression "*(int *)((int)piVar18 + -0x10)" (* "*") (cast_expression "(int *)((int)piVar18 + -0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar18 + -0x10)" (( "(") (binary_expression "(int)piVar18 + -0x10" (cast_expression "(int)piVar18" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar18")) (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "local_c8")) (; ";")) (expression_statement "*(undefined4 *)((int)piVar18 + -0x14) = 0xd26b9;" (assignment_expression "*(undefined4 *)((int)piVar18 + -0x14) = 0xd26b9" (pointer_expression "*(undefined4 *)((int)piVar18 + -0x14)" (* "*") (cast_expression "(undefined4 *)((int)piVar18 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar18 + -0x14)" (( "(") (binary_expression "(int)piVar18 + -0x14" (cast_expression "(int)piVar18" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar18")) (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0xd26b9")) (; ";")) (expression_statement "FUN_00073b00();" (call_expression "FUN_00073b00()" (identifier "FUN_00073b00") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "puVar1 = *(undefined4 **)(local_cc + 4);" (assignment_expression "puVar1 = *(undefined4 **)(local_cc + 4)" (identifier "puVar1") (= "=") (pointer_expression "*(undefined4 **)(local_cc + 4)" (* "*") (cast_expression "(undefined4 **)(local_cc + 4)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(local_cc + 4)" (( "(") (binary_expression "local_cc + 4" (identifier "local_cc") (+ "+") (number_literal "4")) () ")"))))) (; ";")) (if_statement "if (puVar1 == *(undefined4 **)(local_cc + 8)) {\n            *(undefined ****)((int)piVar18 + -8) = &local_70;\n            *(undefined4 **)((int)piVar18 + -0xc) = puVar1;\n            *(int *)((int)piVar18 + -0x10) = local_cc;\n            *(undefined4 *)((int)piVar18 + -0x14) = 0xd2b4b;\n            FUN_000726c0();\n          }\n          else {\n            *puVar1 = local_70;\n            *(undefined4 **)(local_cc + 4) = puVar1 + 1;\n          }" (if "if") (parenthesized_expression "(puVar1 == *(undefined4 **)(local_cc + 8))" (( "(") (binary_expression "puVar1 == *(undefined4 **)(local_cc + 8)" (identifier "puVar1") (== "==") (pointer_expression "*(undefined4 **)(local_cc + 8)" (* "*") (cast_expression "(undefined4 **)(local_cc + 8)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(local_cc + 8)" (( "(") (binary_expression "local_cc + 8" (identifier "local_cc") (+ "+") (number_literal "8")) () ")"))))) () ")")) (compound_statement "{\n            *(undefined ****)((int)piVar18 + -8) = &local_70;\n            *(undefined4 **)((int)piVar18 + -0xc) = puVar1;\n            *(int *)((int)piVar18 + -0x10) = local_cc;\n            *(undefined4 *)((int)piVar18 + -0x14) = 0xd2b4b;\n            FUN_000726c0();\n          }" ({ "{") (expression_statement "*(undefined ****)((int)piVar18 + -8) = &local_70;" (assignment_expression "*(undefined ****)((int)piVar18 + -8) = &local_70" (pointer_expression "*(undefined ****)((int)piVar18 + -8)" (* "*") (cast_expression "(undefined ****)((int)piVar18 + -8)" (( "(") (type_descriptor "undefined ****" (type_identifier "undefined") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))) () ")") (parenthesized_expression "((int)piVar18 + -8)" (( "(") (binary_expression "(int)piVar18 + -8" (cast_expression "(int)piVar18" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar18")) (+ "+") (number_literal "-8")) () ")")))) (= "=") (pointer_expression "&local_70" (& "&") (identifier "local_70"))) (; ";")) (expression_statement "*(undefined4 **)((int)piVar18 + -0xc) = puVar1;" (assignment_expression "*(undefined4 **)((int)piVar18 + -0xc) = puVar1" (pointer_expression "*(undefined4 **)((int)piVar18 + -0xc)" (* "*") (cast_expression "(undefined4 **)((int)piVar18 + -0xc)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)piVar18 + -0xc)" (( "(") (binary_expression "(int)piVar18 + -0xc" (cast_expression "(int)piVar18" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar18")) (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (identifier "puVar1")) (; ";")) (expression_statement "*(int *)((int)piVar18 + -0x10) = local_cc;" (assignment_expression "*(int *)((int)piVar18 + -0x10) = local_cc" (pointer_expression "*(int *)((int)piVar18 + -0x10)" (* "*") (cast_expression "(int *)((int)piVar18 + -0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar18 + -0x10)" (( "(") (binary_expression "(int)piVar18 + -0x10" (cast_expression "(int)piVar18" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar18")) (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "local_cc")) (; ";")) (expression_statement "*(undefined4 *)((int)piVar18 + -0x14) = 0xd2b4b;" (assignment_expression "*(undefined4 *)((int)piVar18 + -0x14) = 0xd2b4b" (pointer_expression "*(undefined4 *)((int)piVar18 + -0x14)" (* "*") (cast_expression "(undefined4 *)((int)piVar18 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar18 + -0x14)" (( "(") (binary_expression "(int)piVar18 + -0x14" (cast_expression "(int)piVar18" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar18")) (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0xd2b4b")) (; ";")) (expression_statement "FUN_000726c0();" (call_expression "FUN_000726c0()" (identifier "FUN_000726c0") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}")) (else_clause "else {\n            *puVar1 = local_70;\n            *(undefined4 **)(local_cc + 4) = puVar1 + 1;\n          }" (else "else") (compound_statement "{\n            *puVar1 = local_70;\n            *(undefined4 **)(local_cc + 4) = puVar1 + 1;\n          }" ({ "{") (expression_statement "*puVar1 = local_70;" (assignment_expression "*puVar1 = local_70" (pointer_expression "*puVar1" (* "*") (identifier "puVar1")) (= "=") (identifier "local_70")) (; ";")) (expression_statement "*(undefined4 **)(local_cc + 4) = puVar1 + 1;" (assignment_expression "*(undefined4 **)(local_cc + 4) = puVar1 + 1" (pointer_expression "*(undefined4 **)(local_cc + 4)" (* "*") (cast_expression "(undefined4 **)(local_cc + 4)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(local_cc + 4)" (( "(") (binary_expression "local_cc + 4" (identifier "local_cc") (+ "+") (number_literal "4")) () ")")))) (= "=") (binary_expression "puVar1 + 1" (identifier "puVar1") (+ "+") (number_literal "1"))) (; ";")) (} "}")))) (expression_statement "*(undefined ****)((int)piVar18 + -0xc) = local_b0;" (assignment_expression "*(undefined ****)((int)piVar18 + -0xc) = local_b0" (pointer_expression "*(undefined ****)((int)piVar18 + -0xc)" (* "*") (cast_expression "(undefined ****)((int)piVar18 + -0xc)" (( "(") (type_descriptor "undefined ****" (type_identifier "undefined") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))) () ")") (parenthesized_expression "((int)piVar18 + -0xc)" (( "(") (binary_expression "(int)piVar18 + -0xc" (cast_expression "(int)piVar18" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar18")) (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (identifier "local_b0")) (; ";")) (expression_statement "*(undefined ***)((int)piVar18 + -0x10) = local_e8;" (assignment_expression "*(undefined ***)((int)piVar18 + -0x10) = local_e8" (pointer_expression "*(undefined ***)((int)piVar18 + -0x10)" (* "*") (cast_expression "(undefined ***)((int)piVar18 + -0x10)" (( "(") (type_descriptor "undefined ***" (type_identifier "undefined") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "((int)piVar18 + -0x10)" (( "(") (binary_expression "(int)piVar18 + -0x10" (cast_expression "(int)piVar18" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar18")) (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "local_e8")) (; ";")) (expression_statement "local_34 = local_f0;" (assignment_expression "local_34 = local_f0" (identifier "local_34") (= "=") (identifier "local_f0")) (; ";")) (expression_statement "local_30 = (undefined **)0x0;" (assignment_expression "local_30 = (undefined **)0x0" (identifier "local_30") (= "=") (cast_expression "(undefined **)0x0" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "local_2c = local_bc;" (assignment_expression "local_2c = local_bc" (identifier "local_2c") (= "=") (identifier "local_bc")) (; ";")) (expression_statement "local_28 = (int)local_bc >> 0x1f;" (assignment_expression "local_28 = (int)local_bc >> 0x1f" (identifier "local_28") (= "=") (binary_expression "(int)local_bc >> 0x1f" (cast_expression "(int)local_bc" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_bc")) (>> ">>") (number_literal "0x1f"))) (; ";")) (expression_statement "*(undefined4 *)((int)piVar18 + -0x14) = 0xd270d;" (assignment_expression "*(undefined4 *)((int)piVar18 + -0x14) = 0xd270d" (pointer_expression "*(undefined4 *)((int)piVar18 + -0x14)" (* "*") (cast_expression "(undefined4 *)((int)piVar18 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar18 + -0x14)" (( "(") (binary_expression "(int)piVar18 + -0x14" (cast_expression "(int)piVar18" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar18")) (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0xd270d")) (; ";")) (expression_statement "FUN_00073e70();" (call_expression "FUN_00073e70()" (identifier "FUN_00073e70") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "local_30 = (undefined **)0x0;" (assignment_expression "local_30 = (undefined **)0x0" (identifier "local_30") (= "=") (cast_expression "(undefined **)0x0" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "local_34 = (undefined **)*param_7;" (assignment_expression "local_34 = (undefined **)*param_7" (identifier "local_34") (= "=") (cast_expression "(undefined **)*param_7" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (pointer_expression "*param_7" (* "*") (identifier "param_7")))) (; ";")) (expression_statement "puVar1 = *(undefined4 **)(local_d0 + 4);" (assignment_expression "puVar1 = *(undefined4 **)(local_d0 + 4)" (identifier "puVar1") (= "=") (pointer_expression "*(undefined4 **)(local_d0 + 4)" (* "*") (cast_expression "(undefined4 **)(local_d0 + 4)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(local_d0 + 4)" (( "(") (binary_expression "local_d0 + 4" (identifier "local_d0") (+ "+") (number_literal "4")) () ")"))))) (; ";")) (if_statement "if (puVar1 == *(undefined4 **)(local_d0 + 8)) {\n            *(undefined ****)((int)piVar18 + -8) = local_b0;\n            *(undefined4 **)((int)piVar18 + -0xc) = puVar1;\n            *(int *)((int)piVar18 + -0x10) = local_d0;\n            *(undefined4 *)((int)piVar18 + -0x14) = 0xd2bbd;\n            FUN_00072a40();\n          }\n          else {\n            *puVar1 = local_34;\n            puVar1[1] = 0;\n            *(undefined4 **)(local_d0 + 4) = puVar1 + 2;\n          }" (if "if") (parenthesized_expression "(puVar1 == *(undefined4 **)(local_d0 + 8))" (( "(") (binary_expression "puVar1 == *(undefined4 **)(local_d0 + 8)" (identifier "puVar1") (== "==") (pointer_expression "*(undefined4 **)(local_d0 + 8)" (* "*") (cast_expression "(undefined4 **)(local_d0 + 8)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(local_d0 + 8)" (( "(") (binary_expression "local_d0 + 8" (identifier "local_d0") (+ "+") (number_literal "8")) () ")"))))) () ")")) (compound_statement "{\n            *(undefined ****)((int)piVar18 + -8) = local_b0;\n            *(undefined4 **)((int)piVar18 + -0xc) = puVar1;\n            *(int *)((int)piVar18 + -0x10) = local_d0;\n            *(undefined4 *)((int)piVar18 + -0x14) = 0xd2bbd;\n            FUN_00072a40();\n          }" ({ "{") (expression_statement "*(undefined ****)((int)piVar18 + -8) = local_b0;" (assignment_expression "*(undefined ****)((int)piVar18 + -8) = local_b0" (pointer_expression "*(undefined ****)((int)piVar18 + -8)" (* "*") (cast_expression "(undefined ****)((int)piVar18 + -8)" (( "(") (type_descriptor "undefined ****" (type_identifier "undefined") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))) () ")") (parenthesized_expression "((int)piVar18 + -8)" (( "(") (binary_expression "(int)piVar18 + -8" (cast_expression "(int)piVar18" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar18")) (+ "+") (number_literal "-8")) () ")")))) (= "=") (identifier "local_b0")) (; ";")) (expression_statement "*(undefined4 **)((int)piVar18 + -0xc) = puVar1;" (assignment_expression "*(undefined4 **)((int)piVar18 + -0xc) = puVar1" (pointer_expression "*(undefined4 **)((int)piVar18 + -0xc)" (* "*") (cast_expression "(undefined4 **)((int)piVar18 + -0xc)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)piVar18 + -0xc)" (( "(") (binary_expression "(int)piVar18 + -0xc" (cast_expression "(int)piVar18" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar18")) (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (identifier "puVar1")) (; ";")) (expression_statement "*(int *)((int)piVar18 + -0x10) = local_d0;" (assignment_expression "*(int *)((int)piVar18 + -0x10) = local_d0" (pointer_expression "*(int *)((int)piVar18 + -0x10)" (* "*") (cast_expression "(int *)((int)piVar18 + -0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar18 + -0x10)" (( "(") (binary_expression "(int)piVar18 + -0x10" (cast_expression "(int)piVar18" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar18")) (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "local_d0")) (; ";")) (expression_statement "*(undefined4 *)((int)piVar18 + -0x14) = 0xd2bbd;" (assignment_expression "*(undefined4 *)((int)piVar18 + -0x14) = 0xd2bbd" (pointer_expression "*(undefined4 *)((int)piVar18 + -0x14)" (* "*") (cast_expression "(undefined4 *)((int)piVar18 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar18 + -0x14)" (( "(") (binary_expression "(int)piVar18 + -0x14" (cast_expression "(int)piVar18" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar18")) (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0xd2bbd")) (; ";")) (expression_statement "FUN_00072a40();" (call_expression "FUN_00072a40()" (identifier "FUN_00072a40") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}")) (else_clause "else {\n            *puVar1 = local_34;\n            puVar1[1] = 0;\n            *(undefined4 **)(local_d0 + 4) = puVar1 + 2;\n          }" (else "else") (compound_statement "{\n            *puVar1 = local_34;\n            puVar1[1] = 0;\n            *(undefined4 **)(local_d0 + 4) = puVar1 + 2;\n          }" ({ "{") (expression_statement "*puVar1 = local_34;" (assignment_expression "*puVar1 = local_34" (pointer_expression "*puVar1" (* "*") (identifier "puVar1")) (= "=") (identifier "local_34")) (; ";")) (expression_statement "puVar1[1] = 0;" (assignment_expression "puVar1[1] = 0" (subscript_expression "puVar1[1]" (identifier "puVar1") ([ "[") (number_literal "1") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(undefined4 **)(local_d0 + 4) = puVar1 + 2;" (assignment_expression "*(undefined4 **)(local_d0 + 4) = puVar1 + 2" (pointer_expression "*(undefined4 **)(local_d0 + 4)" (* "*") (cast_expression "(undefined4 **)(local_d0 + 4)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(local_d0 + 4)" (( "(") (binary_expression "local_d0 + 4" (identifier "local_d0") (+ "+") (number_literal "4")) () ")")))) (= "=") (binary_expression "puVar1 + 2" (identifier "puVar1") (+ "+") (number_literal "2"))) (; ";")) (} "}")))) (expression_statement "local_68 = (undefined **)0x0;" (assignment_expression "local_68 = (undefined **)0x0" (identifier "local_68") (= "=") (cast_expression "(undefined **)0x0" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "*(undefined ****)((int)piVar18 + -0xc) = &local_68;" (assignment_expression "*(undefined ****)((int)piVar18 + -0xc) = &local_68" (pointer_expression "*(undefined ****)((int)piVar18 + -0xc)" (* "*") (cast_expression "(undefined ****)((int)piVar18 + -0xc)" (( "(") (type_descriptor "undefined ****" (type_identifier "undefined") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))) () ")") (parenthesized_expression "((int)piVar18 + -0xc)" (( "(") (binary_expression "(int)piVar18 + -0xc" (cast_expression "(int)piVar18" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar18")) (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (pointer_expression "&local_68" (& "&") (identifier "local_68"))) (; ";")) (expression_statement "*(int *)((int)piVar18 + -0x10) = local_ec;" (assignment_expression "*(int *)((int)piVar18 + -0x10) = local_ec" (pointer_expression "*(int *)((int)piVar18 + -0x10)" (* "*") (cast_expression "(int *)((int)piVar18 + -0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar18 + -0x10)" (( "(") (binary_expression "(int)piVar18 + -0x10" (cast_expression "(int)piVar18" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar18")) (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "local_ec")) (; ";")) (expression_statement "*(undefined4 *)((int)piVar18 + -0x14) = 0xd2753;" (assignment_expression "*(undefined4 *)((int)piVar18 + -0x14) = 0xd2753" (pointer_expression "*(undefined4 *)((int)piVar18 + -0x14)" (* "*") (cast_expression "(undefined4 *)((int)piVar18 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar18 + -0x14)" (( "(") (binary_expression "(int)piVar18 + -0x14" (cast_expression "(int)piVar18" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar18")) (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0xd2753")) (; ";")) (expression_statement "FUN_00074020();" (call_expression "FUN_00074020()" (identifier "FUN_00074020") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (expression_statement "puVar17 = (undefined1 *)piVar18;" (assignment_expression "puVar17 = (undefined1 *)piVar18" (identifier "puVar17") (= "=") (cast_expression "(undefined1 *)piVar18" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "piVar18"))) (; ";")) (if_statement "if (bVar13 != 0) goto LAB_000d275e;" (if "if") (parenthesized_expression "(bVar13 != 0)" (( "(") (binary_expression "bVar13 != 0" (identifier "bVar13") (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_000d275e;" (goto "goto") (statement_identifier "LAB_000d275e") (; ";"))) (} "}")))) (labeled_statement "LAB_000d2489:\n      local_e4 = local_e4 + 1;" (statement_identifier "LAB_000d2489") (: ":") (expression_statement "local_e4 = local_e4 + 1;" (assignment_expression "local_e4 = local_e4 + 1" (identifier "local_e4") (= "=") (binary_expression "local_e4 + 1" (identifier "local_e4") (+ "+") (number_literal "1"))) (; ";"))) (expression_statement "param_7 = param_7 + 3;" (assignment_expression "param_7 = param_7 + 3" (identifier "param_7") (= "=") (binary_expression "param_7 + 3" (identifier "param_7") (+ "+") (number_literal "3"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(param_8 != local_e4)" (( "(") (binary_expression "param_8 != local_e4" (identifier "param_8") (!= "!=") (identifier "local_e4")) () ")")) (; ";")) (} "}"))) (if_statement "if (local_4c[0] != local_f8) {\n    *(byte **)((int)piVar18 + -0x10) = local_4c[0];\n    *(undefined4 *)((int)piVar18 + -0x14) = 0xd2c22;\n    FUN_003ae080();\n  }" (if "if") (parenthesized_expression "(local_4c[0] != local_f8)" (( "(") (binary_expression "local_4c[0] != local_f8" (subscript_expression "local_4c[0]" (identifier "local_4c") ([ "[") (number_literal "0") (] "]")) (!= "!=") (identifier "local_f8")) () ")")) (compound_statement "{\n    *(byte **)((int)piVar18 + -0x10) = local_4c[0];\n    *(undefined4 *)((int)piVar18 + -0x14) = 0xd2c22;\n    FUN_003ae080();\n  }" ({ "{") (expression_statement "*(byte **)((int)piVar18 + -0x10) = local_4c[0];" (assignment_expression "*(byte **)((int)piVar18 + -0x10) = local_4c[0]" (pointer_expression "*(byte **)((int)piVar18 + -0x10)" (* "*") (cast_expression "(byte **)((int)piVar18 + -0x10)" (( "(") (type_descriptor "byte **" (type_identifier "byte") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)piVar18 + -0x10)" (( "(") (binary_expression "(int)piVar18 + -0x10" (cast_expression "(int)piVar18" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar18")) (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (subscript_expression "local_4c[0]" (identifier "local_4c") ([ "[") (number_literal "0") (] "]"))) (; ";")) (expression_statement "*(undefined4 *)((int)piVar18 + -0x14) = 0xd2c22;" (assignment_expression "*(undefined4 *)((int)piVar18 + -0x14) = 0xd2c22" (pointer_expression "*(undefined4 *)((int)piVar18 + -0x14)" (* "*") (cast_expression "(undefined4 *)((int)piVar18 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar18 + -0x14)" (( "(") (binary_expression "(int)piVar18 + -0x14" (cast_expression "(int)piVar18" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar18")) (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0xd2c22")) (; ";")) (expression_statement "FUN_003ae080();" (call_expression "FUN_003ae080()" (identifier "FUN_003ae080") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (if_statement "if ((local_60 != 0) && (local_5c != 0)) {\n    *(undefined ***)((int)piVar18 + -0x10) = local_b8 + -0x60d6c;\n    *(undefined4 *)((int)piVar18 + -0x14) = 0xd2c4a;\n    uVar8 = gettext();\n    *(undefined4 *)((int)piVar18 + -0x10) = uVar8;\n    uVar8 = local_54;\n    *(undefined4 *)((int)piVar18 + -0x14) = 0;\n    *(undefined4 *)((int)piVar18 + -0x18) = uVar8;\n    *(undefined4 *)((int)piVar18 + -0x1c) = local_58;\n    *(int *)((int)piVar18 + -0x20) = local_5c;\n    *(undefined4 *)((int)piVar18 + -0x24) = 0xd2c5f;\n    FUN_0023bd50();\n  }" (if "if") (parenthesized_expression "((local_60 != 0) && (local_5c != 0))" (( "(") (binary_expression "(local_60 != 0) && (local_5c != 0)" (parenthesized_expression "(local_60 != 0)" (( "(") (binary_expression "local_60 != 0" (identifier "local_60") (!= "!=") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "(local_5c != 0)" (( "(") (binary_expression "local_5c != 0" (identifier "local_5c") (!= "!=") (number_literal "0")) () ")"))) () ")")) (compound_statement "{\n    *(undefined ***)((int)piVar18 + -0x10) = local_b8 + -0x60d6c;\n    *(undefined4 *)((int)piVar18 + -0x14) = 0xd2c4a;\n    uVar8 = gettext();\n    *(undefined4 *)((int)piVar18 + -0x10) = uVar8;\n    uVar8 = local_54;\n    *(undefined4 *)((int)piVar18 + -0x14) = 0;\n    *(undefined4 *)((int)piVar18 + -0x18) = uVar8;\n    *(undefined4 *)((int)piVar18 + -0x1c) = local_58;\n    *(int *)((int)piVar18 + -0x20) = local_5c;\n    *(undefined4 *)((int)piVar18 + -0x24) = 0xd2c5f;\n    FUN_0023bd50();\n  }" ({ "{") (expression_statement "*(undefined ***)((int)piVar18 + -0x10) = local_b8 + -0x60d6c;" (assignment_expression "*(undefined ***)((int)piVar18 + -0x10) = local_b8 + -0x60d6c" (pointer_expression "*(undefined ***)((int)piVar18 + -0x10)" (* "*") (cast_expression "(undefined ***)((int)piVar18 + -0x10)" (( "(") (type_descriptor "undefined ***" (type_identifier "undefined") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "((int)piVar18 + -0x10)" (( "(") (binary_expression "(int)piVar18 + -0x10" (cast_expression "(int)piVar18" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar18")) (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (binary_expression "local_b8 + -0x60d6c" (identifier "local_b8") (+ "+") (number_literal "-0x60d6c"))) (; ";")) (expression_statement "*(undefined4 *)((int)piVar18 + -0x14) = 0xd2c4a;" (assignment_expression "*(undefined4 *)((int)piVar18 + -0x14) = 0xd2c4a" (pointer_expression "*(undefined4 *)((int)piVar18 + -0x14)" (* "*") (cast_expression "(undefined4 *)((int)piVar18 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar18 + -0x14)" (( "(") (binary_expression "(int)piVar18 + -0x14" (cast_expression "(int)piVar18" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar18")) (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0xd2c4a")) (; ";")) (expression_statement "uVar8 = gettext();" (assignment_expression "uVar8 = gettext()" (identifier "uVar8") (= "=") (call_expression "gettext()" (identifier "gettext") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "*(undefined4 *)((int)piVar18 + -0x10) = uVar8;" (assignment_expression "*(undefined4 *)((int)piVar18 + -0x10) = uVar8" (pointer_expression "*(undefined4 *)((int)piVar18 + -0x10)" (* "*") (cast_expression "(undefined4 *)((int)piVar18 + -0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar18 + -0x10)" (( "(") (binary_expression "(int)piVar18 + -0x10" (cast_expression "(int)piVar18" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar18")) (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "uVar8")) (; ";")) (expression_statement "uVar8 = local_54;" (assignment_expression "uVar8 = local_54" (identifier "uVar8") (= "=") (identifier "local_54")) (; ";")) (expression_statement "*(undefined4 *)((int)piVar18 + -0x14) = 0;" (assignment_expression "*(undefined4 *)((int)piVar18 + -0x14) = 0" (pointer_expression "*(undefined4 *)((int)piVar18 + -0x14)" (* "*") (cast_expression "(undefined4 *)((int)piVar18 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar18 + -0x14)" (( "(") (binary_expression "(int)piVar18 + -0x14" (cast_expression "(int)piVar18" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar18")) (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(undefined4 *)((int)piVar18 + -0x18) = uVar8;" (assignment_expression "*(undefined4 *)((int)piVar18 + -0x18) = uVar8" (pointer_expression "*(undefined4 *)((int)piVar18 + -0x18)" (* "*") (cast_expression "(undefined4 *)((int)piVar18 + -0x18)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar18 + -0x18)" (( "(") (binary_expression "(int)piVar18 + -0x18" (cast_expression "(int)piVar18" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar18")) (+ "+") (number_literal "-0x18")) () ")")))) (= "=") (identifier "uVar8")) (; ";")) (expression_statement "*(undefined4 *)((int)piVar18 + -0x1c) = local_58;" (assignment_expression "*(undefined4 *)((int)piVar18 + -0x1c) = local_58" (pointer_expression "*(undefined4 *)((int)piVar18 + -0x1c)" (* "*") (cast_expression "(undefined4 *)((int)piVar18 + -0x1c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar18 + -0x1c)" (( "(") (binary_expression "(int)piVar18 + -0x1c" (cast_expression "(int)piVar18" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar18")) (+ "+") (number_literal "-0x1c")) () ")")))) (= "=") (identifier "local_58")) (; ";")) (expression_statement "*(int *)((int)piVar18 + -0x20) = local_5c;" (assignment_expression "*(int *)((int)piVar18 + -0x20) = local_5c" (pointer_expression "*(int *)((int)piVar18 + -0x20)" (* "*") (cast_expression "(int *)((int)piVar18 + -0x20)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar18 + -0x20)" (( "(") (binary_expression "(int)piVar18 + -0x20" (cast_expression "(int)piVar18" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar18")) (+ "+") (number_literal "-0x20")) () ")")))) (= "=") (identifier "local_5c")) (; ";")) (expression_statement "*(undefined4 *)((int)piVar18 + -0x24) = 0xd2c5f;" (assignment_expression "*(undefined4 *)((int)piVar18 + -0x24) = 0xd2c5f" (pointer_expression "*(undefined4 *)((int)piVar18 + -0x24)" (* "*") (cast_expression "(undefined4 *)((int)piVar18 + -0x24)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar18 + -0x24)" (( "(") (binary_expression "(int)piVar18 + -0x24" (cast_expression "(int)piVar18" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar18")) (+ "+") (number_literal "-0x24")) () ")")))) (= "=") (number_literal "0xd2c5f")) (; ";")) (expression_statement "FUN_0023bd50();" (call_expression "FUN_0023bd50()" (identifier "FUN_0023bd50") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (return_statement "return;" (return "return") (; ";")) (} "}")))

/* WARNING: Function: __x86.get_pc_thunk.ax replaced with injection: get_pc_thunk_ax */
/* WARNING: Removing unreachable block (ram,0x000d2c2c) */
/* WARNING: Removing unreachable block (ram,0x000d2c33) */
/* WARNING: Enum "DT": Some values do not have unique names */
/* WARNING: Enum "ELFOSABI": Some values do not have unique names */
/* DWARF original prototype: void gc_process_relocs(Target_powerpc<32,_false> * this, Symbol_table *
   symtab, Layout * layout, Sized_relobj_file<32,_false> * object, uint data_shndx, uint param_5,
   uchar * prelocs, size_t reloc_count, Output_section * output_section, bool
   needs_special_offset_handling, size_t local_symbol_count, uchar * plocal_symbols) */

void __thiscall
anon_unknown.dwarf_6462d4::Target_powerpc<32,_false>::gc_process_relocs
          (Target_powerpc<32,_false> *this,Symbol_table *symtab,Layout *layout,
          Sized_relobj_file<32,_false> *object,uint data_shndx,uint param_5,uchar *prelocs,
          size_t reloc_count,Output_section *output_section,bool needs_special_offset_handling,
          size_t param_10,uchar *plocal_symbols)

{
  _Rb_tree_header *p_Var1;
  _Base_ptr *pp_Var2;
  General_options *pGVar3;
  _func_int_varargs *p_Var4;
  pointer puVar5;
  uint uVar6;
  pointer ppSVar7;
  _Base_ptr p_Var8;
  Target *pTVar9;
  Garbage_collection *pGVar10;
  undefined4 *puVar11;
  Icf *pIVar12;
  undefined1 *puVar13;
  Parameters *pPVar14;
  size_t sVar15;
  Xindex *pXVar16;
  _func_int_varargs **pp_Var17;
  pointer pcVar18;
  int iVar19;
  _Base_ptr p_Var20;
  _Rb_tree_header *p_Var21;
  byte bVar22;
  byte bVar23;
  Relobj *pRVar24;
  uint uVar25;
  undefined4 *puVar26;
  General_options **ppGVar27;
  Sized_relobj_file<32,_false> *unaff_ESI;
  undefined **ppuVar28;
  byte *pbVar29;
  Sized_relobj_file<32,_false> *pSVar30;
  uint uVar31;
  _func_int_varargs **pp_Var32;
  _Alloc_hider _Var33;
  bool bVar34;
  bool bVar35;
  bool bVar36;
  byte bVar37;
  General_options *pGStack_100;
  undefined1 auStack_fc [4];
  anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9
  *local_f8;
  __node_gen_type *local_f4;
  Relobj *local_f0;
  Reloc_addend_size_info *local_ec;
  Addend_info *local_e8;
  size_t local_e4;
  undefined1 *local_e0;
  Parameters **local_dc;
  _func_int_varargs **local_d8;
  bool local_d2;
  char local_d1;
  Offset_info *local_d0;
  Symbol_info *local_cc;
  mapped_type *local_c8;
  int local_c4;
  Output_segment *local_c0;
  pointer local_bc;
  undefined **local_b8;
  Relobj *local_b4;
  Icf *local_b0;
  undefined1 *local_ac;
  _Rb_tree_header *local_a8;
  undefined1 local_a4 [12];
  __node_gen_type __node_gen_2;
  __node_gen_type __node_gen_3;
  __node_gen_type __node_gen_1;
  __node_gen_type __node_gen;
  Section_id *local_88;
  Icf *local_84;
  Sized_relobj_file<32,_false> *local_80;
  uint local_7c;
  Output_segment *local_78;
  Relobj *local_74;
  Section_id src_id_1;
  Section_id dst_id;
  Scan scan;
  string src_section_name;
  Section_id src_id;
  pointer local_2c;
  _Alloc_hider local_28;
  
  bVar37 = 0;
  local_b8 = &_GLOBAL_OFFSET_TABLE_;
  local_dc = &gold::parameters;
  pGVar3 = gold::parameters->options_;
  if (pGVar3 == (General_options *)0x0) {
    pGStack_100 = pGVar3;
                    /* WARNING: Subroutine does not return */
                    /* try { // try from 000d2fc4 to 000d2fc8 has its CatchHandler @ 000d3025 */
    gold::do_gold_unreachable("../../gold/parameters.h",0x5c,"options");
  }
  if (pGVar3->icf_status_ == ICF_NONE) {
    local_f8 = &src_section_name.field_2;
    pGStack_100 = (General_options *)0x0;
    src_section_name._M_dataplus._M_p = (pointer)local_f8;
                    /* try { // try from 000d2dc0 to 000d2dc4 has its CatchHandler @ 000d3025 */
    std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::
    _M_construct<char_const*>(&src_section_name,"","");
    ppGVar27 = (General_options **)auStack_fc;
  }
  else {
    p_Var4 = (object->super_Sized_relobj<32,_false>).super_Relobj.super_Object._vptr_Object[0x10];
    if (p_Var4 == gold::Sized_relobj_file<32,_false>::do_section_name) {
                    /* try { // try from 000d22b3 to 000d22b7 has its CatchHandler @ 000d3025 */
      elfcpp::Elf_file<32,_false,_gold::Object>::section_name(&object->elf_file_,data_shndx);
      unaff_ESI = object;
    }
    else {
                    /* try { // try from 000d2f05 to 000d2f06 has its CatchHandler @ 000d3025 */
      (*p_Var4)(&src_section_name,object,data_shndx);
      unaff_ESI = (Sized_relobj_file<32,_false> *)&_GLOBAL_OFFSET_TABLE_;
    }
    ppGVar27 = &pGStack_100;
    local_f8 = &src_section_name.field_2;
  }
  _Var33._M_p = src_section_name._M_dataplus._M_p;
  pPVar14 = *local_dc;
  if (pPVar14->options_ == (General_options *)0x0) {
    *(Parameters **)((int)ppGVar27 + -4) = pPVar14;
    *(undefined ***)((int)ppGVar27 + -8) = local_b8 + -0x61176;
    *(undefined4 *)((int)ppGVar27 + -0xc) = 0x5c;
    *(int *)((int)ppGVar27 + -0x10) = (int)local_b8 + -0x1a1d93;
                    /* WARNING: Subroutine does not return */
    *(undefined4 *)((int)ppGVar27 + -0x14) = 0xd3001;
    gold::do_gold_unreachable
              (*(char **)((int)ppGVar27 + -0x10),*(int *)((int)ppGVar27 + -0xc),
               *(char **)((int)ppGVar27 + -8));
  }
  if (pPVar14->options_->icf_status_ == ICF_NONE) {
LAB_000d22e5:
    local_d1 = '\0';
    local_ec = (Reloc_addend_size_info *)0x0;
    local_d0 = (Offset_info *)0x0;
    local_e8 = (Addend_info *)0x0;
    local_cc = (Symbol_info *)0x0;
    local_c8 = (mapped_type *)0x0;
  }
  else {
    local_b4 = (Relobj *)&local_2c;
    src_id.first = (Relobj *)&local_2c;
    pcVar18 = (pointer)0xffffffff;
    if (src_section_name._M_dataplus._M_p != (pointer)0x0) {
      *(pointer *)((int)ppGVar27 + -0x10) = src_section_name._M_dataplus._M_p;
      *(undefined4 *)((int)ppGVar27 + -0x14) = 0xd2df7;
      sVar15 = strlen(*(char **)((int)ppGVar27 + -0x10));
      pcVar18 = _Var33._M_p + sVar15;
    }
    *(undefined4 *)((int)ppGVar27 + -4) = 0;
    *(pointer *)((int)ppGVar27 + -8) = pcVar18;
    local_b0 = (Icf *)&src_id;
    *(pointer *)((int)ppGVar27 + -0xc) = _Var33._M_p;
    *(Icf **)((int)ppGVar27 + -0x10) = local_b0;
                    /* try { // try from 000d2e0a to 000d2e83 has its CatchHandler @ 000d302c */
    *(undefined4 *)((int)ppGVar27 + -0x14) = 0xd2e0f;
    std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::
    _M_construct<char_const*>();
    iVar19 = 5;
    bVar34 = (undefined1 *)0xffffffef < (undefined1 *)((int)ppGVar27 + -0x10);
    bVar36 = ppGVar27 == (General_options **)0x0;
    ppuVar28 = local_b8 + -0x67293;
    pRVar24 = src_id.first;
    do {
      if (iVar19 == 0) break;
      iVar19 = iVar19 + -1;
      bVar23 = *(byte *)&(pRVar24->super_Object)._vptr_Object;
      bVar34 = *(byte *)ppuVar28 < bVar23;
      bVar36 = *(byte *)ppuVar28 == bVar23;
      ppuVar28 = (undefined **)((int)ppuVar28 + (uint)bVar37 * -2 + 1);
      pRVar24 = (Relobj *)((int)pRVar24 + (uint)bVar37 * -2 + 1);
    } while (bVar36);
    bVar35 = false;
    bVar34 = (!bVar34 && !bVar36) == bVar34;
    if (!bVar34) {
      iVar19 = 0xf;
      pSVar30 = (Sized_relobj_file<32,_false> *)((int)local_b8 + -0x19ca46);
      pRVar24 = src_id.first;
      do {
        unaff_ESI = pSVar30;
        if (iVar19 == 0) break;
        iVar19 = iVar19 + -1;
        unaff_ESI = (Sized_relobj_file<32,_false> *)((int)pSVar30 + (uint)bVar37 * -2 + 1);
        bVar22 = *(byte *)&(pRVar24->super_Object)._vptr_Object;
        bVar23 = *(byte *)&(pSVar30->super_Sized_relobj<32,_false>).super_Relobj.super_Object.
                           _vptr_Object;
        bVar35 = bVar23 < bVar22;
        bVar34 = bVar23 == bVar22;
        pSVar30 = unaff_ESI;
        pRVar24 = (Relobj *)((int)pRVar24 + (uint)bVar37 * -2 + 1);
      } while (bVar34);
      if ((!bVar35 && !bVar34) != bVar35) {
        if (src_id.first == local_b4) {
          pPVar14 = *local_dc;
        }
        else {
          *(Relobj **)((int)ppGVar27 + -0x10) = src_id.first;
          *(undefined4 *)((int)ppGVar27 + -0x14) = 0xd2ee3;
          operator_delete(*(void **)((int)ppGVar27 + -0x10));
          pPVar14 = *local_dc;
        }
        goto LAB_000d22e5;
      }
    }
    if (src_id.first != local_b4) {
      *(Relobj **)((int)ppGVar27 + -0x10) = src_id.first;
      *(undefined4 *)((int)ppGVar27 + -0x14) = 0xd3010;
      operator_delete(*(void **)((int)ppGVar27 + -0x10));
    }
    *(Icf **)((int)ppGVar27 + -0xc) = local_b0;
    src_id.first = (Relobj *)object;
    src_id.second = data_shndx;
    local_b0 = symtab->icf_;
    *(Reloc_info_list **)((int)ppGVar27 + -0x10) = &symtab->icf_->reloc_info_list_;
    *(undefined4 *)((int)ppGVar27 + -0x14) = 0xd2e84;
    local_c8 = std::__detail::
               _Map_base<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_gold::Icf::Reloc_info>,_std::allocator<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_gold::Icf::Reloc_info>_>,_std::__detail::_Select1st,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>,_true>
               ::operator[](*(_Map_base<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_gold::Icf::Reloc_info>,_std::allocator<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_gold::Icf::Reloc_info>_>,_std::__detail::_Select1st,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>,_true>
                              **)((int)ppGVar27 + -0x10),*(key_type **)((int)ppGVar27 + -0xc));
    unaff_ESI = (Sized_relobj_file<32,_false> *)&local_c8->addend_info;
    local_cc = &local_c8->symbol_info;
    local_ec = &local_c8->reloc_addend_size_info;
    local_e8 = (Addend_info *)unaff_ESI;
    local_d0 = &local_c8->offset_info;
    pPVar14 = *local_dc;
    local_d1 = '\x01';
  }
  if (pPVar14->options_ == (General_options *)0x0) {
    *(Sized_relobj_file<32,_false> **)((int)ppGVar27 + -4) = unaff_ESI;
    *(undefined ***)((int)ppGVar27 + -8) = local_b8 + -0x61176;
    *(undefined4 *)((int)ppGVar27 + -0xc) = 0x5c;
    *(int *)((int)ppGVar27 + -0x10) = (int)local_b8 + -0x1a1d93;
                    /* WARNING: Subroutine does not return */
                    /* try { // try from 000d2fe0 to 000d3000 has its CatchHandler @ 000d302c */
    *(undefined4 *)((int)ppGVar27 + -0x14) = 0xd2fe5;
    gold::do_gold_unreachable
              (*(char **)((int)ppGVar27 + -0x10),*(int *)((int)ppGVar27 + -0xc),
               *(char **)((int)ppGVar27 + -8));
  }
  local_d2 = false;
  if (pPVar14->options_->icf_status_ == ICF_SAFE) {
    *(Target_powerpc<32,_false> **)((int)ppGVar27 + -0x10) = this;
    *(undefined4 *)((int)ppGVar27 + -0x14) = 0xd2ceb;
    local_d2 = Target_powerpc<32,_true>::do_can_check_for_function_pointers
                         (*(Target_powerpc<32,_true> **)((int)ppGVar27 + -0x10));
    bVar34 = false;
    bVar36 = !local_d2;
    if (!bVar36) {
      iVar19 = 0xc;
      local_d2 = false;
      ppuVar28 = local_b8 + -0x66894;
      _Var33 = src_section_name._M_dataplus;
      do {
        if (iVar19 == 0) break;
        iVar19 = iVar19 + -1;
        bVar34 = *(byte *)ppuVar28 < (byte)*_Var33._M_p;
        bVar36 = *(byte *)ppuVar28 == *_Var33._M_p;
        ppuVar28 = (undefined **)((int)ppuVar28 + (uint)bVar37 * -2 + 1);
        _Var33._M_p = (pointer)((byte *)_Var33._M_p + (uint)bVar37 * -2 + 1);
      } while (bVar36);
      bVar35 = false;
      bVar34 = (!bVar34 && !bVar36) == bVar34;
      if (!bVar34) {
        iVar19 = 0x11;
        pbVar29 = (byte *)((int)local_b8 + -0x19a243);
        _Var33 = src_section_name._M_dataplus;
        do {
          if (iVar19 == 0) break;
          iVar19 = iVar19 + -1;
          bVar35 = *pbVar29 < (byte)*_Var33._M_p;
          bVar34 = *pbVar29 == *_Var33._M_p;
          pbVar29 = pbVar29 + (uint)bVar37 * -2 + 1;
          _Var33._M_p = (pointer)((byte *)_Var33._M_p + (uint)bVar37 * -2 + 1);
        } while (bVar34);
        bVar36 = false;
        bVar34 = (!bVar35 && !bVar34) == bVar35;
        if (!bVar34) {
          iVar19 = 0xc;
          pbVar29 = (byte *)((int)local_b8 + -0x19a231);
          _Var33 = src_section_name._M_dataplus;
          do {
            if (iVar19 == 0) break;
            iVar19 = iVar19 + -1;
            bVar36 = *pbVar29 < (byte)*_Var33._M_p;
            bVar34 = *pbVar29 == *_Var33._M_p;
            pbVar29 = pbVar29 + (uint)bVar37 * -2 + 1;
            _Var33._M_p = (pointer)((byte *)_Var33._M_p + (uint)bVar37 * -2 + 1);
          } while (bVar34);
          bVar35 = false;
          bVar34 = (!bVar36 && !bVar34) == bVar36;
          if (!bVar34) {
            iVar19 = 0x11;
            ppuVar28 = local_b8 + -0x66889;
            _Var33 = src_section_name._M_dataplus;
            do {
              if (iVar19 == 0) break;
              iVar19 = iVar19 + -1;
              bVar35 = *(byte *)ppuVar28 < (byte)*_Var33._M_p;
              bVar34 = *(byte *)ppuVar28 == *_Var33._M_p;
              ppuVar28 = (undefined **)((int)ppuVar28 + (uint)bVar37 * -2 + 1);
              _Var33._M_p = (pointer)((byte *)_Var33._M_p + (uint)bVar37 * -2 + 1);
            } while (bVar34);
            bVar36 = false;
            bVar34 = (!bVar35 && !bVar34) == bVar35;
            if (!bVar34) {
              iVar19 = 9;
              pbVar29 = (byte *)((int)local_b8 + -0x19a212);
              _Var33 = src_section_name._M_dataplus;
              do {
                if (iVar19 == 0) break;
                iVar19 = iVar19 + -1;
                bVar36 = *pbVar29 < (byte)*_Var33._M_p;
                bVar34 = *pbVar29 == *_Var33._M_p;
                pbVar29 = pbVar29 + (uint)bVar37 * -2 + 1;
                _Var33._M_p = (pointer)((byte *)_Var33._M_p + (uint)bVar37 * -2 + 1);
              } while (bVar34);
              local_d2 = (!bVar36 && !bVar34) != bVar36;
            }
          }
        }
      }
    }
  }
  if (reloc_count != 0) {
    local_d8 = (_func_int_varargs **)0x0;
    local_e0 = local_a4;
    local_e4 = 0;
    local_f4 = &__node_gen;
    do {
      uVar6 = *(uint *)(prelocs + 4);
      uVar31 = uVar6 & 0xff;
      uVar25 = uVar6 >> 8;
      local_bc = *(pointer *)(prelocs + 8);
      if (uVar25 < param_10) {
        if (plocal_symbols == (uchar *)0x0) {
          *(undefined ***)((int)ppGVar27 + -8) = local_b8 + -0x615ed;
          *(undefined4 *)((int)ppGVar27 + -0xc) = 0xea;
          *(int *)((int)ppGVar27 + -0x10) = (int)local_b8 + -0x19ca36;
                    /* WARNING: Subroutine does not return */
                    /* try { // try from 000d2f44 to 000d2fac has its CatchHandler @ 000d302c */
          *(undefined **)((int)ppGVar27 + -0x14) = &UNK_000d2f49;
          gold::do_gold_unreachable
                    (*(char **)((int)ppGVar27 + -0x10),*(int *)((int)ppGVar27 + -0xc),
                     *(char **)((int)ppGVar27 + -8));
        }
        local_b4 = (Relobj *)(uint)*(ushort *)(plocal_symbols + uVar25 * 0x10 + 0xe);
        if (local_b4 < (Relobj *)0xff00) {
LAB_000d24ee:
          pRVar24 = *(Relobj **)(plocal_symbols + uVar25 * 0x10 + 4);
          local_c4 = (int)&local_bc->first + (int)pRVar24;
          if (local_d1 != '\0') {
            src_id.first = (Relobj *)object;
            src_id.second = (uint)local_b4;
            *(Icf **)((int)ppGVar27 + -0xc) = (Icf *)&src_id;
            *(mapped_type **)((int)ppGVar27 + -0x10) = local_c8;
            local_b0 = (Icf *)&src_id;
            *(undefined4 *)((int)ppGVar27 + -0x14) = 0xd2533;
            std::
            vector<std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>
            ::emplace_back<std::pair<gold::Relobj*,_unsigned_int>_>
                      (*(vector<std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>
                         **)((int)ppGVar27 + -0x10),
                       *(pair<gold::Relobj*,_unsigned_int> **)((int)ppGVar27 + -0xc));
            local_c0 = (Output_segment *)CONCAT31(local_c0._1_3_,1);
            if ((plocal_symbols[uVar25 * 0x10 + 0xc] & 0xf) != 3) goto LAB_000d23e8;
LAB_000d254c:
            *(Icf **)((int)ppGVar27 + -0xc) = local_b0;
            *(Symbol_info **)((int)ppGVar27 + -0x10) = local_cc;
            src_id.first = (Relobj *)0xffffffff;
            *(undefined4 *)((int)ppGVar27 + -0x14) = 0xd2567;
            std::vector<gold::Symbol*,_std::allocator<gold::Symbol*>_>::emplace_back<gold::Symbol*>
                      (*(vector<gold::Symbol*,_std::allocator<gold::Symbol*>_> **)
                        ((int)ppGVar27 + -0x10),*(Symbol ***)((int)ppGVar27 + -0xc));
            goto LAB_000d2403;
          }
        }
        else {
          if (local_b4 == (Relobj *)0xffff) {
            pXVar16 = (object->super_Sized_relobj<32,_false>).super_Relobj.super_Object.xindex_;
            if (pXVar16 == (Xindex *)0x0) {
              pp_Var17 = (object->super_Sized_relobj<32,_false>).super_Relobj.super_Object.
                         _vptr_Object;
              *(Sized_relobj_file<32,_false> **)((int)ppGVar27 + -0x10) = object;
              p_Var4 = pp_Var17[0x1b];
              *(undefined4 *)((int)ppGVar27 + -0x14) = 0xd2a4e;
              pXVar16 = (Xindex *)(*p_Var4)();
              (object->super_Sized_relobj<32,_false>).super_Relobj.super_Object.xindex_ = pXVar16;
            }
            *(uint *)((int)ppGVar27 + -8) = uVar25;
            *(Sized_relobj_file<32,_false> **)((int)ppGVar27 + -0xc) = object;
            *(Xindex **)((int)ppGVar27 + -0x10) = pXVar16;
            *(undefined4 *)((int)ppGVar27 + -0x14) = 0xd2591;
            local_b4 = (Relobj *)
                       gold::Xindex::sym_xindex_to_shndx
                                 (*(Xindex **)((int)ppGVar27 + -0x10),
                                  *(Object **)((int)ppGVar27 + -0xc),*(uint *)((int)ppGVar27 + -8));
            goto LAB_000d24ee;
          }
          pRVar24 = *(Relobj **)(plocal_symbols + uVar25 * 0x10 + 4);
          local_c4 = (int)&(*(pointer *)(prelocs + 8))->first + (int)pRVar24;
          if (local_d1 == '\0') goto LAB_000d2489;
          src_id.first = (Relobj *)0x0;
          *(Icf **)((int)ppGVar27 + -0xc) = (Icf *)&src_id;
          *(mapped_type **)((int)ppGVar27 + -0x10) = local_c8;
          src_id.second = 0;
          local_b0 = (Icf *)&src_id;
                    /* try { // try from 000d23ca to 000d2bf5 has its CatchHandler @ 000d302c */
          *(undefined4 *)((int)ppGVar27 + -0x14) = 0xd23cf;
          std::
          vector<std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>
          ::emplace_back<std::pair<gold::Relobj*,_unsigned_int>_>
                    (*(vector<std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>
                       **)((int)ppGVar27 + -0x10),
                     *(pair<gold::Relobj*,_unsigned_int> **)((int)ppGVar27 + -0xc));
          local_c0 = (Output_segment *)((uint)local_c0 & 0xffffff00);
          if ((plocal_symbols[uVar25 * 0x10 + 0xc] & 0xf) == 3) goto LAB_000d254c;
LAB_000d23e8:
          *(Icf **)((int)ppGVar27 + -0xc) = local_b0;
          *(Symbol_info **)((int)ppGVar27 + -0x10) = local_cc;
          src_id.first = (Relobj *)0x0;
          *(undefined4 *)((int)ppGVar27 + -0x14) = 0xd2403;
          std::vector<gold::Symbol*,_std::allocator<gold::Symbol*>_>::emplace_back<gold::Symbol*>
                    (*(vector<gold::Symbol*,_std::allocator<gold::Symbol*>_> **)
                      ((int)ppGVar27 + -0x10),*(Symbol ***)((int)ppGVar27 + -0xc));
LAB_000d2403:
          src_id.first = pRVar24;
          *(Icf **)((int)ppGVar27 + -0xc) = local_b0;
          *(Addend_info **)((int)ppGVar27 + -0x10) = local_e8;
          local_2c = local_bc;
          src_id.second = 0;
          local_28._M_p = (pointer)((int)local_bc >> 0x1f);
          *(undefined4 *)((int)ppGVar27 + -0x14) = 0xd2433;
          std::
          vector<std::pair<long_long_int,_long_long_int>,_std::allocator<std::pair<long_long_int,_long_long_int>_>_>
          ::emplace_back<std::pair<long_long_int,_long_long_int>_>
                    (*(vector<std::pair<long_long_int,_long_long_int>,_std::allocator<std::pair<long_long_int,_long_long_int>_>_>
                       **)((int)ppGVar27 + -0x10),
                     *(pair<long_long_int,_long_long_int> **)((int)ppGVar27 + -0xc));
          src_id.second = 0;
          puVar5 = (local_d0->
                   super__Vector_base<long_long_unsigned_int,_std::allocator<long_long_unsigned_int>_>
                   )._M_impl._M_finish;
          src_id.first = *(Relobj **)prelocs;
          if (puVar5 == (local_d0->
                        super__Vector_base<long_long_unsigned_int,_std::allocator<long_long_unsigned_int>_>
                        )._M_impl._M_end_of_storage) {
            *(Icf **)((int)ppGVar27 + -8) = local_b0;
            *(pointer *)((int)ppGVar27 + -0xc) = puVar5;
            *(Offset_info **)((int)ppGVar27 + -0x10) = local_d0;
            *(undefined4 *)((int)ppGVar27 + -0x14) = 0xd2b0d;
            std::vector<long_long_unsigned_int,_std::allocator<long_long_unsigned_int>_>::
            _M_realloc_insert<long_long_unsigned_int_const&>
                      (*(vector<long_long_unsigned_int,_std::allocator<long_long_unsigned_int>_> **)
                        ((int)ppGVar27 + -0x10),(iterator)*(ulonglong **)((int)ppGVar27 + -0xc),
                       *(ulonglong **)((int)ppGVar27 + -8));
          }
          else {
            *(Relobj **)puVar5 = *(Relobj **)prelocs;
            *(undefined4 *)((int)puVar5 + 4) = 0;
            (local_d0->
            super__Vector_base<long_long_unsigned_int,_std::allocator<long_long_unsigned_int>_>).
            _M_impl._M_finish = puVar5 + 1;
          }
          dst_id.first = (Relobj *)0x0;
          *(Section_id **)((int)ppGVar27 + -0xc) = &dst_id;
          *(Reloc_addend_size_info **)((int)ppGVar27 + -0x10) = local_ec;
          *(undefined4 *)((int)ppGVar27 + -0x14) = 0xd2479;
          std::vector<unsigned_int,_std::allocator<unsigned_int>_>::emplace_back<unsigned_int>
                    (*(vector<unsigned_int,_std::allocator<unsigned_int>_> **)
                      ((int)ppGVar27 + -0x10),*(uint **)((int)ppGVar27 + -0xc));
          if ((char)local_c0 == '\0') goto LAB_000d2489;
        }
        if (((local_d2 != false) && ((plocal_symbols[uVar25 * 0x10 + 0xc] & 0xf) != 1)) &&
           ((0x17 < uVar31 || ((0x843f84U >> (uVar6 & 0x1f) & 1) == 0)))) {
          local_b0 = symtab->icf_;
          local_80 = object;
          local_7c = (uint)*(ushort *)(plocal_symbols + uVar25 * 0x10 + 0xe);
          *(undefined4 *)((int)ppGVar27 + -0xc) = 1;
          *(undefined4 *)((int)ppGVar27 + -0x10) = 0;
          __node_gen_2._M_h = (__hashtable_alloc *)&local_b0->fptr_section_id_;
          *(__node_gen_type **)((int)ppGVar27 + -0x14) = &__node_gen_2;
          *(Sized_relobj_file<32,_false> ***)((int)ppGVar27 + -0x18) = &local_80;
          *(__hashtable_alloc **)((int)ppGVar27 + -0x1c) = __node_gen_2._M_h;
          *(undefined1 **)((int)ppGVar27 + -0x20) = local_e0;
          *(undefined4 *)((int)ppGVar27 + -0x24) = 0xd2ad1;
          std::
          _Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>,_std::__detail::_Identity,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>
          ::
          _M_insert<std::pair<gold::Relobj*,_unsigned_int>,_std::__detail::_AllocNode<std::allocator<std::__detail::_Hash_node<std::pair<gold::Relobj*,_unsigned_int>,_true>_>_>_>
                    ();
          ppGVar27 = (General_options **)((int)ppGVar27 + -4);
        }
        if ((Relobj *)data_shndx != local_b4) {
          local_c0 = (Output_segment *)object;
          puVar26 = ppGVar27;
LAB_000d275e:
          if ((*local_dc)->options_ == (General_options *)0x0) {
            puVar26[-2] = local_b8 + -0x61176;
            puVar26[-3] = 0x5c;
            puVar26[-4] = (int)local_b8 + -0x1a1d93;
                    /* WARNING: Subroutine does not return */
            puVar26[-5] = 0xd2f6e;
            gold::do_gold_unreachable((char *)puVar26[-4],puVar26[-3],(char *)puVar26[-2]);
          }
          ppGVar27 = (General_options **)puVar26;
          if (((*local_dc)->options_->gc_sections_).value != false) {
            src_id_1.first = (Relobj *)object;
            p_Var1 = &(symtab->gc_->section_reloc_map_)._M_t._M_impl.super__Rb_tree_header;
            src_id_1.second = data_shndx;
            dst_id.first = (Relobj *)local_c0;
            dst_id.second = (uint)local_b4;
            p_Var8 = (symtab->gc_->section_reloc_map_)._M_t._M_impl.super__Rb_tree_header._M_header.
                     _M_parent;
            p_Var20 = &p_Var1->_M_header;
            if (p_Var8 == (_Base_ptr)0x0) {
LAB_000d27f0:
              puVar26[-4] = &local_88;
              local_88 = &src_id_1;
              puVar26[-5] = 0xd2811;
              std::
              _Rb_tree<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>,_std::_Select1st<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>_>,_std::less<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>_>_>
              ::
              _M_emplace_hint_unique<const_std::piecewise_construct_t&,_std::tuple<const_std::pair<gold::Relobj*,_unsigned_int>&>,_std::tuple<>_>
                        ((_Rb_tree<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>,_std::_Select1st<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>_>,_std::less<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>_>_>
                          *)puVar26[-4],(_Base_ptr)puVar26[-3],
                         (tuple<const_std::pair<gold::Relobj*,_unsigned_int>&> *)puVar26[-2],
                         (tuple<> *)puVar26[-1],(piecewise_construct_t *)*puVar26);
              p_Var21 = local_a8;
            }
            else {
              do {
                while ((p_Var21 = (_Rb_tree_header *)p_Var8,
                       object <= (Sized_relobj_file<32,_false> *)
                                 ((_Base_ptr)((int)p_Var21 + 0x10))->_M_color &&
                       ((object != (Sized_relobj_file<32,_false> *)
                                   ((_Base_ptr)((int)p_Var21 + 0x10))->_M_color ||
                        (data_shndx <= ((size_t *)((int)p_Var21 + 0x10))[1]))))) {
                  p_Var8 = (p_Var21->_M_header)._M_left;
                  p_Var20 = &p_Var21->_M_header;
                  if ((p_Var21->_M_header)._M_left == (_Base_ptr)0x0) goto LAB_000d27da;
                }
                pp_Var2 = &(p_Var21->_M_header)._M_right;
                p_Var8 = *pp_Var2;
                p_Var21 = (_Rb_tree_header *)p_Var20;
              } while (*pp_Var2 != (_Base_ptr)0x0);
LAB_000d27da:
              if (((p_Var1 == p_Var21) ||
                  (object < (Sized_relobj_file<32,_false> *)p_Var21->_M_node_count)) ||
                 ((object == (Sized_relobj_file<32,_false> *)p_Var21->_M_node_count &&
                  (data_shndx < *(uint *)(p_Var21 + 1))))) goto LAB_000d27f0;
            }
            __node_gen._M_h = (__hashtable_alloc *)((int)(p_Var21 + 1) + 4);
            puVar26[-3] = 1;
            puVar26[-4] = 0;
            puVar26[-5] = local_f4;
            puVar26[-6] = &dst_id;
            puVar26[-7] = __node_gen._M_h;
            puVar26[-8] = local_e0;
            puVar26[-9] = 0xd2840;
            std::
            _Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>,_std::__detail::_Identity,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>
            ::
            _M_insert<const_std::pair<gold::Relobj*,_unsigned_int>&,_std::__detail::_AllocNode<std::allocator<std::__detail::_Hash_node<std::pair<gold::Relobj*,_unsigned_int>,_true>_>_>_>
                      ();
            pTVar9 = (*local_dc)->target_;
            if (pTVar9 == (Target *)0x0) {
              puVar26[-3] = local_b8 + -0x615c4;
              puVar26[-4] = 0x73;
              puVar26[-5] = (int)local_b8 + -0x1a1d93;
                    /* WARNING: Subroutine does not return */
              puVar26[-6] = 0xd2fad;
              gold::do_gold_unreachable((char *)puVar26[-5],puVar26[-4],(char *)puVar26[-3]);
            }
            pp_Var17 = pTVar9->_vptr_Target;
            puVar26[-3] = local_c4;
            puVar26[-4] = local_b4;
            puVar26[-5] = local_c0;
            puVar26[-6] = data_shndx;
            puVar26[-7] = object;
            puVar26[-8] = symtab;
            puVar26[-9] = pTVar9;
            p_Var4 = pp_Var17[0x41];
            puVar26[-10] = 0xd287d;
            (*p_Var4)();
            pp_Var17 = local_d8;
            ppGVar27 = (General_options **)(puVar26 + -1);
            if (local_d8 != (_func_int_varargs **)0x0) {
              local_b4 = (Relobj *)&local_2c;
              pGVar10 = symtab->gc_;
              puVar26[-5] = local_d8;
              local_b0 = (Icf *)&src_id;
              src_id.first = (Relobj *)&local_2c;
              puVar26[-6] = 0xd28bd;
              sVar15 = strlen((char *)puVar26[-5]);
              pIVar12 = local_b0;
              puVar26[-2] = 0;
              puVar26[-3] = (byte *)((int)pp_Var17 + sVar15);
              puVar26[-4] = pp_Var17;
              puVar26[-5] = local_b0;
              puVar26[-6] = 0xd28d2;
              std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::
              _M_construct<char_const*>();
              puVar26[-3] = pIVar12;
              puVar26[-4] = &pGVar10->cident_sections_;
              puVar26[-5] = &local_ac;
              puVar26[-6] = 0xd28e6;
              std::
              _Rb_tree<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>,_std::_Select1st<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>_>,_std::less<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::allocator<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>_>_>
              ::find((_Rb_tree<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>,_std::_Select1st<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>_>,_std::less<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::allocator<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>_>_>
                      *)puVar26[-5],
                     (basic_string<char,_std::char_traits<char>,_std::allocator<char>_> *)
                     puVar26[-4]);
              puVar13 = local_ac;
              if (src_id.first != local_b4) {
                puVar26[-6] = src_id.first;
                puVar26[-7] = 0xd2909;
                operator_delete((void *)puVar26[-6]);
              }
              ppGVar27 = (General_options **)(puVar26 + -2);
              pGVar10 = symtab->gc_;
              if ((_Rb_tree_header *)puVar13 !=
                  &(pGVar10->cident_sections_)._M_t._M_impl.super__Rb_tree_header) {
                p_Var1 = &(pGVar10->section_reloc_map_)._M_t._M_impl.super__Rb_tree_header;
                src_id.first = (Relobj *)object;
                src_id.second = data_shndx;
                p_Var8 = (pGVar10->section_reloc_map_)._M_t._M_impl.super__Rb_tree_header._M_header.
                         _M_parent;
                p_Var20 = &p_Var1->_M_header;
                if (p_Var8 == (_Base_ptr)0x0) {
LAB_000d2bd8:
                  puVar26[-6] = &local_84;
                  local_84 = local_b0;
                  puVar26[-7] = 0xd2bf6;
                  std::
                  _Rb_tree<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>,_std::_Select1st<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>_>,_std::less<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>_>_>
                  ::
                  _M_emplace_hint_unique<const_std::piecewise_construct_t&,_std::tuple<const_std::pair<gold::Relobj*,_unsigned_int>&>,_std::tuple<>_>
                            ((_Rb_tree<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>,_std::_Select1st<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>_>,_std::less<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>_>_>
                              *)puVar26[-6],(_Base_ptr)puVar26[-5],
                             (tuple<const_std::pair<gold::Relobj*,_unsigned_int>&> *)puVar26[-4],
                             (tuple<> *)puVar26[-3],(piecewise_construct_t *)puVar26[-2]);
                  p_Var21 = local_a8;
                }
                else {
                  do {
                    while ((p_Var21 = (_Rb_tree_header *)p_Var8,
                           object <= (Sized_relobj_file<32,_false> *)
                                     ((_Base_ptr)((int)p_Var21 + 0x10))->_M_color &&
                           ((object != (Sized_relobj_file<32,_false> *)
                                       ((_Base_ptr)((int)p_Var21 + 0x10))->_M_color ||
                            (data_shndx <= ((size_t *)((int)p_Var21 + 0x10))[1]))))) {
                      p_Var8 = (p_Var21->_M_header)._M_left;
                      p_Var20 = &p_Var21->_M_header;
                      if ((p_Var21->_M_header)._M_left == (_Base_ptr)0x0) goto LAB_000d2962;
                    }
                    pp_Var2 = &(p_Var21->_M_header)._M_right;
                    p_Var8 = *pp_Var2;
                    p_Var21 = (_Rb_tree_header *)p_Var20;
                  } while (*pp_Var2 != (_Base_ptr)0x0);
LAB_000d2962:
                  if (((p_Var21 == p_Var1) ||
                      (object < (Sized_relobj_file<32,_false> *)p_Var21->_M_node_count)) ||
                     ((object == (Sized_relobj_file<32,_false> *)p_Var21->_M_node_count &&
                      (data_shndx < *(uint *)(p_Var21 + 1))))) goto LAB_000d2bd8;
                }
                ppGVar27 = (General_options **)(puVar26 + -2);
                puVar26 = puVar26 + -2;
                for (puVar11 = *(undefined4 **)(puVar13 + 0x30); puVar11 != (undefined4 *)0x0;
                    puVar11 = (undefined4 *)*puVar11) {
                  *(undefined4 *)((int)puVar26 + -0xc) = 1;
                  *(undefined4 *)((int)puVar26 + -0x10) = 0;
                  *(__node_gen_type **)((int)puVar26 + -0x14) = &__node_gen_1;
                  *(undefined4 **)((int)puVar26 + -0x18) = puVar11 + 1;
                  *(int *)((int)puVar26 + -0x1c) = (int)(p_Var21 + 1) + 4;
                  *(undefined1 **)((int)puVar26 + -0x20) = local_e0;
                  *(undefined4 *)((int)puVar26 + -0x24) = 0xd29ae;
                  __node_gen_1._M_h = (__hashtable_alloc *)((int)(p_Var21 + 1) + 4);
                  std::
                  _Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>,_std::__detail::_Identity,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>
                  ::
                  _M_insert<const_std::pair<gold::Relobj*,_unsigned_int>&,_std::__detail::_AllocNode<std::allocator<std::__detail::_Hash_node<std::pair<gold::Relobj*,_unsigned_int>,_true>_>_>_>
                            ();
                  ppGVar27 = (General_options **)((int)puVar26 + -4);
                  puVar26 = (undefined4 *)((int)puVar26 + -4);
                }
              }
            }
          }
        }
      }
      else {
        if (uVar25 < object->local_symbol_count_) {
          src_id_1.first = (Relobj *)0x0;
LAB_000d2a1f:
          *(undefined ***)((int)ppGVar27 + -8) = local_b8 + -0x615ed;
          *(undefined4 *)((int)ppGVar27 + -0xc) = 0x11c;
          *(int *)((int)ppGVar27 + -0x10) = (int)local_b8 + -0x19ca36;
                    /* WARNING: Subroutine does not return */
          *(undefined4 *)((int)ppGVar27 + -0x14) = 0xd2a40;
          gold::do_gold_unreachable
                    (*(char **)((int)ppGVar27 + -0x10),*(int *)((int)ppGVar27 + -0xc),
                     *(char **)((int)ppGVar27 + -8));
        }
        uVar25 = uVar25 - object->local_symbol_count_;
        ppSVar7 = (object->symbols_).
                  super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl._M_start
        ;
        local_b0 = (Icf *)(object->symbols_).
                          super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.
                          _M_finish;
        if ((uint)((int)local_b0 - (int)ppSVar7 >> 2) <= uVar25) {
          *(undefined ***)((int)ppGVar27 + -8) = local_b8 + -0x6156c;
          *(undefined4 *)((int)ppGVar27 + -0xc) = 0x8ad;
          *(int *)((int)ppGVar27 + -0x10) = (int)local_b8 + -0x19cc7b;
                    /* WARNING: Subroutine does not return */
          *(undefined4 *)((int)ppGVar27 + -0x14) = 0xd2f8f;
          gold::do_gold_unreachable
                    (*(char **)((int)ppGVar27 + -0x10),*(int *)((int)ppGVar27 + -0xc),
                     *(char **)((int)ppGVar27 + -8));
        }
        src_id_1.first = (Relobj *)ppSVar7[uVar25];
        if (src_id_1.first == (Relobj *)0x0) goto LAB_000d2a1f;
        if ((((src_id_1.first)->super_Object).shnum_ & 0x100000) == 0) {
          if ((((src_id_1.first)->super_Object).shnum_ & 0x70000) != 0) goto LAB_000d29e2;
LAB_000d25f7:
          local_f0 = (Relobj *)((src_id_1.first)->super_Object).xindex_;
          local_c0 = ((anon_union_4_3_b0f6f408_for_u1_ *)
                     &((src_id_1.first)->super_Object).name_._M_string_length)->output_segment;
          local_c4 = (int)&local_bc->first + (int)local_f0;
          if (((uint)local_c0->output_lists_[3].
                     super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>.
                     _M_impl._M_end_of_storage & 1) == 0) {
            local_b4 = (Relobj *)
                       ((src_id_1.first)->super_Object).name_.field_2._M_allocated_capacity;
            bVar22 = (byte)((src_id_1.first)->super_Object).shnum_ & 0xf;
            bVar23 = *(byte *)((int)&((src_id_1.first)->super_Object).shnum_ + 3) >> 5 & 1;
            bVar34 = bVar22 < 2;
            bVar36 = bVar22 == 2;
            if (bVar36) {
              bVar34 = false;
              bVar36 = local_d2 == false;
              if ((!bVar36) &&
                 (((bVar23 == 0 || (bVar36 = uVar31 == 0x17, 0x17 < uVar31)) ||
                  (bVar34 = (0x843f84U >> (uVar6 & 0x1f) & 1) != 0, !bVar34)))) {
                local_b0 = symtab->icf_;
                *(undefined4 *)((int)ppGVar27 + -0xc) = 1;
                *(undefined4 *)((int)ppGVar27 + -0x10) = 0;
                *(__node_gen_type **)((int)ppGVar27 + -0x14) = &__node_gen_3;
                *(Output_segment ***)((int)ppGVar27 + -0x18) = &local_78;
                __node_gen_3._M_h = (__hashtable_alloc *)&local_b0->fptr_section_id_;
                *(__hashtable_alloc **)((int)ppGVar27 + -0x1c) = __node_gen_3._M_h;
                *(undefined1 **)((int)ppGVar27 + -0x20) = local_e0;
                    /* try { // try from 000d2cc6 to 000d2cca has its CatchHandler @ 000d302c */
                *(undefined4 *)((int)ppGVar27 + -0x24) = 0xd2ccb;
                local_78 = local_c0;
                local_74 = local_b4;
                std::
                _Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>,_std::__detail::_Identity,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>
                ::
                _M_insert<std::pair<gold::Relobj*,_unsigned_int>,_std::__detail::_AllocNode<std::allocator<std::__detail::_Hash_node<std::pair<gold::Relobj*,_unsigned_int>,_true>_>_>_>
                          ();
                bVar34 = (undefined1 *)0xffffffe3 < (undefined1 *)((int)ppGVar27 + -0x20);
                bVar36 = ppGVar27 == (General_options **)0x4;
                ppGVar27 = (General_options **)((int)ppGVar27 + -4);
              }
            }
          }
          else {
            local_b4 = (Relobj *)0x0;
            bVar34 = false;
            bVar23 = 0;
            bVar36 = true;
            local_c0 = (Output_segment *)0x0;
          }
        }
        else {
          *(Relobj **)((int)ppGVar27 + -0xc) = src_id_1.first;
          *(Symbol_table **)((int)ppGVar27 + -0x10) = symtab;
          *(undefined4 *)((int)ppGVar27 + -0x14) = 0xd29d2;
          src_id_1.first =
               (Relobj *)
               gold::Symbol_table::resolve_forwards
                         (*(Symbol_table **)((int)ppGVar27 + -0x10),
                          *(Symbol **)((int)ppGVar27 + -0xc));
          if ((((src_id_1.first)->super_Object).shnum_ & 0x70000) == 0) goto LAB_000d25f7;
LAB_000d29e2:
          local_f0 = (Relobj *)((src_id_1.first)->super_Object).xindex_;
          bVar23 = 0;
          local_b4 = (Relobj *)0x0;
          local_c0 = (Output_segment *)0x0;
          bVar34 = CARRY4((uint)local_bc,(uint)local_f0);
          local_c4 = (int)&local_bc->first + (int)local_f0;
          bVar36 = local_c4 == 0;
        }
        pp_Var17 = ((src_id_1.first)->super_Object)._vptr_Object;
        iVar19 = 8;
        pbVar29 = (byte *)((int)local_b8 + -0x19ca26);
        pp_Var32 = pp_Var17;
        do {
          if (iVar19 == 0) break;
          iVar19 = iVar19 + -1;
          bVar34 = *pbVar29 < *(byte *)pp_Var32;
          bVar36 = *pbVar29 == *(byte *)pp_Var32;
          pbVar29 = pbVar29 + (uint)bVar37 * -2 + 1;
          pp_Var32 = (_func_int_varargs **)((int)pp_Var32 + (uint)bVar37 * -2 + 1);
        } while (bVar36);
        bVar35 = false;
        bVar34 = (!bVar34 && !bVar36) == bVar34;
        if (bVar34) {
          local_d8 = pp_Var17 + 2;
        }
        else {
          iVar19 = 7;
          pbVar29 = (byte *)((int)local_b8 + -0x19ca1d);
          pp_Var32 = pp_Var17;
          do {
            if (iVar19 == 0) break;
            iVar19 = iVar19 + -1;
            bVar35 = *pbVar29 < *(byte *)pp_Var32;
            bVar34 = *pbVar29 == *(byte *)pp_Var32;
            pbVar29 = pbVar29 + (uint)bVar37 * -2 + 1;
            pp_Var32 = (_func_int_varargs **)((int)pp_Var32 + (uint)bVar37 * -2 + 1);
          } while (bVar34);
          pp_Var17 = (_func_int_varargs **)((int)pp_Var17 + 7);
          if ((!bVar35 && !bVar34) != bVar35) {
            pp_Var17 = local_d8;
          }
          local_d8 = pp_Var17;
        }
        if (local_d1 != '\0') {
          if (bVar23 == 0) {
            src_id.first = (Relobj *)0x0;
            src_id.second = 0;
          }
          else {
            src_id.first = (Relobj *)local_c0;
            src_id.second = (uint)local_b4;
          }
          *(Icf **)((int)ppGVar27 + -0xc) = (Icf *)&src_id;
          *(mapped_type **)((int)ppGVar27 + -0x10) = local_c8;
          local_b0 = (Icf *)&src_id;
          *(undefined4 *)((int)ppGVar27 + -0x14) = 0xd26b9;
          std::
          vector<std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>
          ::emplace_back<std::pair<gold::Relobj*,_unsigned_int>_>
                    (*(vector<std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>
                       **)((int)ppGVar27 + -0x10),
                     *(pair<gold::Relobj*,_unsigned_int> **)((int)ppGVar27 + -0xc));
          ppSVar7 = (local_cc->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>).
                    _M_impl._M_finish;
          if (ppSVar7 ==
              (local_cc->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>)._M_impl.
              _M_end_of_storage) {
            *(Section_id **)((int)ppGVar27 + -8) = &src_id_1;
            *(pointer *)((int)ppGVar27 + -0xc) = ppSVar7;
            *(Symbol_info **)((int)ppGVar27 + -0x10) = local_cc;
            *(undefined4 *)((int)ppGVar27 + -0x14) = 0xd2b4b;
            std::vector<gold::Symbol*,_std::allocator<gold::Symbol*>_>::
            _M_realloc_insert<gold::Symbol*_const&>
                      (*(vector<gold::Symbol*,_std::allocator<gold::Symbol*>_> **)
                        ((int)ppGVar27 + -0x10),(iterator)*(Symbol ***)((int)ppGVar27 + -0xc),
                       *(Symbol ***)((int)ppGVar27 + -8));
          }
          else {
            *ppSVar7 = (Symbol *)src_id_1.first;
            (local_cc->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>)._M_impl.
            _M_finish = ppSVar7 + 1;
          }
          *(Icf **)((int)ppGVar27 + -0xc) = local_b0;
          *(Addend_info **)((int)ppGVar27 + -0x10) = local_e8;
          src_id.first = local_f0;
          src_id.second = 0;
          local_2c = local_bc;
          local_28._M_p = (pointer)((int)local_bc >> 0x1f);
          *(undefined4 *)((int)ppGVar27 + -0x14) = 0xd270d;
          std::
          vector<std::pair<long_long_int,_long_long_int>,_std::allocator<std::pair<long_long_int,_long_long_int>_>_>
          ::emplace_back<std::pair<long_long_int,_long_long_int>_>
                    (*(vector<std::pair<long_long_int,_long_long_int>,_std::allocator<std::pair<long_long_int,_long_long_int>_>_>
                       **)((int)ppGVar27 + -0x10),
                     *(pair<long_long_int,_long_long_int> **)((int)ppGVar27 + -0xc));
          src_id.second = 0;
          puVar5 = (local_d0->
                   super__Vector_base<long_long_unsigned_int,_std::allocator<long_long_unsigned_int>_>
                   )._M_impl._M_finish;
          src_id.first = *(Relobj **)prelocs;
          if (puVar5 == (local_d0->
                        super__Vector_base<long_long_unsigned_int,_std::allocator<long_long_unsigned_int>_>
                        )._M_impl._M_end_of_storage) {
            *(Icf **)((int)ppGVar27 + -8) = local_b0;
            *(pointer *)((int)ppGVar27 + -0xc) = puVar5;
            *(Offset_info **)((int)ppGVar27 + -0x10) = local_d0;
            *(undefined4 *)((int)ppGVar27 + -0x14) = 0xd2bbd;
            std::vector<long_long_unsigned_int,_std::allocator<long_long_unsigned_int>_>::
            _M_realloc_insert<long_long_unsigned_int_const&>
                      (*(vector<long_long_unsigned_int,_std::allocator<long_long_unsigned_int>_> **)
                        ((int)ppGVar27 + -0x10),(iterator)*(ulonglong **)((int)ppGVar27 + -0xc),
                       *(ulonglong **)((int)ppGVar27 + -8));
          }
          else {
            *(Relobj **)puVar5 = *(Relobj **)prelocs;
            *(undefined4 *)((int)puVar5 + 4) = 0;
            (local_d0->
            super__Vector_base<long_long_unsigned_int,_std::allocator<long_long_unsigned_int>_>).
            _M_impl._M_finish = puVar5 + 1;
          }
          dst_id.first = (Relobj *)0x0;
          *(Section_id **)((int)ppGVar27 + -0xc) = &dst_id;
          *(Reloc_addend_size_info **)((int)ppGVar27 + -0x10) = local_ec;
          *(undefined4 *)((int)ppGVar27 + -0x14) = 0xd2753;
          std::vector<unsigned_int,_std::allocator<unsigned_int>_>::emplace_back<unsigned_int>
                    (*(vector<unsigned_int,_std::allocator<unsigned_int>_> **)
                      ((int)ppGVar27 + -0x10),*(uint **)((int)ppGVar27 + -0xc));
        }
        puVar26 = ppGVar27;
        if (bVar23 != 0) goto LAB_000d275e;
      }
LAB_000d2489:
      local_e4 = local_e4 + 1;
      prelocs = prelocs + 0xc;
    } while (reloc_count != local_e4);
  }
  if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9
       *)src_section_name._M_dataplus._M_p != local_f8) {
    *(pointer *)((int)ppGVar27 + -0x10) = src_section_name._M_dataplus._M_p;
    *(undefined4 *)((int)ppGVar27 + -0x14) = 0xd2c22;
    operator_delete(*(void **)((int)ppGVar27 + -0x10));
  }
  return;
}


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

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

void MASKED(undefined4 param_1,int param_2,undefined4 param_3,undefined **param_4,
                 undefined **param_5,undefined4 param_6,undefined4 *param_7,int param_8,
                 undefined4 param_9,undefined4 param_10,undefined *param_11,int param_12)

{
  undefined4 *puVar1;
  uint uVar2;
  int iVar3;
  code *pcVar4;
  undefined ***pppuVar5;
  size_t sVar6;
  undefined *puVar7;
  undefined4 uVar8;
  byte *pbVar9;
  int iVar10;
  int iVar11;
  int iVar12;
  byte bVar13;
  undefined **ppuVar14;
  undefined *puVar15;
  uint uVar16;
  undefined1 *puVar17;
  int *piVar18;
  undefined **unaff_ESI;
  int iVar19;
  byte *pbVar20;
  uint uVar21;
  byte *pbVar22;
  undefined **ppuVar23;
  bool bVar24;
  bool bVar25;
  bool bVar26;
  byte bVar27;
  int iStack_100;
  undefined1 auStack_fc [4];
  byte *local_f8;
  int *local_f4;
  undefined **local_f0;
  int local_ec;
  undefined **local_e8;
  int local_e4;
  undefined1 *local_e0;
  int *local_dc;
  byte *local_d8;
  char local_d2;
  char local_d1;
  int local_d0;
  int local_cc;
  int local_c8;
  undefined *local_c4;
  undefined **local_c0;
  undefined *local_bc;
  undefined **local_b8;
  undefined **local_b4;
  undefined ***local_b0;
  int local_ac;
  int local_a8;
  undefined1 local_a4 [12];
  undefined ***local_98;
  undefined ***local_94;
  int local_90;
  int local_8c;
  undefined ***local_88;
  undefined ***local_84;
  undefined **local_80;
  uint local_7c;
  undefined **local_78;
  undefined **local_74;
  undefined **local_70;
  undefined **local_6c;
  undefined **local_68;
  undefined **local_64;
  int local_60;
  int local_5c;
  undefined4 local_58;
  undefined4 local_54;
  undefined1 local_50;
  byte *local_4c [2];
  byte local_44 [16];
  undefined **local_34;
  undefined **local_30;
  undefined *local_2c;
  int local_28;
  
  bVar27 = 0;
  local_b8 = &__DT_PLTGOT;
  local_dc = &DAT_005ea7c8;
  local_60 = 0;
  local_5c = 0;
  iVar19 = *(int *)(DAT_005ea7c8 + 8);
  local_58 = 0;
  local_54 = 0;
  local_50 = 0;
  if (iVar19 == 0) {
    iStack_100 = iVar19;
                    /* WARNING: Subroutine does not return */
                    /* try { // try from 000d2fc4 to 000d2fc8 has its CatchHandler @ 000d3025 */
    FUN_002446e0("../../gold/parameters.h",0x5c,"options");
  }
  if (*(int *)(iVar19 + 0x5934) == 0) {
    local_f8 = local_44;
    iStack_100 = 0;
    local_4c[0] = local_f8;
                    /* try { // try from 000d2dc0 to 000d2dc4 has its CatchHandler @ 000d3025 */
    FUN_00072b90(local_4c,"","");
    piVar18 = (int *)auStack_fc;
  }
  else {
    unaff_ESI = &__DT_PLTGOT;
    if (*(code **)(*param_4 + 0x40) == FUN_00106550) {
                    /* try { // try from 000d22b3 to 000d22b7 has its CatchHandler @ 000d3025 */
      FUN_001063c0(local_4c,param_4 + 0x24,param_5);
      unaff_ESI = param_4;
    }
    else {
                    /* try { // try from 000d2f05 to 000d2f06 has its CatchHandler @ 000d3025 */
      (**(code **)(*param_4 + 0x40))(local_4c,param_4,param_5);
    }
    local_f8 = local_44;
    piVar18 = &iStack_100;
  }
  pbVar20 = local_4c[0];
  iVar19 = *local_dc;
  if (*(int *)(iVar19 + 8) == 0) {
    *(int *)((int)piVar18 + -4) = iVar19;
    *(undefined ***)((int)piVar18 + -8) = local_b8 + -0x61176;
    *(undefined4 *)((int)piVar18 + -0xc) = 0x5c;
    *(int *)((int)piVar18 + -0x10) = (int)local_b8 + -0x1a1d93;
                    /* WARNING: Subroutine does not return */
    *(undefined4 *)((int)piVar18 + -0x14) = 0xd3001;
    FUN_002446e0();
  }
  if (*(int *)(*(int *)(iVar19 + 8) + 0x5934) == 0) {
LAB_000d22e5:
    local_d1 = '\0';
    local_ec = 0;
    local_d0 = 0;
    local_e8 = (undefined **)0x0;
    local_cc = 0;
    local_c8 = 0;
  }
  else {
    local_b4 = &local_2c;
    local_34 = local_b4;
    pbVar9 = (byte *)0xffffffff;
    if (local_4c[0] != (byte *)0x0) {
      *(byte **)((int)piVar18 + -0x10) = local_4c[0];
      *(undefined4 *)((int)piVar18 + -0x14) = 0xd2df7;
      sVar6 = strlen(*(char **)((int)piVar18 + -0x10));
      pbVar9 = pbVar20 + sVar6;
    }
    *(undefined4 *)((int)piVar18 + -4) = 0;
    *(byte **)((int)piVar18 + -8) = pbVar9;
    local_b0 = &local_34;
    *(byte **)((int)piVar18 + -0xc) = pbVar20;
    *(undefined ****)((int)piVar18 + -0x10) = local_b0;
                    /* try { // try from 000d2e0a to 000d2e83 has its CatchHandler @ 000d302c */
    *(undefined4 *)((int)piVar18 + -0x14) = 0xd2e0f;
    FUN_00072b90();
    iVar19 = 5;
    bVar24 = (undefined1 *)0xffffffef < (undefined1 *)((int)piVar18 + -0x10);
    bVar26 = piVar18 == (int *)0x0;
    ppuVar14 = local_b8 + -0x67293;
    ppuVar23 = local_34;
    do {
      if (iVar19 == 0) break;
      iVar19 = iVar19 + -1;
      bVar24 = *(byte *)ppuVar14 < *(byte *)ppuVar23;
      bVar26 = *(byte *)ppuVar14 == *(byte *)ppuVar23;
      ppuVar14 = (undefined **)((int)ppuVar14 + (uint)bVar27 * -2 + 1);
      ppuVar23 = (undefined **)((int)ppuVar23 + (uint)bVar27 * -2 + 1);
    } while (bVar26);
    bVar25 = false;
    bVar24 = (!bVar24 && !bVar26) == bVar24;
    if (!bVar24) {
      iVar19 = 0xf;
      ppuVar14 = (undefined **)((int)local_b8 + -0x19ca46);
      ppuVar23 = local_34;
      do {
        unaff_ESI = ppuVar14;
        if (iVar19 == 0) break;
        iVar19 = iVar19 + -1;
        unaff_ESI = (undefined **)((int)ppuVar14 + (uint)bVar27 * -2 + 1);
        bVar25 = *(byte *)ppuVar14 < *(byte *)ppuVar23;
        bVar24 = *(byte *)ppuVar14 == *(byte *)ppuVar23;
        ppuVar14 = unaff_ESI;
        ppuVar23 = (undefined **)((int)ppuVar23 + (uint)bVar27 * -2 + 1);
      } while (bVar24);
      if ((!bVar25 && !bVar24) != bVar25) {
        if (local_34 == local_b4) {
          iVar19 = *local_dc;
        }
        else {
          *(undefined ***)((int)piVar18 + -0x10) = local_34;
          *(undefined4 *)((int)piVar18 + -0x14) = 0xd2ee3;
          FUN_003ae080();
          iVar19 = *local_dc;
        }
        goto LAB_000d22e5;
      }
    }
    if (local_34 != local_b4) {
      *(undefined ***)((int)piVar18 + -0x10) = local_34;
      *(undefined4 *)((int)piVar18 + -0x14) = 0xd3010;
      FUN_003ae080();
    }
    *(undefined ****)((int)piVar18 + -0xc) = local_b0;
    local_34 = param_4;
    local_30 = param_5;
    local_b0 = *(undefined ****)(param_2 + 0x15c);
    *(undefined ****)((int)piVar18 + -0x10) = local_b0 + 0x15;
    *(undefined4 *)((int)piVar18 + -0x14) = 0xd2e84;
    local_c8 = FUN_00074520();
    local_cc = local_c8 + 0xc;
    unaff_ESI = (undefined **)(local_c8 + 0x18);
    local_d0 = local_c8 + 0x24;
    local_ec = local_c8 + 0x30;
    iVar19 = *local_dc;
    local_d1 = '\x01';
    local_e8 = unaff_ESI;
  }
  if (*(int *)(iVar19 + 8) == 0) {
    *(undefined ***)((int)piVar18 + -4) = unaff_ESI;
    *(undefined ***)((int)piVar18 + -8) = local_b8 + -0x61176;
    *(undefined4 *)((int)piVar18 + -0xc) = 0x5c;
    *(int *)((int)piVar18 + -0x10) = (int)local_b8 + -0x1a1d93;
                    /* WARNING: Subroutine does not return */
                    /* try { // try from 000d2fe0 to 000d3000 has its CatchHandler @ 000d302c */
    *(undefined4 *)((int)piVar18 + -0x14) = 0xd2fe5;
    FUN_002446e0();
  }
  local_d2 = '\0';
  if (*(int *)(*(int *)(iVar19 + 8) + 0x5934) == 2) {
    *(undefined4 *)((int)piVar18 + -0x10) = param_1;
    *(undefined4 *)((int)piVar18 + -0x14) = 0xd2ceb;
    local_d2 = FUN_000aaa70();
    bVar24 = false;
    bVar26 = local_d2 == '\0';
    if (!bVar26) {
      iVar19 = 0xc;
      local_d2 = '\0';
      ppuVar14 = local_b8 + -0x66894;
      pbVar20 = local_4c[0];
      do {
        if (iVar19 == 0) break;
        iVar19 = iVar19 + -1;
        bVar24 = *(byte *)ppuVar14 < *pbVar20;
        bVar26 = *(byte *)ppuVar14 == *pbVar20;
        ppuVar14 = (undefined **)((int)ppuVar14 + (uint)bVar27 * -2 + 1);
        pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;
      } while (bVar26);
      bVar25 = false;
      bVar24 = (!bVar24 && !bVar26) == bVar24;
      if (!bVar24) {
        iVar19 = 0x11;
        pbVar20 = (byte *)((int)local_b8 + -0x19a243);
        pbVar9 = local_4c[0];
        do {
          if (iVar19 == 0) break;
          iVar19 = iVar19 + -1;
          bVar25 = *pbVar20 < *pbVar9;
          bVar24 = *pbVar20 == *pbVar9;
          pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;
          pbVar9 = pbVar9 + (uint)bVar27 * -2 + 1;
        } while (bVar24);
        bVar26 = false;
        bVar24 = (!bVar25 && !bVar24) == bVar25;
        if (!bVar24) {
          iVar19 = 0xc;
          pbVar20 = (byte *)((int)local_b8 + -0x19a231);
          pbVar9 = local_4c[0];
          do {
            if (iVar19 == 0) break;
            iVar19 = iVar19 + -1;
            bVar26 = *pbVar20 < *pbVar9;
            bVar24 = *pbVar20 == *pbVar9;
            pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;
            pbVar9 = pbVar9 + (uint)bVar27 * -2 + 1;
          } while (bVar24);
          bVar25 = false;
          bVar24 = (!bVar26 && !bVar24) == bVar26;
          if (!bVar24) {
            iVar19 = 0x11;
            ppuVar14 = local_b8 + -0x66889;
            pbVar20 = local_4c[0];
            do {
              if (iVar19 == 0) break;
              iVar19 = iVar19 + -1;
              bVar25 = *(byte *)ppuVar14 < *pbVar20;
              bVar24 = *(byte *)ppuVar14 == *pbVar20;
              ppuVar14 = (undefined **)((int)ppuVar14 + (uint)bVar27 * -2 + 1);
              pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;
            } while (bVar24);
            bVar26 = false;
            bVar24 = (!bVar25 && !bVar24) == bVar25;
            if (!bVar24) {
              iVar19 = 9;
              pbVar20 = (byte *)((int)local_b8 + -0x19a212);
              pbVar9 = local_4c[0];
              do {
                if (iVar19 == 0) break;
                iVar19 = iVar19 + -1;
                bVar26 = *pbVar20 < *pbVar9;
                bVar24 = *pbVar20 == *pbVar9;
                pbVar20 = pbVar20 + (uint)bVar27 * -2 + 1;
                pbVar9 = pbVar9 + (uint)bVar27 * -2 + 1;
              } while (bVar24);
              local_d2 = (!bVar26 && !bVar24) != bVar26;
            }
          }
        }
      }
    }
  }
  if (param_8 != 0) {
    local_d8 = (byte *)0x0;
    local_e0 = local_a4;
    local_f4 = &local_8c;
    local_e4 = 0;
    do {
      uVar2 = param_7[1];
      uVar21 = uVar2 & 0xff;
      puVar15 = (undefined *)(uVar2 >> 8);
      local_bc = (undefined *)param_7[2];
      if (puVar15 < param_11) {
        if (param_12 == 0) {
          *(undefined ***)((int)piVar18 + -8) = local_b8 + -0x615ed;
          *(undefined4 *)((int)piVar18 + -0xc) = 0xea;
          *(int *)((int)piVar18 + -0x10) = (int)local_b8 + -0x19ca36;
                    /* WARNING: Subroutine does not return */
                    /* try { // try from 000d2f44 to 000d2fac has its CatchHandler @ 000d302c */
          *(undefined **)((int)piVar18 + -0x14) = &UNK_000d2f49;
          FUN_002446e0();
        }
        iVar19 = (int)puVar15 * 0x10 + param_12;
        local_b4 = (undefined **)(uint)*(ushort *)(iVar19 + 0xe);
        if (local_b4 < (undefined **)0xff00) {
LAB_000d24ee:
          ppuVar14 = *(undefined ***)(iVar19 + 4);
          local_c4 = local_bc + (int)ppuVar14;
          if (local_d1 != '\0') {
            local_34 = param_4;
            local_30 = local_b4;
            local_b0 = &local_34;
            *(undefined ****)((int)piVar18 + -0xc) = local_b0;
            *(int *)((int)piVar18 + -0x10) = local_c8;
            *(undefined4 *)((int)piVar18 + -0x14) = 0xd2533;
            FUN_00073b00();
            local_c0 = (undefined **)CONCAT31(local_c0._1_3_,1);
            if ((*(byte *)(iVar19 + 0xc) & 0xf) == 3) goto LAB_000d254c;
LAB_000d23e8:
            *(undefined ****)((int)piVar18 + -0xc) = local_b0;
            *(int *)((int)piVar18 + -0x10) = local_cc;
            local_34 = (undefined **)0x0;
            *(undefined4 *)((int)piVar18 + -0x14) = 0xd2403;
            FUN_00073ca0();
            goto LAB_000d2403;
          }
        }
        else {
          if (local_b4 == (undefined **)0xffff) {
            puVar7 = param_4[0xc];
            if (puVar7 == (undefined *)0x0) {
              puVar7 = *param_4;
              *(undefined ***)((int)piVar18 + -0x10) = param_4;
              pcVar4 = *(code **)(puVar7 + 0x6c);
              *(undefined4 *)((int)piVar18 + -0x14) = 0xd2a4e;
              puVar7 = (undefined *)(*pcVar4)();
              param_4[0xc] = puVar7;
            }
            *(undefined **)((int)piVar18 + -8) = puVar15;
            *(undefined ***)((int)piVar18 + -0xc) = param_4;
            *(undefined **)((int)piVar18 + -0x10) = puVar7;
            *(undefined4 *)((int)piVar18 + -0x14) = 0xd2591;
            local_b4 = (undefined **)FUN_0028b7d0();
            goto LAB_000d24ee;
          }
          ppuVar14 = *(undefined ***)(iVar19 + 4);
          local_c4 = local_bc + (int)ppuVar14;
          if (local_d1 == '\0') goto LAB_000d2489;
          local_b0 = &local_34;
          local_34 = (undefined **)0x0;
          *(undefined ****)((int)piVar18 + -0xc) = local_b0;
          *(int *)((int)piVar18 + -0x10) = local_c8;
          local_30 = (undefined **)0x0;
                    /* try { // try from 000d23ca to 000d2bf5 has its CatchHandler @ 000d302c */
          *(undefined4 *)((int)piVar18 + -0x14) = 0xd23cf;
          FUN_00073b00();
          local_c0 = (undefined **)((uint)local_c0 & 0xffffff00);
          if ((*(byte *)(iVar19 + 0xc) & 0xf) != 3) goto LAB_000d23e8;
LAB_000d254c:
          *(undefined ****)((int)piVar18 + -0xc) = local_b0;
          *(int *)((int)piVar18 + -0x10) = local_cc;
          local_34 = (undefined **)0xffffffff;
          *(undefined4 *)((int)piVar18 + -0x14) = 0xd2567;
          FUN_00073ca0();
LAB_000d2403:
          *(undefined ****)((int)piVar18 + -0xc) = local_b0;
          *(undefined ***)((int)piVar18 + -0x10) = local_e8;
          local_2c = local_bc;
          local_28 = (int)local_bc >> 0x1f;
          local_30 = (undefined **)0x0;
          *(undefined4 *)((int)piVar18 + -0x14) = 0xd2433;
          local_34 = ppuVar14;
          FUN_00073e70();
          local_30 = (undefined **)0x0;
          local_34 = (undefined **)*param_7;
          puVar1 = *(undefined4 **)(local_d0 + 4);
          if (puVar1 == *(undefined4 **)(local_d0 + 8)) {
            *(undefined ****)((int)piVar18 + -8) = local_b0;
            *(undefined4 **)((int)piVar18 + -0xc) = puVar1;
            *(int *)((int)piVar18 + -0x10) = local_d0;
            *(undefined4 *)((int)piVar18 + -0x14) = 0xd2b0d;
            FUN_00072a40();
          }
          else {
            *puVar1 = local_34;
            puVar1[1] = 0;
            *(undefined4 **)(local_d0 + 4) = puVar1 + 2;
          }
          local_68 = (undefined **)0x0;
          *(undefined ****)((int)piVar18 + -0xc) = &local_68;
          *(int *)((int)piVar18 + -0x10) = local_ec;
          *(undefined4 *)((int)piVar18 + -0x14) = 0xd2479;
          FUN_00074020();
          if ((char)local_c0 == '\0') goto LAB_000d2489;
        }
        if (((local_d2 != '\0') && ((*(byte *)(iVar19 + 0xc) & 0xf) != 1)) &&
           ((0x17 < uVar21 || ((0x843f84U >> (uVar2 & 0x1f) & 1) == 0)))) {
          local_b0 = *(undefined ****)(param_2 + 0x15c);
          local_80 = param_4;
          local_7c = (uint)*(ushort *)(iVar19 + 0xe);
          *(undefined4 *)((int)piVar18 + -0xc) = 1;
          *(undefined4 *)((int)piVar18 + -0x10) = 0;
          local_98 = local_b0 + 0xd;
          *(undefined *****)((int)piVar18 + -0x14) = &local_98;
          *(undefined ****)((int)piVar18 + -0x18) = &local_80;
          *(undefined ****)((int)piVar18 + -0x1c) = local_98;
          *(undefined1 **)((int)piVar18 + -0x20) = local_e0;
          *(undefined4 *)((int)piVar18 + -0x24) = 0xd2ad1;
          FUN_00074280();
          piVar18 = (int *)((int)piVar18 + -4);
        }
        if (param_5 != local_b4) {
          local_c0 = param_4;
          puVar17 = (undefined1 *)piVar18;
LAB_000d275e:
          if (*(int *)(*local_dc + 8) == 0) {
            *(undefined ***)(puVar17 + -8) = local_b8 + -0x61176;
            *(undefined4 *)(puVar17 + -0xc) = 0x5c;
            *(int *)(puVar17 + -0x10) = (int)local_b8 + -0x1a1d93;
                    /* WARNING: Subroutine does not return */
            *(undefined4 *)(puVar17 + -0x14) = 0xd2f6e;
            FUN_002446e0();
          }
          piVar18 = (int *)puVar17;
          if (*(char *)(*(int *)(*local_dc + 8) + 0x18b1) != '\0') {
            local_70 = param_4;
            iVar19 = *(int *)(param_2 + 0x158) + 0x14;
            local_6c = param_5;
            local_68 = local_c0;
            local_64 = local_b4;
            iVar3 = *(int *)(*(int *)(param_2 + 0x158) + 0x18);
            iVar10 = iVar19;
            if (iVar3 == 0) {
LAB_000d27f0:
              local_88 = &local_70;
              *(undefined *****)(puVar17 + -0x10) = &local_88;
              *(undefined4 *)(puVar17 + -0x14) = 0xd2811;
              FUN_000c5e40();
              iVar11 = local_a8;
            }
            else {
              do {
                while ((iVar11 = iVar3, *(undefined ***)(iVar11 + 0x10) < param_4 ||
                       ((param_4 == *(undefined ***)(iVar11 + 0x10) &&
                        (*(undefined ***)(iVar11 + 0x14) < param_5))))) {
                  piVar18 = (int *)(iVar11 + 0xc);
                  iVar3 = *piVar18;
                  iVar11 = iVar10;
                  if (*piVar18 == 0) goto LAB_000d27da;
                }
                iVar3 = *(int *)(iVar11 + 8);
                iVar10 = iVar11;
              } while (*(int *)(iVar11 + 8) != 0);
LAB_000d27da:
              if (((iVar19 == iVar11) || (param_4 < *(undefined ***)(iVar11 + 0x10))) ||
                 ((param_4 == *(undefined ***)(iVar11 + 0x10) &&
                  (param_5 < *(undefined ***)(iVar11 + 0x14))))) goto LAB_000d27f0;
            }
            local_8c = iVar11 + 0x18;
            *(undefined4 *)(puVar17 + -0xc) = 1;
            *(undefined4 *)(puVar17 + -0x10) = 0;
            *(int **)(puVar17 + -0x14) = local_f4;
            *(undefined ****)(puVar17 + -0x18) = &local_68;
            *(int *)(puVar17 + -0x1c) = local_8c;
            *(undefined1 **)(puVar17 + -0x20) = local_e0;
            *(undefined4 *)(puVar17 + -0x24) = 0xd2840;
            FUN_00074340();
            piVar18 = *(int **)(*local_dc + 0xc);
            if (piVar18 == (int *)0x0) {
              *(undefined ***)(puVar17 + -0xc) = local_b8 + -0x615c4;
              *(undefined4 *)(puVar17 + -0x10) = 0x73;
              *(int *)(puVar17 + -0x14) = (int)local_b8 + -0x1a1d93;
                    /* WARNING: Subroutine does not return */
              *(undefined4 *)(puVar17 + -0x18) = 0xd2fad;
              FUN_002446e0();
            }
            iVar19 = *piVar18;
            *(undefined **)(puVar17 + -0xc) = local_c4;
            *(undefined ***)(puVar17 + -0x10) = local_b4;
            *(undefined ***)(puVar17 + -0x14) = local_c0;
            *(undefined ***)(puVar17 + -0x18) = param_5;
            *(undefined ***)(puVar17 + -0x1c) = param_4;
            *(int *)(puVar17 + -0x20) = param_2;
            *(int **)(puVar17 + -0x24) = piVar18;
            pcVar4 = *(code **)(iVar19 + 0x104);
            *(undefined4 *)(puVar17 + -0x28) = 0xd287d;
            (*pcVar4)();
            pbVar20 = local_d8;
            piVar18 = (int *)(puVar17 + -4);
            if (local_d8 != (byte *)0x0) {
              local_b4 = &local_2c;
              local_b0 = &local_34;
              iVar19 = *(int *)(param_2 + 0x158);
              *(byte **)(puVar17 + -0x14) = local_d8;
              local_34 = local_b4;
              *(undefined4 *)(puVar17 + -0x18) = 0xd28bd;
              sVar6 = strlen(*(char **)(puVar17 + -0x14));
              pppuVar5 = local_b0;
              *(undefined4 *)(puVar17 + -8) = 0;
              *(byte **)(puVar17 + -0xc) = pbVar20 + sVar6;
              *(byte **)(puVar17 + -0x10) = pbVar20;
              *(undefined ****)(puVar17 + -0x14) = local_b0;
              *(undefined4 *)(puVar17 + -0x18) = 0xd28d2;
              FUN_00072b90();
              *(undefined ****)(puVar17 + -0xc) = pppuVar5;
              *(int *)(puVar17 + -0x10) = iVar19 + 0x44;
              *(int **)(puVar17 + -0x14) = &local_ac;
              *(undefined4 *)(puVar17 + -0x18) = 0xd28e6;
              FUN_00094bd0();
              iVar19 = local_ac;
              if (local_34 != local_b4) {
                *(undefined ***)(puVar17 + -0x18) = local_34;
                *(undefined4 *)(puVar17 + -0x1c) = 0xd2909;
                FUN_003ae080();
              }
              piVar18 = (int *)(puVar17 + -8);
              iVar3 = *(int *)(param_2 + 0x158);
              if (iVar19 != iVar3 + 0x48) {
                local_34 = param_4;
                local_30 = param_5;
                iVar10 = *(int *)(iVar3 + 0x18);
                iVar11 = iVar3 + 0x14;
                if (*(int *)(iVar3 + 0x18) == 0) {
LAB_000d2bd8:
                  *(undefined *****)(puVar17 + -0x18) = &local_84;
                  local_84 = local_b0;
                  *(undefined4 *)(puVar17 + -0x1c) = 0xd2bf6;
                  FUN_000c5e40();
                  iVar12 = local_a8;
                }
                else {
                  do {
                    while ((iVar12 = iVar10, *(undefined ***)(iVar12 + 0x10) < param_4 ||
                           ((param_4 == *(undefined ***)(iVar12 + 0x10) &&
                            (*(undefined ***)(iVar12 + 0x14) < param_5))))) {
                      piVar18 = (int *)(iVar12 + 0xc);
                      iVar10 = *piVar18;
                      iVar12 = iVar11;
                      if (*piVar18 == 0) goto LAB_000d2962;
                    }
                    iVar10 = *(int *)(iVar12 + 8);
                    iVar11 = iVar12;
                  } while (*(int *)(iVar12 + 8) != 0);
LAB_000d2962:
                  if (((iVar12 == iVar3 + 0x14) || (param_4 < *(undefined ***)(iVar12 + 0x10))) ||
                     ((param_4 == *(undefined ***)(iVar12 + 0x10) &&
                      (param_5 < *(undefined ***)(iVar12 + 0x14))))) goto LAB_000d2bd8;
                }
                piVar18 = (int *)(puVar17 + -8);
                puVar17 = puVar17 + -8;
                for (puVar1 = *(undefined4 **)(iVar19 + 0x30); puVar1 != (undefined4 *)0x0;
                    puVar1 = (undefined4 *)*puVar1) {
                  *(undefined4 *)(puVar17 + -0xc) = 1;
                  *(undefined4 *)(puVar17 + -0x10) = 0;
                  *(int **)(puVar17 + -0x14) = &local_90;
                  *(undefined4 **)(puVar17 + -0x18) = puVar1 + 1;
                  *(int *)(puVar17 + -0x1c) = iVar12 + 0x18;
                  *(undefined1 **)(puVar17 + -0x20) = local_e0;
                  *(undefined4 *)(puVar17 + -0x24) = 0xd29ae;
                  local_90 = iVar12 + 0x18;
                  FUN_00074340();
                  piVar18 = (int *)(puVar17 + -4);
                  puVar17 = puVar17 + -4;
                }
              }
            }
          }
        }
      }
      else {
        if (puVar15 < param_4[0x2c]) {
          local_70 = (undefined **)0x0;
LAB_000d2a1f:
          *(undefined ***)((int)piVar18 + -8) = local_b8 + -0x615ed;
          *(undefined4 *)((int)piVar18 + -0xc) = 0x11c;
          *(int *)((int)piVar18 + -0x10) = (int)local_b8 + -0x19ca36;
                    /* WARNING: Subroutine does not return */
          *(undefined4 *)((int)piVar18 + -0x14) = 0xd2a40;
          FUN_002446e0();
        }
        uVar16 = (int)puVar15 - (int)param_4[0x2c];
        local_b0 = (undefined ***)param_4[0x30];
        if ((uint)((int)local_b0 - (int)param_4[0x2f] >> 2) <= uVar16) {
          *(undefined ***)((int)piVar18 + -8) = local_b8 + -0x6156c;
          *(undefined4 *)((int)piVar18 + -0xc) = 0x8ad;
          *(int *)((int)piVar18 + -0x10) = (int)local_b8 + -0x19cc7b;
                    /* WARNING: Subroutine does not return */
          *(undefined4 *)((int)piVar18 + -0x14) = 0xd2f8f;
          FUN_002446e0();
        }
        local_70 = *(undefined ***)(param_4[0x2f] + uVar16 * 4);
        if (local_70 == (undefined **)0x0) goto LAB_000d2a1f;
        if ((*(byte *)((int)local_70 + 0x2a) & 0x10) == 0) {
          if ((*(byte *)((int)local_70 + 0x2a) & 7) == 0) goto LAB_000d25f7;
LAB_000d29e2:
          local_f0 = (undefined **)local_70[0xc];
          bVar13 = 0;
          local_b4 = (undefined **)0x0;
          local_c0 = (undefined **)0x0;
          bVar24 = CARRY4((uint)local_bc,(uint)local_f0);
          local_c4 = local_bc + (int)local_f0;
          bVar26 = local_c4 == (undefined *)0x0;
        }
        else {
          *(undefined ***)((int)piVar18 + -0xc) = local_70;
          *(int *)((int)piVar18 + -0x10) = param_2;
          *(undefined4 *)((int)piVar18 + -0x14) = 0xd29d2;
          local_70 = (undefined **)FUN_0034cd90();
          if ((*(byte *)((int)local_70 + 0x2a) & 7) != 0) goto LAB_000d29e2;
LAB_000d25f7:
          local_f0 = (undefined **)local_70[0xc];
          local_c0 = (undefined **)local_70[2];
          local_c4 = local_bc + (int)local_f0;
          if (((uint)local_c0[0xb] & 1) == 0) {
            local_b4 = (undefined **)local_70[3];
            bVar13 = *(byte *)((int)local_70 + 0x2b) >> 5 & 1;
            bVar24 = (*(byte *)(local_70 + 10) & 0xf) < 2;
            bVar26 = (*(byte *)(local_70 + 10) & 0xf) == 2;
            if (bVar26) {
              bVar24 = false;
              bVar26 = local_d2 == '\0';
              if ((!bVar26) &&
                 (((bVar13 == 0 || (bVar26 = uVar21 == 0x17, 0x17 < uVar21)) ||
                  (bVar24 = (0x843f84U >> (uVar2 & 0x1f) & 1) != 0, !bVar24)))) {
                local_b0 = *(undefined ****)(param_2 + 0x15c);
                *(undefined4 *)((int)piVar18 + -0xc) = 1;
                *(undefined4 *)((int)piVar18 + -0x10) = 0;
                *(undefined *****)((int)piVar18 + -0x14) = &local_94;
                *(undefined ****)((int)piVar18 + -0x18) = &local_78;
                local_94 = local_b0 + 0xd;
                *(undefined ****)((int)piVar18 + -0x1c) = local_94;
                *(undefined1 **)((int)piVar18 + -0x20) = local_e0;
                    /* try { // try from 000d2cc6 to 000d2cca has its CatchHandler @ 000d302c */
                *(undefined4 *)((int)piVar18 + -0x24) = 0xd2ccb;
                local_78 = local_c0;
                local_74 = local_b4;
                FUN_00074280();
                bVar24 = (undefined1 *)0xffffffe3 < (undefined1 *)((int)piVar18 + -0x20);
                bVar26 = piVar18 == (int *)0x4;
                piVar18 = (int *)((int)piVar18 + -4);
              }
            }
          }
          else {
            local_b4 = (undefined **)0x0;
            bVar24 = false;
            bVar13 = 0;
            bVar26 = true;
            local_c0 = (undefined **)0x0;
          }
        }
        pbVar20 = *local_70;
        iVar19 = 8;
        pbVar9 = (byte *)((int)local_b8 + -0x19ca26);
        pbVar22 = pbVar20;
        do {
          if (iVar19 == 0) break;
          iVar19 = iVar19 + -1;
          bVar24 = *pbVar9 < *pbVar22;
          bVar26 = *pbVar9 == *pbVar22;
          pbVar9 = pbVar9 + (uint)bVar27 * -2 + 1;
          pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;
        } while (bVar26);
        bVar25 = false;
        bVar24 = (!bVar24 && !bVar26) == bVar24;
        if (bVar24) {
          pbVar20 = pbVar20 + 8;
        }
        else {
          iVar19 = 7;
          pbVar9 = (byte *)((int)local_b8 + -0x19ca1d);
          pbVar22 = pbVar20;
          do {
            if (iVar19 == 0) break;
            iVar19 = iVar19 + -1;
            bVar25 = *pbVar9 < *pbVar22;
            bVar24 = *pbVar9 == *pbVar22;
            pbVar9 = pbVar9 + (uint)bVar27 * -2 + 1;
            pbVar22 = pbVar22 + (uint)bVar27 * -2 + 1;
          } while (bVar24);
          pbVar20 = pbVar20 + 7;
          if ((!bVar25 && !bVar24) != bVar25) {
            pbVar20 = local_d8;
          }
        }
        local_d8 = pbVar20;
        if (local_d1 != '\0') {
          if (bVar13 == 0) {
            local_34 = (undefined **)0x0;
            local_30 = (undefined **)0x0;
          }
          else {
            local_34 = local_c0;
            local_30 = local_b4;
          }
          local_b0 = &local_34;
          *(undefined ****)((int)piVar18 + -0xc) = local_b0;
          *(int *)((int)piVar18 + -0x10) = local_c8;
          *(undefined4 *)((int)piVar18 + -0x14) = 0xd26b9;
          FUN_00073b00();
          puVar1 = *(undefined4 **)(local_cc + 4);
          if (puVar1 == *(undefined4 **)(local_cc + 8)) {
            *(undefined ****)((int)piVar18 + -8) = &local_70;
            *(undefined4 **)((int)piVar18 + -0xc) = puVar1;
            *(int *)((int)piVar18 + -0x10) = local_cc;
            *(undefined4 *)((int)piVar18 + -0x14) = 0xd2b4b;
            FUN_000726c0();
          }
          else {
            *puVar1 = local_70;
            *(undefined4 **)(local_cc + 4) = puVar1 + 1;
          }
          *(undefined ****)((int)piVar18 + -0xc) = local_b0;
          *(undefined ***)((int)piVar18 + -0x10) = local_e8;
          local_34 = local_f0;
          local_30 = (undefined **)0x0;
          local_2c = local_bc;
          local_28 = (int)local_bc >> 0x1f;
          *(undefined4 *)((int)piVar18 + -0x14) = 0xd270d;
          FUN_00073e70();
          local_30 = (undefined **)0x0;
          local_34 = (undefined **)*param_7;
          puVar1 = *(undefined4 **)(local_d0 + 4);
          if (puVar1 == *(undefined4 **)(local_d0 + 8)) {
            *(undefined ****)((int)piVar18 + -8) = local_b0;
            *(undefined4 **)((int)piVar18 + -0xc) = puVar1;
            *(int *)((int)piVar18 + -0x10) = local_d0;
            *(undefined4 *)((int)piVar18 + -0x14) = 0xd2bbd;
            FUN_00072a40();
          }
          else {
            *puVar1 = local_34;
            puVar1[1] = 0;
            *(undefined4 **)(local_d0 + 4) = puVar1 + 2;
          }
          local_68 = (undefined **)0x0;
          *(undefined ****)((int)piVar18 + -0xc) = &local_68;
          *(int *)((int)piVar18 + -0x10) = local_ec;
          *(undefined4 *)((int)piVar18 + -0x14) = 0xd2753;
          FUN_00074020();
        }
        puVar17 = (undefined1 *)piVar18;
        if (bVar13 != 0) goto LAB_000d275e;
      }
LAB_000d2489:
      local_e4 = local_e4 + 1;
      param_7 = param_7 + 3;
    } while (param_8 != local_e4);
  }
  if (local_4c[0] != local_f8) {
    *(byte **)((int)piVar18 + -0x10) = local_4c[0];
    *(undefined4 *)((int)piVar18 + -0x14) = 0xd2c22;
    FUN_003ae080();
  }
  if ((local_60 != 0) && (local_5c != 0)) {
    *(undefined ***)((int)piVar18 + -0x10) = local_b8 + -0x60d6c;
    *(undefined4 *)((int)piVar18 + -0x14) = 0xd2c4a;
    uVar8 = gettext();
    *(undefined4 *)((int)piVar18 + -0x10) = uVar8;
    uVar8 = local_54;
    *(undefined4 *)((int)piVar18 + -0x14) = 0;
    *(undefined4 *)((int)piVar18 + -0x18) = uVar8;
    *(undefined4 *)((int)piVar18 + -0x1c) = local_58;
    *(int *)((int)piVar18 + -0x20) = local_5c;
    *(undefined4 *)((int)piVar18 + -0x24) = 0xd2c5f;
    FUN_0023bd50();
  }
  return;
}

